发布时间:2013-08-26 11:53:21
kernel:linux-2.6.18Packet_type数据结构包含协议类型、指向网络设备的指针、指向协议的接收数据处理例程的指针等。结构体:点击(此处)折叠或打开struct packet_type { __be16 &n.........【阅读全文】
发布时间:2013-08-08 13:46:51
kernel:linux-2.6.18点击(此处)折叠或打开/* net_rx_action会把剩下budget传递给process_backlog */static int process_backlog(struct net_device *backlog_dev, int *budget){ int work = 0; &nb.........【阅读全文】
发布时间:2013-08-06 14:55:07
kernel:linux-2.6.18点击(此处)折叠或打开static void net_rx_action(struct softirq_action *h){struct softnet_data *queue = &__get_cpu_var(softnet_data);unsigned long start_time = jiffies;int budget = netdev_budget;.........【阅读全文】
发布时间:2013-07-18 15:15:30
网卡驱动通过调用netif_rx函数,把数据送入到协议栈中。 代码中用到一个数据结构 softnet_data ,在网卡收发数据的时候,需要维护一个缓冲区队列,来缓存数据,在协议栈中用一个队列层来表示该缓冲区,队列层位于数据链路层和网络层之间。softnet_data 就是数据链路层中的数据结构,它是一个Per-CPU变量,每个CPU都.........【阅读全文】