首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

关于linux网卡驱动解决思路

2013-01-04 
关于linux网卡驱动小弟目前在看网卡驱动的代码,有一点疑惑,望各位大虾指点:问题1.在一般的网卡模型中,若采

关于linux网卡驱动
小弟目前在看网卡驱动的代码,有一点疑惑,望各位大虾指点:
问题1.在一般的网卡模型中,若采用 ZERO COPY 方式,当网卡受到数据包时,是否在触发中断的时候,数据包已经从网卡硬件缓存DMA到了内存的环形缓冲区???
问题2.究竟收包的中断是在何时被触发,是在环形缓冲区已满的时候,还是每收到一个包就触发一次中断??
问题3.若环形缓冲区已满,那么网卡该如何处理?收到的包放在哪里???


[解决办法]
1  网卡接收的buffer直接给应用或者驱动用,不需要拷贝。这个buffer是硬件必须的,驱动给配置的。如果有拷贝,就要将这段内存再拷贝到其他内存。
2。有中断触发,也可以查询,看硬件手册。
3。可能丢弃,看硬件手册,每个buffer都应该还有个状态标志。

热点排行