1inteth_header(structsk_buff *skb,structnet_device *dev, u16 type,void*daddr,void*saddr,intlen)2{3//将skb->data = skb->data + ETH_ALEN;4structethhdr *eth = (structethhdr*)skb_push(skb, ETH_ALEN);56if(type !=ETH_P_802_3)7eth->proto = htons(type);//htons()将本地类型转换...
1. 首先创建一个 Linux 通用的 net_device 结构体保存设备的配置信息,进入 vlan_newlink 之后,会进行 vlan_check_real_dev 检查传入的 VLAN id 是否是可用的,这其中会调用到 vlan_find_dev 方法,这个方法用于针对一个主设备查找到符合条件的子设备,后面还会用到,我们截取一部分代码观察一下: static int vlan_...
1. 首先创建一个 Linux 通用的 net_device 结构体保存设备的配置信息,进入 vlan_newlink 之后,会进行 vlan_check_real_dev 检查传入的 VLAN id 是否是可用的,这其中会调用到 vlan_find_dev 方法,这个方法用于针对一个主设备查找到符合条件的子设备,后面还会用到,我们截取一部分代码观察一下: static int vlan_...