DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Nélio Laranjeiro" <nelio.laranjeiro@6wind.com>
To: Yongseok Koh <yskoh@mellanox.com>, dev@dpdk.org
Cc: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Subject: Re: [dpdk-dev] [PATCH v2 6/7] net/mlx5: fix reception when VLAN is added
Date: Tue, 24 Oct 2017 09:34:34 +0200	[thread overview]
Message-ID: <20171024073434.5cbsrnzw7pjrjswm@laranjeiro-vm> (raw)
In-Reply-To: <20171024071142.3wsybjacfoa6i453@laranjeiro-vm>

On Tue, Oct 24, 2017 at 09:11:42AM +0200, Nélio Laranjeiro wrote:
> On Mon, Oct 23, 2017 at 12:25:45PM -0700, Yongseok Koh wrote:
> > On Mon, Oct 23, 2017 at 04:49:56PM +0200, Nelio Laranjeiro wrote:
> > > @@ -261,75 +284,59 @@ priv_dev_traffic_enable(struct priv *priv, struct rte_eth_dev *dev)
> > >  		};
> > >  
> > >  		claim_zero(mlx5_ctrl_flow(dev, &promisc, &promisc));
> > > -	} else if (dev->data->all_multicast) {
> > > +		return 0;
> > > +	}
> > > +	if (dev->data->all_multicast) {
> > >  		struct rte_flow_item_eth multicast = {
> > >  			.dst.addr_bytes = "\x01\x00\x00\x00\x00\x00",
> > > -			.src.addr_bytes = "\x01\x00\x00\x00\x00\x00",
> > > +			.src.addr_bytes = "\x00\x00\x00\x00\x00\x00",
> > >  			.type = 0,
> > >  		};
> > >  
> > >  		claim_zero(mlx5_ctrl_flow(dev, &multicast, &multicast));
> > 
> > Just curious. No need to consider VLAN for multicast here?
> 
> According to the lib documentation no [1]
> 
>  "Enable the receipt of any multicast frame by an Ethernet device"
> 
> > [...]
> > These (bcast and ipv6_multi_mask) can be duplicated multiple times if there are
> > multiple MAC addrs, is that intended?
> 
> There is in fact an issue in this series, it does not match my final code.
> 
> I'll send a v3.
> 
> [1] http://dpdk.org/browse/dpdk/tree/lib/librte_ether/rte_ethdev.h#n2304

I've wrongly read your last comment, the patch is correct, it won't add
multiple time the broadcast multicast, it will add one per expected
VLAN.

Example:

 testpmd> set promisc all off
 testpmd> set allmulti all off
 testpmd> rx_vlan add 0 1330
 testpmd> rx_vlan add 0 1331

Will cause this code to add a broadcast flow with VLAN TCI 1330 and
another broadcast flow with VLAN TCI 1331, others won't be received.

The user will only receive broadcast packets with VLAN TCI 1330 and
1331.  It is what he expects.

In case not VLAN is configured, the broadcast and muilticast flow
insertion are under the condition:

 "if (!dev->data->all_multicast && !vlan_filter_n)"

Thanks,

-- 
Nélio Laranjeiro
6WIND

  reply	other threads:[~2017-10-24  7:34 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-19 12:51 [dpdk-dev] [PATCH 0/6] net/mlx5: fixes Nelio Laranjeiro
2017-10-19 12:51 ` [dpdk-dev] [PATCH 1/6] net/mlx5: fix segfault on flow creation Nelio Laranjeiro
2017-10-19 12:51 ` [dpdk-dev] [PATCH 2/6] net/mlx5: fix work queue array size Nelio Laranjeiro
2017-10-19 12:51 ` [dpdk-dev] [PATCH 3/6] net/mlx5: fix drop flows when port is stopped Nelio Laranjeiro
2017-10-19 12:51 ` [dpdk-dev] [PATCH 4/6] net/mlx5: fix flow director drop action Nelio Laranjeiro
2017-10-19 12:51 ` [dpdk-dev] [PATCH 5/6] net/mlx5: fix mark action with " Nelio Laranjeiro
2017-10-19 12:51 ` [dpdk-dev] [PATCH 6/6] net/mlx5: fix allmulti mode Nelio Laranjeiro
2017-10-19 19:36 ` [dpdk-dev] [PATCH 0/6] net/mlx5: fixes Yongseok Koh
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 0/7] " Nelio Laranjeiro
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 " Nelio Laranjeiro
2017-10-24 19:07     ` Ferruh Yigit
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 1/7] net/mlx5: fix segfault on flow creation Nelio Laranjeiro
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 2/7] net/mlx5: fix work queue array size Nelio Laranjeiro
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 3/7] net/mlx5: fix drop flows when port is stopped Nelio Laranjeiro
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 4/7] net/mlx5: fix flow director drop action Nelio Laranjeiro
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 5/7] net/mlx5: fix mark action with " Nelio Laranjeiro
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 6/7] net/mlx5: fix reception when VLAN is added Nelio Laranjeiro
2017-10-24 17:34     ` Yongseok Koh
2017-10-24 15:18   ` [dpdk-dev] [PATCH v3 7/7] net/mlx5: fix flow director flow add Nelio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 1/7] net/mlx5: fix segfault on flow creation Nelio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 2/7] net/mlx5: fix work queue array size Nelio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 3/7] net/mlx5: fix drop flows when port is stopped Nelio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 4/7] net/mlx5: fix flow director drop action Nelio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 5/7] net/mlx5: fix mark action with " Nelio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 6/7] net/mlx5: fix reception when VLAN is added Nelio Laranjeiro
2017-10-23 19:25   ` Yongseok Koh
2017-10-24  7:11     ` Nélio Laranjeiro
2017-10-24  7:34       ` Nélio Laranjeiro [this message]
2017-10-24 13:41         ` Yongseok Koh
2017-10-24 14:19           ` Nélio Laranjeiro
2017-10-23 14:49 ` [dpdk-dev] [PATCH v2 7/7] net/mlx5: fix flow director flow add Nelio Laranjeiro
2017-10-23 20:48   ` Yongseok Koh

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=20171024073434.5cbsrnzw7pjrjswm@laranjeiro-vm \
    --to=nelio.laranjeiro@6wind.com \
    --cc=adrien.mazarguil@6wind.com \
    --cc=dev@dpdk.org \
    --cc=yskoh@mellanox.com \
    /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).