2019年(21)
发布时间:2019-02-05 10:43:24
Linux数据包NAPI处理流程1. 概念NAPI:linux新的网卡数据包处理API,采用新的数据包处理流程。round-robin:轮询调度调度算法。硬中断:由外设产生,主要是用来通知通过操作系统外设发生变化。比如当网卡收到数据包的时候,就会产生一个硬中断。软中断:为了满足实时性需要,中断处理应该是越快越好,当中断发生时,硬.........【阅读全文】
发布时间:2019-02-04 23:15:40
数据包在网卡驱动的中断处理中enqueue后,由process_backlog做后续的处理。process_backlog是由软中断处理函数net_rx_action调用的。process_backlog调用netif_receive_skb(已经到协议栈的入口了)对在queue中的报文进行处理(有个时间的配额).......【阅读全文】
发布时间:2019-02-03 16:29:44
网卡是用结构体net_device表述的,通过函数register_netdev来注册具体的网卡。mini2440的的网卡放在driver/net/dm9000.c中。网卡的数据发送在net_device->netdev_ops中定义。net_device->netdev_ops也是一个结构体(const struct net_device_ops *netdev_ops),其定义了如下操作:struct net_device_ops { n.........【阅读全文】