华清远见 接收流程
数据接收流程 (1)网络设备接收数据的主要方法是由中断引发设备的中断处理函数,中断处理函数判断中断类型,如果为接收中断,则读取接收到的数据,分配 sk_buffer数据结构和数据缓冲区,将接收到的数据拷入数据缓冲区,并调用 netif_rx()将 sk_buffer传递给上层协议。网络设备驱动 poll中断处理函数模板static irqreturn_t net_interrupt(int irq, void *dev_id){ switch(status & ISQ_EVENT_MASK) { case ISQ_RECEIVER_EVENT: /* Got a packet(s). */ net_rx(dev); break; ...} static void net_rx(struct net_device *dev){ skb = dev_alloc_skb(length + 2); skb_reserve(skb, 2); /* longword align L3 header */ skb>protocol=eth_type_trans(skb,dev); netif_rx(skb); lp>stats.rx_packets++; lp>stats.rx_bytes += length;}
,NONNAPI
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库Liunx网络驱动编程(8)在线全文阅读。
相关推荐: