网络接口卡驱动程序详解
1. 网络设备的分配与释放
在编写网络接口卡(NIC)驱动程序时,首先需要进行网络设备的分配与释放操作。以下是分配网络设备及其私有数据结构的实现示例:
struct net_device *net_dev;
struct priv_struct *priv_net_struct;
net_dev = alloc_etherdev(sizeof(struct priv_struct));
my_priv_struct = netdev_priv(dev);
对于不再使用的网络设备,应使用 free_netdev() 函数进行释放,该函数同时会释放为私有数据分配的内存。但需要注意,只有在设备从内核中注销后才能调用此方法:
void free_netdev(struct net_device *dev)
当 net_device 结构完成并填充好后,需要调用 register_netdev() 函数将其注册到内核中,以便设备可以被使用。不过,在调用此函数之前,要确保设备确实能够处理网络操作:
int register_netdev(struct net_device *dev)
2. 设备方法
网络设备属于不在 /dev 目录中出现的设
超级会员免费看
订阅专栏 解锁全文
3389

被折叠的 条评论
为什么被折叠?



