netdev_priv()函数

   net_device和网卡私有数据结构是一起分配的,要想获得网卡私有数据结构的地址,文件1中的函数netdev_priv直接返回了net_device结构末端地址,也就是网卡私有数据结构的起始地址。当然其中考虑了字节对齐的问题。至于为什么不直接返回:
sturct nic *nic = dev->priv;

《Linux Devcie Drivers》中说是为了性能和灵活性方面的考虑。

现在的话,直接引用dev->priv会提示没有该成员;不知道是不是修改之后的net_device结构发生了变化?


你可能感兴趣的:(netdev_priv()函数)