首页 > Web开发 > 详细

netmap

时间:2017-06-02 21:46:45      阅读:771      评论:0      收藏:0      [点我收藏+]

利用netmap抓ixgbe网卡上的以太网帧,跟e1000e网卡有区别。

使用e1000、e1000e网卡发以太网帧只要以太网帧的格式正确就可以了。只要格式和 目的MAC、源MAC地址正确,网卡就可以收到以太网帧,类型可以自定义,也可以使用已经定义的类型 0x0800(IP报文),0x0806(ARP报文)。

以太网帧格式:

      6字节         6字节      2字节    46-1500字节   4字节
+-----------+-----------+-------+--------------+-------+
|  目的MAC  |   源MAC   |  类型  |      数据        |  FCS  |
+-----------+-----------+-------+--------------+-------+

但是上面说的这些放到ixgbe网卡上就不适用了。使用e1000e网卡测试的程序用的类型是自己随便写的 0x0102,根据以太网类型对照表来看,对应的协议是实验,e1000e网卡是可以收到以太网帧的,但是向ixgbe网卡发送,就收不到。刚开始猜想是不是ixgbe网卡坏掉了,后来用udp测试程序收发数据包,ixgbe网卡可以收到udp数据包,那就猜想是不是ixgbe网卡对以太网帧的类型会有过滤,把类型改成 0x0806后,ixgbe网卡确实可以收到了。

跟e1000e网卡还有不同的就是,长度接近1500字节的以太网帧,e1000e网卡是可以接收的,但是ixgbe网卡不可以。

netmap

原文:http://www.cnblogs.com/yongren1zu/p/6934385.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!