概述
在Linux系统中,网络设备都被抽象为struct net_device结构体。它是网络设备硬件与上层协议之间联系的接口,了解它对编写网络驱动程序非常有益,所以本文将着手简要介绍linux-2.6.38.8/include/linux/netdevice.h文件中struct net_device结构体的所有成员(没有按照它们定义的顺序)。
1、网络设备相关信息
(1)、设备名
1 2 |
|
在Linux系统中,每个网络设备都有一个唯一的设备名(如eth0,字母部分代表网络设备的类型,数字部分代表此类网络设备的数量)。
(2)、电源管理服务质量( power managementQuality Of Service)
1 |
|
用于Wi-Fi和千兆以太网,可以帮助控制网络的延迟和带宽的需求,以达到在可用的前提下省电的目的。
(3)、硬件信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
|
(4)、标识符
1 2 3 |
|
(5)、分配套接字缓冲区时预留空间的长度
1 2 |
|
(6)、在sysfs文件系统中输出网络设备信息
1 2 |
|
(7)、网络设备相关链表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
(8)、混杂模式
1 2 3 4 |
|
(9)、网络层协议特定数据
1 2 3 4 5 6 7 8 9 10 |
|
(10)、设备硬件功能特性
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
|
(11)、分配net_device结构体及其私有数据时为对齐所需的填充位数目
1 |
|
(12)、其他信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
2、网络设备的运行状态
(1)、网络设备物理上的工作状态
1 2 3 4 5 6 7 8 9 10 |
|
(2)、网络设备通信模式或状态
1 2 3 4 |
|
(3)、统计信息
1 2 3 |
|
(4)、RFC2863协议相关
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
(5)、传输超时
1 2 3 4 5 6 7 8 |
|
(6)、设备注册/注销状态机
1 2 3 4 5 6 7 |
|
(7)、引用计数
1 |
|
(8)、分组状态
1 |
|
(9)、RTNL初始化状态
1 2 3 4 |
|
3、网络设备的操作函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
4、数据包的收发队列
(1)、接收队列
1 2 3 4 5 6 7 8 |
|
(2)、发送队列
1 2 3 4 5 6 7 8 |
|
最后
以上就是重要小懒虫为你收集整理的网络驱动之net_device结构体的全部内容,希望文章能够帮你解决网络驱动之net_device结构体所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复