1. Linux 系统对网络设备驱动定义了4个层次,这4个层次为网络协议接口层、网络设备接口层、提供实际功能的设备驱动功能层 和 网络设备与媒介层。
2. 网络协议接口层 向 网络层协议 提供统一的 数据包收发接口,不论上层协议为 ARP 还是 IP,都通过 dev_queue_xmit() 函数 发送数据,并通过 netif_rx() 函数 接收数据。
3. 网络设备接口层 向 协议接口层 提供统一的用于描述具体网络设备属性和操作的结构体 net_device,该结构体是设备驱动功能层中各函数的容器。
4. 在设计具体的网络设备驱动程序时,我们需要完成的主要工作是编写设备驱动功能层的相关函数以填充 net_device 数据结构的内容并将 net_device 注册入内核。
5. sk_buff结构体非常重要,它的含义为“套接字缓冲区”,用于在 Linux 网络子系统中的各层之间传递数据
6.
标签:接口,Linux,device,驱动,网络设备,net From: https://www.cnblogs.com/kunshanpipixia/p/18001890