1、入口函数和出口函数
(1)入口函数(主要关心net_dev_ops结构体)
(2)出口函数
2、net_dev_ops结构体(里面有发包函数)
3、发包函数(关心里面的上报sk_buff函数)
把skb的数据写入了网卡,因而能够释放skb.(数据全部发送出去应该是指sk_buff的数据发送到网卡队列)然后唤醒网卡队列,让网卡发送数据出去
4、上报sk_buff函数(构造假的包)
(1)对调源和目的的MAC地址和IP地址,修改type(0x8表示ping包,回复包用0表示),check校验码
(2)分配sk_buff并填充
(3)更新统计信息
(4)提交sk_buff
5、网卡相关参数
(1)TX packets(发送的包数)和TX bytes(发送的字节数)
这两个参数在发包函数里面运用net_device结构体里的net_device_stats结构体里的参数,其中skb->len是sk_buff结构体的字节数。
(2)MAC地址(在入口函数)