在Linux系统中,网络设备都被抽象为struct net_device结构体。它是网络设备硬件与上层协议之间联系的接口,了解它对编写网络驱动程序非常有益,所以本文将着手简要介绍linux-2.6.38.8/include/linux/netdevice.h文件中struct net_device结构体的所有成员(没有按照它们定义的顺序)。
1、网络设备相关信息
(1)、设备名
在Linux系统中,每个网络设备都有一个唯一的设备名(如eth0,字母部分代表网络设备的类型,数字部分代表此类网络设备的数量)。
(2)、电源管理服务质量( power managementQuality Of Service)
用于Wi-Fi和千兆以太网,可以帮助控制网络的延迟和带宽的需求,以达到在可用的前提下省电的目的。
(3)、硬件信息
(4)、标识符
(5)、分配套接字缓冲区时预留空间的长度
(6)、在sysfs文件系统中输出网络设备信息
(7)、网络设备相关链表
(8)、混杂模式
(9)、网络层协议特定数据