网络设备驱动
1、Linux 网络类设备不在是基于文件操作(没有对应的映射到文件系统中的设备节点),而是套接字socket来实现通讯
2、Linux 网络子系统的架构图
各层次接口功能说明:
系统调用接口层:为应用程序提供访问网络子系统的统一方法。
协议无关层:提供通用的方法来使用传输层协议。
协议栈的实现:实现具体的网络协议
设备无关层:协议与设备驱动之前通信的通用接口
设备驱动程序:
3、驱动程序数据结构
数据包描述结构:struct sk_buff
a) 所在头文件:<linux/sk_buff.h>
b) sk_buff为Linux网络层提供高效的缓冲区处理和流量控制机制,对驱动开发来说比较关心的是sk_buff结构体中的以下数据:
struct sk_buff
{
unsigned int len, /*数据包包含的数据量*/
....
sk_buff_data_t tail; /* 用于指向</