主要流程:收取信息
网卡产生中断,驱动处理cp_interrupt--> __netif_rx_schedule---> __raise_softirq_irqoff(NET_RX_SOFTIRQ)
产生软中断
net_rx_action --> dev->poll(dev, &budget) --> process_backlog --> netif_receive_skb-->deliver_skb --> pt_prev->func(skb, skb->dev, pt_prev, orig_dev) --> ip_rcv (NF_HOOK( NF_IP_PRE_ROUTING)) --> ip_rcv_finish ---> ip_local_deliver(NF_HOOK(NF_IP_LOCAL_IN)) --> ip_local_deliver_finish --> ipprot->handler(skb)
net/core/dev.c
177 struct net_device *dev_base; //all registered network devices linked into this link
cp_open--->request_irq() //这里设置中断处理函数
Trackback: http://tb.donews.net/TrackBack.aspx?PostId=1177942