Chinaunix首页 | 论坛 | 博客
  • 博客访问: 438730
  • 博文数量: 99
  • 博客积分: 65
  • 博客等级: 民兵
  • 技术积分: 1012
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-20 16:30
个人简介

linux kernel 工程师

文章分类

全部博文(99)

文章存档

2018年(5)

2017年(12)

2016年(27)

2015年(10)

2014年(43)

2012年(2)

我的朋友

发布时间:2014-02-14 09:06:34

qdisc_restart--->sch_direct_xmit--->dev_hard_start_xmit(skb, dev, txq)---->rc = ops->ndo_start_xmit(skb, dev);/* * NOTE: Called under qdisc_lock(q) with locally disabled BH. * * __QDISC_STATE_RUNNING guarantees only one CPU can process * this qdisc at a time. qdisc_loc.........【阅读全文】

阅读(1530) | 评论(0) | 转发(0)

发布时间:2014-02-14 08:54:33

qdisk_run 是对__qdisc_run的一个封装,仅仅会被NET_TX_SOFTIRQ对应的软中断服务程序net_tx_action调用。在调用__qdisc_run之前设置__QDISC___STATE_RUNNING状态 
qdisk running 状态的操作包括设置,清除和查询......【阅读全文】

阅读(1267) | 评论(0) | 转发(0)

发布时间:2014-02-13 17:57:30

void __qdisc_run(struct Qdisc *q){ int quota = weight_p; while (qdisc_restart(q)) {  // qdisc_restart才是真正的核心 //  如果qdisc_restart返回值大于0,表示队列非空;返回0表示队列空了或者发送失败  /*   * Ordered by possible occurrence: Postpone .........【阅读全文】

阅读(2797) | 评论(0) | 转发(0)

发布时间:2014-02-11 17:48:28

__netif_receive_skb用来实现驱动与协议栈的结合static int __netif_receive_skb(struct sk_buff *skb){ struct packet_type *ptype, *pt_prev; rx_handler_func_t *rx_handler; struct net_device *orig_dev; struct net_device *null_or_dev; bool deliver_exact = false; in.........【阅读全文】

阅读(4117) | 评论(0) | 转发(0)

发布时间:2014-02-11 17:10:29

dev_add_pack用来实现项协议栈增加协议handlerstruct packet_type { __be16   type; /* This is really htons(ether_type). */    //用来与skb->protocol进行匹配 struct net_device *dev; /* NULL is wildcarded here      */&.........【阅读全文】

阅读(2043) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册