DPDK patches and discussions
 help / color / mirror / Atom feed
From: Srinivasan J <srinidpdk@gmail.com>
To: dev@dpdk.org
Subject: Re: [dpdk-dev] Kni interface unable to receive ipv6 solicited node multicast addressed frames
Date: Sat, 25 Jan 2020 07:39:37 +0530	[thread overview]
Message-ID: <CAEbeQ+oV4kZs9ucNV8+C-MqGJa3D8CfpunZPkMPyWT_HBv_Mxg@mail.gmail.com> (raw)
In-Reply-To: <CAEbeQ+rkQCUdTWZmp-7TfBmyjkgEGxd92Rpo-9t0Dv_73WOngw@mail.gmail.com>

Calling rte_eth_allmulticast_enable() in the DPDK KNI sample app
solved the issue. Sharing the fix so that it will be helpful for
others facing similar issue.

Regards,
Srini

/dpdk-stable-18.08.1/examples/kni/main.c

@@ -618,8 +619,10 @@
                rte_exit(EXIT_FAILURE, "Could not start port%u (%d)\n",
                                                (unsigned)port, ret);

-       if (promiscuous_on)
+       if (promiscuous_on) {
+              rte_eth_allmulticast_enable(port);
                rte_eth_promiscuous_enable(port);
+       }

Corresponding flags/settings in the dVswitch post calling
rte_eth_allmulticast_enable() in KNI app.

/net/portsets/DvsPortset-0/ports/50331671/> cat status
port {
   port index:23
   portCfg:
   dvPortId:17
   clientName:Ubuntu 18 64bit.eth1
   clientType:port types: 5 -> VMM Virtual NIC
   clientSubType:port types: 9 -> Vmxnet3 Client
   world leader:180572
   flags:port flags: 0xc01d3 -> IN_USE ENABLED WORLD_ASSOC RX_COALESCE
TX_COALESCE TX_COMP_COALESCE CONNECTED MULTICAST_ROUTER
   Impl customized blocked flags:0x00000000
   Passthru status:: 0x20 -> DISABLED_BY_PG
   fixed Hw Id:00:50:56:80:b3:6e:
   ethFRP:frame routing {
      requested:filter {
         flags:0x0000000d
         unicastAddr:00:50:56:80:b3:6e:
         numMulticastAddresses:0
         multicastAddresses:
         LADRF:[0]: 0x0
         [1]: 0x0
      }
      accepted:filter {
         flags:0x0000000d
         unicastAddr:00:50:56:80:b3:6e:
         numMulticastAddresses:0
         multicastAddresses:
         LADRF:[0]: 0x0
         [1]: 0x0
      }
   }
   filter supported features:features: 0 -> NONE
   filter properties:properties: 0 -> NONE
   rx mode:properties: 0 -> INLINE
   tune mode:Tuning mode: 0 -> default
}

