当前位置:   article > 正文

IgH详解七、ethercat实时网卡驱动_igh网卡驱动

igh网卡驱动

        IgH支持两种模式的网络驱动

        一、generic 通用模式的网卡驱动

        这种模式下是通过TCPIP协议栈对上层提供的socket接口来实现的,这种模式下网络收发的实时性取决于TCPIP协议栈的处理效率,一般实时性都不好,优点是通用性好,板卡自带的驱动就可以使用,不需要修改。

        二、实时网卡驱动

       以e1000e为例来对比,在普通网卡驱动上需要实现的功能来达到好的实时性。

1、在网卡probe过程中,把网卡驱动注册到ethercat dev上,取代注册到tcpip协议栈上,这样ethercat Dev就可以接管网络设备了。

 2、实时网卡是通过轮询方式来收发数据的,所以不需要使能网卡中断,同时网络处理数据报的队列和任务也不需要了,因为所有的数据直接提供给IgH处理了

 3、发送功能不需要做太多的修改,但是释放skb buff还是需要做一些优化的,原本的skb buff由TCPIP协议栈管理,在IgH中实际上是可以循环利用的,减少buff申请释放的时间

4、接收功能需要把原来提供给TCPIP协议栈的接口替换为提供给ecdev的接口,把接收到的报文直接提供给IgH处理

         上面说明了主要的实时性优化的点,实际上整个网卡驱动中还有一些其他需要修改点,主要是去掉TCPIP协议栈中需要的一些处理流程,IgH开源代码中提供了一些优化好的网卡驱动,如果有需要在新的网卡上进行优化的,可以参考IgH源码中优化的代码。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/826589
推荐阅读
相关标签
  

闽ICP备14008679号