netdevice 与 网络初始化
一、基本概念 <include/linux/netdevice.h>
net_device 数据结构存储着特定网络设备的所有信息。
网络设备驱动程序必须依靠这个数据结构。
该结构分成以下几段:
* 配置( net_device_ops )
* 统计数据 ()
* 设备状态(flags)
* 列表管理
* 流量管理
* 功能专用
* 通用(name, mac, mtu, flags, multicast address)
* 函数指针
struct net_device {
char name[IFNAMSIZ]; // 接口名称
char *ifalias; // 接口别名
unsigned long mem_end; // 接口在内存结束
unsigned long mem_start; // 接口在内存开始
unsigned long base_addr; // 接口的基址
int irq; // 中断信号
}
这个数据结构由 alloc_netdev 来分配 net/core/dev.c
网络初始化: 静态编译或者模块方式
__devinit 或 __init include/linux/init.h
New API 在网络设备中
使用轮循方式查看数据,适用于高负载的情况。

浙公网安备 33010602011771号