[dpdk-dev] [PATCH v4] net/mlx5: set RSS key to NULL to indicate default RSS
Ophir Munk
ophirmu at mellanox.com
Sun Nov 4 11:08:31 CET 2018
> -----Original Message-----
> From: Shahaf Shuler
> Sent: Sunday, November 04, 2018 8:29 AM
> To: Ophir Munk <ophirmu at mellanox.com>; Yongseok Koh
> <yskoh at mellanox.com>; dev at dpdk.org
> Cc: Asaf Penso <asafp at mellanox.com>; Thomas Monjalon
> <thomas at monjalon.net>; Olga Shern <olgas at mellanox.com>
> Subject: RE: [PATCH v4] net/mlx5: set RSS key to NULL to indicate default
> RSS
>
> Hi Ophir,
>
> Saturday, November 3, 2018 7:40 PM, Ophir Munk
> > Subject: [PATCH v4] net/mlx5: set RSS key to NULL to indicate default
> > RSS
> >
> > Applications which add RSS rules must supply an RSS key and length.
> > If an application is only interested in default RSS operation it
> > should not care about the exact RSS key.
> > By setting the key to NULL - the PMD will use the default RSS key.
> > In addition if the application does not care about the RSS type it can
> > set it to 0 and the PMD will use the default type (ETH_RSS_IP).
> >
> > Signed-off-by: Ophir Munk <ophirmu at mellanox.com>
> > ---
> > v1:
> > Initial release
> >
> > v2, v3:
> > Rebase + following code review
> >
> > v4:
> > Avoid sgementation faulut by not allowing in cation validation
> > key=NULL ane
> > key_len!=0 See https://patches.dpdk.org/patch/47645/
> >
> >
> > doc/guides/nics/mlx5.rst | 1 +
> > drivers/net/mlx5/mlx5_flow.c | 8 +++++++-
> > drivers/net/mlx5/mlx5_flow_dv.c | 7 +++++--
> > drivers/net/mlx5/mlx5_flow_verbs.c | 8 ++++++--
> > drivers/net/mlx5/mlx5_rxq.c | 18 ++++--------------
> > 5 files changed, 23 insertions(+), 19 deletions(-)
> >
> > diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5.rst index
> > diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> > b/drivers/net/mlx5/mlx5_flow_dv.c index c11ecd4..cdf3377 100644
> > --- a/drivers/net/mlx5/mlx5_flow_dv.c
> > +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> > @@ -1758,8 +1758,11 @@
> > memcpy((*flow->queue), rss->queue,
> > rss->queue_num * sizeof(uint16_t));
> > flow->rss.queue_num = rss->queue_num;
> > - memcpy(flow->key, rss->key, MLX5_RSS_HASH_KEY_LEN);
> > - flow->rss.types = rss->types;
> > + /* NULL RSS key indicates default RSS key. */
> > + rss_key = !rss->key ? rss_hash_default_key : rss->key;
>
> Getting compilation error:
> error: 'rss_key' undeclared (first use in this function)
> rss_key = !rss->key ? rss_hash_default_key : rss->key;
>
> please address.
Most of the code in file mlx5_flow_dv.c is under #ifdef HAVE_IBV_FLOW_DV_SUPPORT
In my case this macro is not defined so most of the code is not compiled...
Please note mlx5 Makefile:
$Q sh -- '$<' '$@' \
HAVE_IBV_FLOW_DV_SUPPORT \
infiniband/mlx5dv.h \
func mlx5dv_create_flow_action_packet_reformat \
$(AUTOCONF_OUTPUT)
I will issue v5 with a fix
> Other than that, no more comments. You can put my ack when on the next
> version.
>
>
> > + memcpy(flow->key, rss_key, MLX5_RSS_HASH_KEY_LEN);
More information about the dev
mailing list