网络驱动:数据结构与数据包处理解析
1. 以太网设备的初始化与卸载
以太网设备的设置和管理涉及到多个关键函数和数据结构。ether_ifattach函数用于为以太网设备设置ifnet结构,以下是其部分代码示例:
#ifdef VIMAGE ifp->if_reassign = ether_reassign; #endif if (ifp->if_baudrate == 0) ifp->if_baudrate = IF_Mbps(10); ifp->if_broadcastaddr = etherbroadcastaddr; // 其他设置代码...该函数接收ifnet结构ifp和链路层地址lla,为以太网设备设置ifp,包括分配适当的链路层例程到if_output、if_input、if_resolvemulti和if_reassign。
而ether_ifdetach函数则用于停用由ether_ifattach设置的ifnet结构,其定义如下: