Linux网卡驱动开发总结

 

1. 网络子系统

 

* 系统调用接口

* 协议无关层

* 协议实现层

* 驱动无关层

* 驱动程序层

 

注:调用接口<->协议层<->驱动程序

 

2. 网卡驱动程序

* 位于数据链路层

 

3. 关键数据结构

* struct net_device

* struct sk_buffer

 

4. 初始化

* 生成net_device,并初始化其成员

* 根据需要,对网卡自身寄存器进行设置,如端口类型选择、双工选择等等

 

5. 接收

* 通过中断

* 主要流程

   分配skb

   读数据

   netif_rx(skb)

 

6. 发送

* hard_start_transmit

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值