DPDK patches and discussions
 help / color / mirror / Atom feed
From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
To: Slava Ovsiienko <viacheslavo@mellanox.com>,
	Matan Azrad <matan@mellanox.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH dpdk-dev] net/mlx5: check the reg available for metadata action
Date: Wed, 27 May 2020 15:43:38 +0800
Message-ID: <CAMDZJNX16LN1S5TWWjDWMXOVsW_Gnv_SXNuXdribsOf5F5B2Dw@mail.gmail.com> (raw)
In-Reply-To: <CAMDZJNU_v3zU4J1qRB-ARiAFUddcmMc9nbaegzz2vL6AGVroCw@mail.gmail.com>

On Sun, May 24, 2020 at 6:47 PM Tonghao Zhang <xiangxia.m.yue@gmail.com> wrote:
>
> On Sat, May 23, 2020 at 1:17 AM Slava Ovsiienko
> <viacheslavo@mellanox.com> wrote:
> >
> > Hi, Tonghao
Hi maintainers,
one question, as doc said:
dv_xmeta_en
2, this engages extensive metadata mode, the MARK and META related
actions and items operate within all supported steering domains,
including FDB, MARK and META information may cross the domain
boundaries. The META item is 32 bits wide, the MARK item width depends
on kernel and firmware configurations and might be 0, 16 or 24 bits.
The actual supported width can be retrieved in runtime by series of
rte_flow_validate() trials.

I set the metadata in fdb, and then output to vf port. In the vf port
nic table, I try to match the metadata which set in fdb table,
but I can't match the metadata. That is a bug ? the doc said: "META
information may cross the domain boundaries."

https://doc.dpdk.org/guides/nics/mlx5.html

> > Thank you for the patch.
> > I suppose, the patch should be extended to encompass the routines:
> > - flow_dv_convert_action_mark
> > - flow_dv_convert_action_set_meta (done in the patch)
> > - flow_dv_validate_item_mark
> > - flow_dv_validate_item_mark
> > - flow_dv_validate_action_flag
> > - flow_dv_validate_action_mark
> >
> > In action converting routines we should add MLX5_ASSERT()
> > (returning REG_NONE must not happen there - the wrong
> > conditions must be filtered out on validation stage)
> >
> > One more point - it would be good to add cc:stable@dpdk.org
> >
> > Would you like to extend the patch or let us do it?
> Hi Slava, thanks for your reviews. I haven't done some research for
> tag/flag/mark
> so you can send a patch to fix it. and I will sent v2 for metadata
> action. Thanks.
> > With  best regards,
> > Slava
> >
> > > -----Original Message-----
> > > From: xiangxia.m.yue@gmail.com <xiangxia.m.yue@gmail.com>
> > > Sent: Wednesday, May 20, 2020 4:33
> > > To: Slava Ovsiienko <viacheslavo@mellanox.com>; dev@dpdk.org
> > > Cc: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> > > Subject: [PATCH dpdk-dev] net/mlx5: check the reg available for metadata
> > > action
> > >
> > > From: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> > >
> > > If user don't set the dv_xmeta_en to 1 or 2, in the
> > > flow_dv_convert_action_set_meta function:
> > > * flow_dv_get_metadata_reg may return the REG_NONE,
> > >   when MLX5_METADATA_FDB enabled for metadata set
> > >   action.
> > > * reg_to_field(REG_NONE) return MLX5_MODI_OUT_NONE
> > >   which is invalid.
> > >
> > > The rdma-core calltrace:
> > > dr_action_create_modify_action
> > > dr_actions_convert_modify_header
> > > dr_action_modify_sw_to_hw
> > > dr_action_modify_sw_to_hw_set
> > > dr_ste_get_modify_hdr_hw_field
> > >
> > > sw_field [MLX5_MODI_OUT_NONE 4095]
> > > should not > ste_ctx->modify_hdr_field_arr_sz [92]
> > >
> > > As doc[1] says:
> > > | dv_xmeta_en 0, this is default value, defines the legacy mode, the
> > > | MARK and META related actions and items operate only within NIC Tx and
> > > | NIC Rx steering domains, no MARK and META information crosses the
> > > | domain boundaries.
> > >
> > > This patch add check for that case to warn that not supported.
> > >
> > > [1] -
> > > https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Fdoc.dp
> > > dk.org%2Fguides-
> > > 20.02%2Fnics%2Fmlx5.html&amp;data=02%7C01%7Cviacheslavo%40mellan
> > > ox.com%7C49a86a92f7884fb4d45808d7fc5de31a%7Ca652971c7d2e4d9ba6
> > > a4d149256f461b%7C0%7C0%7C637255352498582078&amp;sdata=cDfb%2F
> > > oJAPNvGhMjUrjmjAE3R%2FH4wUpOI7WcZ5miTLvA%3D&amp;reserved=0
> > >
> > > Signed-off-by: Tonghao Zhang <xiangxia.m.yue@gmail.com>
> > > ---
> > >  drivers/net/mlx5/mlx5_flow_dv.c | 6 ++++++
> > >  1 file changed, 6 insertions(+)
> > >
> > > diff --git a/drivers/net/mlx5/mlx5_flow_dv.c
> > > b/drivers/net/mlx5/mlx5_flow_dv.c index e4818319507c..dfcaf90eda11
> > > 100644
> > > --- a/drivers/net/mlx5/mlx5_flow_dv.c
> > > +++ b/drivers/net/mlx5/mlx5_flow_dv.c
> > > @@ -1251,6 +1251,12 @@ flow_dv_convert_action_set_meta
> > >
> > >       if (reg < 0)
> > >               return reg;
> > > +
> > > +     if (reg == REG_NONE)
> > > +             return rte_flow_error_set(error, ENOTSUP,
> > > +                                       RTE_FLOW_ERROR_TYPE_ITEM,
> > > +                                       NULL, "unavailable "
> > > +                                       "metadata register");
> > >       /*
> > >        * In datapath code there is no endianness
> > >        * coversions for perfromance reasons, all
> > > --
> > > 2.26.1
> >
>
>
> --
> Best regards, Tonghao



-- 
Best regards, Tonghao

  reply	other threads:[~2020-05-27  7:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-20  1:33 xiangxia.m.yue
2020-05-22 17:17 ` Slava Ovsiienko
2020-05-24 10:47   ` Tonghao Zhang
2020-05-27  7:43     ` Tonghao Zhang [this message]
2020-05-24 11:06 ` [dpdk-dev] [PATCH dpdk-dev v2] " xiangxia.m.yue
2020-08-05 17:09   ` Slava Ovsiienko
2020-11-20 14:48   ` [dpdk-dev] [PATCH v3] " Viacheslav Ovsiienko
2020-11-22 13:00     ` Raslan Darawsheh

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=CAMDZJNX16LN1S5TWWjDWMXOVsW_Gnv_SXNuXdribsOf5F5B2Dw@mail.gmail.com \
    --to=xiangxia.m.yue@gmail.com \
    --cc=dev@dpdk.org \
    --cc=matan@mellanox.com \
    --cc=viacheslavo@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

DPDK patches and discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://inbox.dpdk.org/dev/0 dev/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 dev dev/ http://inbox.dpdk.org/dev \
		dev@dpdk.org
	public-inbox-index dev

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.dev


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git