linux 的网络设备驱动层次图如下:
一 网络协议接口层向网络层协议提供统一的数据包收发接口
1>dev_queue_xmit()函数发送数据
2>netif_rx()函数接收数据
二 网络设备结构层向协议接口层提供统一的用于描述具体网络设备属性和操作的结构体net_device
三网络设备驱动功能层:
1>通过hard_start_xmit()函数发送
2>通过中断触发接收函数
套接字缓冲区 sk_buff的结构体非常重要,用于在Linux网络子系统中的各层之间传递数据,是Linux网络子系统数据传递的 “中枢神经”
待续 ... ...