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
prev parent 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).