首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >广播消息被40G网卡丢弃。

广播消息被40G网卡丢弃。
EN

Stack Overflow用户
提问于 2020-07-08 10:20:14
回答 1查看 292关注 0票数 0

在使用DPDK 18时,以下40G网卡适配器有问题:

04:00.3以太网控制器:英特尔公司以太网控制器X710 for 10 rev SFP+ (rev 02)

DPDK使用驱动程序net_i40e。

显然,NIC用它拥有的源MAC掉落广播数据包。

下面是对正在发生的事情的更详细的描述。我有一个有两个路由器的高可用性环境。这两个路由器通过rte_eth_dev_mac_addr_add() Virtual (00:00:5e:00:01:64)注册,以及物理烧毁的MAC。当主路由器发送广播VRRP-将源MAC设置为Virtual的消息时,辅助路由的适配器似乎会丢弃数据包。

这条消息是这样的:

代码语言:javascript
复制
> Ethernet II, Src: 00:00:5e:00:01:64, Dst: ff:ff:ff:ff:ff:ff
>     Destination: ff:ff:ff:ff:ff:ff
>         Address: ff:ff:ff:ff:ff:ff
>         .... ..1. .... .... .... .... = LG bit: Locally administered
> address (this is NOT the factory default)
>         .... ...1 .... .... .... .... = IG bit: Group address
> (multicast/broadcast)
>     Source: 00:00:5e:00:01:64
>         Address: 00:00:5e:00:01:64
>         .... ..0. .... .... .... .... = LG bit: Globally unique address
> (factory default)
>         .... ...0 .... .... .... .... = IG bit: Individual address
> (unicast)
>     Type: IPv4 (0x0800)
> Internet Protocol Version 4, Src: 10.93.0.1, Dst: 255.255.255.255
>     0100 .... = Version: 4
>     .... 0101 = Header Length: 20 bytes (5)
>     Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
>         0000 00.. = Differentiated Services Codepoint: Default (0)
>         .... ..00 = Explicit Congestion Notification: Not ECN-Capable
> Transport (0)
>     Total Length: 32
>     Identification: 0x0000 (0)
>     Flags: 0x0000
>         0... .... .... .... = Reserved bit: Not set
>         .0.. .... .... .... = Don't fragment: Not set
>         ..0. .... .... .... = More fragments: Not set
>     ...0 0000 0000 0000 = Fragment offset: 0
>     Time to live: 255
>     Protocol: VRRP (112)
>     Header checksum: 0x0000 incorrect, should be 0xb110(may be caused by
> "IP checksum offload"?)
>     Source: 10.93.0.1
>     Destination: 255.255.255.255
> Virtual Router Redundancy Protocol
>     Version 3, Packet type 1 (Advertisement)
>         0011 .... = VRRP protocol version: 3
>         .... 0001 = VRRP packet type: Advertisement (1)
>     Virtual Rtr ID: 100
>     Priority: 254 (Non-default backup priority)
>     Addr Count: 1
>     0000 .... = Reserved: 0
>     .... 0000 0000 0001 = Adver Int: 1
>     Checksum: 0xf896 [correct]
>     [Checksum Status: Good]
>     IP Address: 0.31.205.8
>

相同的代码,相同的DPDK版本,但与1G NIC工作完美。

我错过了什么?

谢谢迪马

EN

回答 1

Stack Overflow用户

发布于 2020-07-09 09:54:15

基于chat的编辑-调试问题语句被缩小到当杂乱模式在FF:FF:FF:FF:FF:FF上禁用时无法接收到X710的数据包。

我在DPDK/examples/l2fwdDPDK/examples/skeleton中禁用了DPDK/examples/l2fwd,用PKT进行了测试,并使用了两种DST-MAC of NIC and FF:FF:FF:FF:FF:FF工作。

要允许mutlicast/boradcast帧x1:xx:xx:xx:xx:xx,需要启用rte_eth_allmulticast_enable

@dimba也可以免费进行测试,并探索rte_eth_dev_mac_addr_add是否导致了问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62792575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档