红联Linux门户
Linux帮助

linux网卡驱动的关键就是处理两个问题

发布时间:2008-05-02 21:29:26来源:红联作者:Version
1、如何发送数据
也就是ndev->hard_start_xmit 函数的实现啦。

从上层扔下来的sk_buff中拿到数据,放到网卡的缓冲区里面。

2、如何接收数据
数据的接收是不用提供驱动接口的。

目前多采用中断接收,然后将网卡缓冲区的数据重新打包为sk_buff,扔给上层即可。

netif_rx(skb);

既然接收程序不是驱动提供的接口,可以很灵活的实现。我们可以另外写个驱动,启动个定时器,周期构造sk_buff,扔给上层即可。这样做没有什么意义,但可以更好的理解接收是怎么回事。
文章评论

共有 0 条评论