内核协议栈数据包转发
目录
1 NAPI流程与非NAPI
NAPI驱动流程
非NAPI流程
NAPI和非NAPI的区别
2内核接受数据
2.1数据接收过程
2.2 采取DMA技术实现
3 e100采用NAPI接收数据过程
3.1 e100_open 启动e100网卡
3.2 e100_rx_alloc_list 建立环形缓冲区
3.3 e100_rx_alloc_skb 分配skb缓存
3.4 e100_poll 轮询函数
3.5 e100_rx_clean 数据包的接收和传输
3.6 e100_rx_indicate
4 队列层
4.1、软中断与下半部
4.2、队列层
5采用非NAPI接收数据过程
5.1netif_rx
5.2轮询与中断调用netif_rx_schedule不同点
5.3 netif_rx_schedule
5.4 net_rx_action
5.5 process_backlog
6数据包进入网络层
6.1 netif_receive_skb():
6.2 ip_rcv():
6.3 ip_rcv_finish():
6.4 dst_input():
6.5本地流程ip_local_deliver:
6.6转发流程ip_forward():
1 NAPI流程与非NAPI
1.1NAPI驱动流程:中断发生? ? --确定中断原因是数据接收完毕(中断原
原创力文档

文档评论(0)