DPDK usage discussions
 help / color / mirror / Atom feed
From: Dmitry B <dimsol@gmail.com>
To: users@dpdk.org
Subject: [dpdk-users] VRRP broadcast message is discarded X710 NIC
Date: Mon, 6 Jul 2020 10:55:50 +0300	[thread overview]
Message-ID: <CA+SXr75+SOBymcZ2j9YwXa0PM-pzKV_Wg-rBK7kV533iQQtnow@mail.gmail.com> (raw)

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

-- 
-----

                 reply	other threads:[~2020-07-06  7:56 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CA+SXr75+SOBymcZ2j9YwXa0PM-pzKV_Wg-rBK7kV533iQQtnow@mail.gmail.com \
    --to=dimsol@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).