Broadcast message are discarded by 40G NIC

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 a 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 works perfectly.

What I'm missing?

Thanks Dima