数据包接收流程

1、数据包到达网卡设备
2、收到数据后网卡根据设置的hash规则(多队列网卡),决定将数据放到哪个ring buffer,然后通过DMA将数据放到内存,也就是网卡的ring buffer中
3、设备产生硬件中断,根据网卡设置的中断绑核通知对应CPU处理数据报文
4、对应CPU执行网络设备注册的中断处理函数,响应硬中断,将该设备添加到CPU轮询设备队列中,关闭网络设备中断响应,并唤醒软中断处理
5、系统根据RPS和RFS的设置,确定软中断在哪个CPU执行,对应CPU的NAPI软中断处理例程从CPU的轮询队列中按额度从ring buffer中poll数据报文skb并递交上层协议栈处理,收完报文后,恢复网卡设备中断响应
6、协议栈处理报文
7、报文递交至应用程序socket的receive buffers中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值