Hi all, I'm having a problem with the following 40G NIC adaptor when using DPDK 18:
*04:00.3 Ethernet controller: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ (rev 02)* The DPDK uses driver *net_i40e*. Apparently NIC drops broadcast packet with source MAC it owns. Here is a more detailed description of what is going on. I have High-Availability environment with two routers. Both routers registered by means of *rte_eth_dev_mac_addr_add*() Virtual MAC (00:00:5e:00:01:64) in addition to a physical burned-in MAC. When the primary router sending broadcast VRRP-advertise message with source MAC set to Virtual MAC, the secondary route's adapter seems to drop the packet. This is how the message looks like: > 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 > Same code, same DPDK version but with 1G NICs work perfectly. What I'm missing? Thanks Dmitry -- -----
