人生的每个阶段都有些许的烦恼、厌倦与困惑,如何自我调整与拯救?
============================================
网卡驱动接收数据相关代码:
(1) 假定网卡使用MSI中断。在MSI中断的处理函数中有如下代码:触发软中断
(2)网卡接收软中断的具体实现:Dev.c (/linux-2.6.21/net/core)。轮询poll_list里面的每个网卡设备,并调用网卡设备的poll函数,对该网卡的数据进行处理。
(3)poll的初始化,在网卡初始化的时候挂接该网卡的poll函数。
(4) poll implement:调用接口处理该网卡环行队列中的数据帧,每次最多处理poll_dev->quota个数据帧。
(5) 对数据帧进行处理接口的初始化:e1000_open->e1000_up->e1000_configure_rx(struct e1000_adapter *adapter)
(6)对数据帧处理的具体函数实现,将处理后的数据包发送到L3: