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&data=02%7C01%7Cviacheslavo%40mellan > > > ox.com%7C49a86a92f7884fb4d45808d7fc5de31a%7Ca652971c7d2e4d9ba6 > > > a4d149256f461b%7C0%7C0%7C637255352498582078&sdata=cDfb%2F > > > oJAPNvGhMjUrjmjAE3R%2FH4wUpOI7WcZ5miTLvA%3D&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
next prev parent 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