1.netif_receive_skb_internal的实现 static int netif_receive_skb_internal(struct sk_buff *skb) { int ret; net_timestamp_check(netdev_tstamp_prequeue, skb);//记录收包时间 if (skb_defer_rx_timestamp(skb)) return NET_RX_SUCCESS; rcu_read_lock(); /*RPS逻辑处理,现在内核中使用了RPS机制,...
在最新的3.19内核代码中,非NAPI的调用流程如下:neif_rx会调用enqueue_to_backlog 将skb存入softnet_data,并调用___napi_schedule函数。netif_rx===>netif_rx_internal===>enqueue_to_backlog===>___napi_schedule===>net_rx_action===>process_backlog===>__netif_receive_skbe100网卡的N...
@@ -139,13 +139,6 @@ chained skbs (skb->next/prev list). Features contained in NETIF_F_SOFT_FEATURES are features of networking stack. Driver should not change behaviour based on them. * netns-local device NETIF_F_NETNS_LOCAL is set for devices that are not allowed to move between ...