)设置网卡硬件相关的寄存器
3)设置net_device结构体的成员
4)使用register_netdev()来注册net_device结构体
4.网卡驱动发包过程
在内核中,当上层要发送一个数据包时,...2字节,来腾出sk_buff缓冲区里的头部空间
3)读取网络设备硬件上接收到的数据
4)使用memcpy()将数据复制到新的sk_buff里的data成员指向的地址处,可以使用skb_put()来动态扩大...()来注册net_device结构体
在发包函数中:
1)使用netif_stop_queue()来阻止上层向网络设备驱动层发送数据包
2)调用收包函数,并代入发送的sk_buff缓冲区, 里面来伪造一个收的...2字节,来腾出sk_buff缓冲区里的头部空间
7)使用memcpy()将之前修改好的sk_buff->data复制到新的sk_buff里的data成员指向的地址处:
memcpy(skb_put(rx_skb...()将之前修改好的sk_buff->data复制到新的sk_buff里*/
memcpy(skb_put(rx_skb, skb->len), skb->data, skb->len); //