1、如何发送数据
也就是ndev->hard_start_xmit 函数的实现啦。
从上层扔下来的sk_buff中拿到数据,放到网卡的缓冲区里面。
2、如何接收数据
数据的接收是不用提供驱动接口的。
目前多采用中断接收,然后将网卡缓冲区的数据重新打包为sk_buff,扔给上层即可。
netif_rx(skb);
既然接收程序不是驱动提供的接口,可以很灵活的实现。我们可以另外写个驱动,启动个定时器,周期构造sk_buff,扔给上层即可。这样做没有什么意义,但可以更好的理解接收是怎么回事。