linux kernel 工程师
全部博文(99)
发布时间:2014-02-11 17:48:28
__netif_receive_skb用来实现驱动与协议栈的结合static int __netif_receive_skb(struct sk_buff *skb){ struct packet_type *ptype, *pt_prev; rx_handler_func_t *rx_handler; struct net_device *orig_dev; struct net_device *null_or_dev; bool deliver_exact = false; in.........【阅读全文】
发布时间:2014-02-11 17:10:29
dev_add_pack用来实现项协议栈增加协议handlerstruct packet_type { __be16 type; /* This is really htons(ether_type). */ //用来与skb->protocol进行匹配 struct net_device *dev; /* NULL is wildcarded here */&.........【阅读全文】
发布时间:2014-02-11 14:23:32
softnet_data是个percpu变量/* * Incoming packets are placed on per-cpu queues */struct softnet_data { struct Qdisc *output_queue; struct Qdisc **output_queue_tailp; // napi->poll_list结构挂入这个list,包括NAPI接口的driver以及非NAPI接口的drive.........【阅读全文】
发布时间:2014-02-11 12:09:44
process_backlog是softnet_data->backlog的poll函数, 作为非NAPI接口的处理函数
net_rx_action调用poll函数时会使用它。......【阅读全文】