华清远见 发送流程
数据发送流
程①网络设备驱动程序从上层协议传递过来的 sk_buff参数获得数据包的有效数据和长度,将有效数据放入临时缓冲区。②对于以太网,如果有效数据的长度小于以太网冲突检测所要求数据帧的最小长度 ETH_ZLEN,则给临时缓冲区的末尾填充 0。③设置硬件的寄存器,驱使网络设备进行数据发送操作。网络设备驱动程序数据包发送函数模板 1 int xxx_tx(struct sk_buff *skb, struct net_device *dev) 2 { 3 int len; 4 char *data, shortpkt[ETH_ZLEN]; 5 /* 获得有效数据指针和长度 */ 6 data = skb>data; 7 len = skb>len; 16 … 17 dev>trans_start = jiffies; /* 记录发送时间戳 */ 18 19 /* 设置硬件寄存器让硬件把数据包发送出去 */ 20 xxx_hw_tx(data, len, dev); 21 ... 22}