《深入理解Linux网络技术内幕》阅读笔记(十)

中断处理函数会:
1.把帧拷贝到sk_buff数据结构。
2.对一些sk_buff参数做初始化,以便在稍后由上面的网络层使用。
3.更新其他一些该设备私用的参数。
4.为NET_RX_SOFTIRQ软IRQ调度以准备执行,借此通知内核新帧的事。
Netpoll:是一个通用的架构,可通过轮询网络适配卡(NIC)而传送及接收帧,把中断事件的需求删除掉。任何内核功能都可使用Netpoll,以受益于其功能。例如可以通过UDP把内核信息发送到远程主机。
这里写图片描述
这里写图片描述
这里写图片描述
backlog_dev:并不是一个实际上存在的网络设备,netif_rx_schedule()只是利用了其中的poll函数而已。在net_dev_init()中已经将其poll()初始化成process_backlog函数,故转入process_backlog()函数,再调用netif_receive_skb()根据包的类型送入上一层的协议栈。
netif_rx主要任务:
1.对sk_buff数据结构的一些字段做初始化(如接收帧的时间)。
2.把已接收的帧存储到CPU的私有输入队列,然后触发相关联的softirq(NET_RX_SOFTIRQ)以通知内核。
3.更新有关拥塞等级的统计数据。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值