On Thu, Jan 23, 2020 at 9:06 PM Srinivasan J <srinidpdk@gmail.com> wrote:
>
> On further investigation, it' seen that the dvSwitch does not have any
> multicast MAC registered when using DPDK vmxnet3 poll mode driver
> along with the KNI sample app post configuring IPv6 address on the
> vEth0 KNI interface. The same interface when used with the kernel
> driver works fine. Any help or pointers are really appreciated.
>
> Regards,
> Srini
>
> Non Working case: Using DPDK sample KNI interface in the same Ubuntu
> ================
> /net/portsets/DvsPortset-0/ports/50331667/> cat status
> port {
>    port index:19
>    portCfg:
>    dvPortId:17
>    clientName:Ubuntu 18 64bit.eth1
>    clientType:port types: 5 -> VMM Virtual NIC
>    clientSubType:port types: 9 -> Vmxnet3 Client
>    world leader:180572
>    flags:port flags: 0x401d3 -> IN_USE ENABLED WORLD_ASSOC RX_COALESCE
> TX_COALESCE TX_COMP_COALESCE CONNECTED
>    Impl customized blocked flags:0x00000000
>    Passthru status:: 0x20 -> DISABLED_BY_PG
>    fixed Hw Id:00:50:56:80:b3:6e:
>    ethFRP:frame routing {
>       requested:filter {
>          flags:0x00000019
>          unicastAddr:00:50:56:80:b3:6e:
>          numMulticastAddresses:0
>          multicastAddresses:
>          LADRF:[0]: 0x0
>          [1]: 0x0
>       }
>       accepted:filter {
>          flags:0x00000009
>          unicastAddr:00:50:56:80:b3:6e:
>          numMulticastAddresses:0
>          multicastAddresses:
>          LADRF:[0]: 0x0
>          [1]: 0x0
>       }
>    }
>    filter supported features:features: 0 -> NONE
>    filter properties:properties: 0 -> NONE
>    rx mode:properties: 0 -> INLINE
>    tune mode:Tuning mode: 0 -> default
> }
>
> Working case: Using Kernel interface in Ubuntu
> ===========
> /net/portsets/DvsPortset-0/ports/50331667/> cat status
> port {
>    port index:19
>    portCfg:
>    dvPortId:17
>    clientName:Ubuntu 18 64bit.eth1
>    clientType:port types: 5 -> VMM Virtual NIC
>    clientSubType:port types: 9 -> Vmxnet3 Client
>    world leader:180572
>    flags:port flags: 0x401d3 -> IN_USE ENABLED WORLD_ASSOC RX_COALESCE
> TX_COALESCE TX_COMP_COALESCE CONNECTED
>    Impl customized blocked flags:0x00000000
>    Passthru status:: 0x20 -> DISABLED_BY_PG
>    fixed Hw Id:00:50:56:80:b3:6e:
>    ethFRP:frame routing {
>       requested:filter {
>          flags:0x0000000b
>          unicastAddr:00:50:56:80:b3:6e:
>          numMulticastAddresses:6
>          multicastAddresses:01:00:5e:00:00:01,01:80:c2:00:00:00,01:80:c2:00:00:03,01:80:c2:00:00:0e,33:33:00:00:00:01,33:33:ff:80:b3:6e,
>          LADRF:[0]: 0x0
>          [1]: 0x0
>       }
>       accepted:filter {
>          flags:0x0000000b
>          unicastAddr:00:50:56:80:b3:6e:
>          numMulticastAddresses:6
>          multicastAddresses:01:00:5e:00:00:01,01:80:c2:00:00:00,01:80:c2:00:00:03,01:80:c2:00:00:0e,33:33:00:00:00:01,33:33:ff:80:b3:6e,
>          LADRF:[0]: 0x0
>          [1]: 0x0
>       }
>    }
>    filter supported features:features: 0x1 -> LRO
>    filter properties:properties: 0 -> NONE
>    rx mode:properties: 0 -> INLINE
>    tune mode:Tuning mode: 0 -> default
> }
>
> On Fri, Jan 17, 2020 at 10:56 PM Srinivasan J <srinidpdk@gmail.com> wrote:
> >
> > Hi,
> >    I observed that DPDK kni interface is not able to receive solicited
> > node multicast addressed (derived from the IPv6 address configured on
> > vEth0 interface) when the kni sample app is being run in Ubuntu VM on
> > ESXI server. The only way to have the frames reach the kni interface
> > is by setting the promiscuous mode in dvSwitch. However regular kernel
> > interface with IPv6 address on the same vmxnet3 port works fine
> > without having to set promiscuous mode in the dvSwitch. Has anyone
> > seen this issue before? Any suggestions to have kni interface working
> > with ipv6 addresses in non promiscuous mode of dvSwitch.
> >
> > Ubuntu version used  = Ubuntu 18.04.3 LTS
> > DPDK version: 18.08.1
> > VMware ESXI 6.5.0
> >
> > auto@auto_ubuntu18:~/source/dpdk-stable-18.08.1/usertools$ uname -a
> > Linux auto_ubuntu18 4.15.0-74-generic #84-Ubuntu SMP Thu Dec 19
> > 08:06:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
> >
> > sudo /tmp/kni -l 6-7  -- -P -p 0x1 --config="(0,6,7)"
> >
> > Thanks,
> > Srini

      reply	other threads:[~2020-01-25  2:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-17 17:26 Srinivasan J
2020-01-23 15:36 ` Srinivasan J
2020-01-25  2:09   ` Srinivasan J [this message]

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=CAEbeQ+oV4kZs9ucNV8+C-MqGJa3D8CfpunZPkMPyWT_HBv_Mxg@mail.gmail.com \
    --to=srinidpdk@gmail.com \
    --cc=dev@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).