From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id D3056A04A4; Wed, 27 May 2020 09:44:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id F16221D414; Wed, 27 May 2020 09:44:37 +0200 (CEST) Received: from mail-ed1-f68.google.com (mail-ed1-f68.google.com [209.85.208.68]) by dpdk.org (Postfix) with ESMTP id E31B91D380 for ; Wed, 27 May 2020 09:44:36 +0200 (CEST) Received: by mail-ed1-f68.google.com with SMTP id q13so355347edi.3 for ; Wed, 27 May 2020 00:44:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=wKcLLIvK4Fvm5TDPl5GXgWU20/gLaGTlQvVCg7F6SGc=; b=AgLFK0xuwBkkHXWvEXtSu87vFPuitdwFNcTwzlj+0IOmPAkwZCYRxyERI6NeMKg6r+ ERdPleDYLrvMShTNeNGhnB3fcA8SZMqb+xrjCP7ENh6t1whL5lqEUvB0KF2QKasGn7j1 fC1NB2jjjYqvM2c87tEZmPdjFFL7tCvfbfsdpEUfv1cCW447fV/Mwl8iQNJ+JHNmkCgW jE3wzrTA3owu4pSbLtVYP0x5TGMgo7gUgriGb30PdoKOGSPxlHrmyh/fF6o8pf21NMaP 9oekMnUGOc4V3IljZKfxwzJabrCJy1LyBzT+YKBh2EEgOwYn4hwAwjDUST/5MtA7EpLv nCsw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=wKcLLIvK4Fvm5TDPl5GXgWU20/gLaGTlQvVCg7F6SGc=; b=KustoYTPdpaMS4YYbcGRhhf4/9aUvgXBIJPbFC/Ya3sP8Km+pEFNTjf5Y7yeoF56K6 d+1xCo2AdBOyUwDPBDB3mEL9uI9+oIH7aYvJRGmEbzimpAOUMT+OHB36SlDMQzRgCcU6 VFKyw7o4oFK/q3s+3wmhQ9cs5n+VL9fVOWihuiqoCGzHn4I53huCGGlb3rIyREJsgNHy vAxfZloQIS9SwR+BX1gNUVkWweGA1xApLtMyKnsnaRtNBYv/7ghNCY42rYwJQmG5gq7Q f0y0vWMHjzhZTqElIUJh3NuvaC3RMsLMndyHhLcDJdbnOcmdsJMNHsLZkSNymnOmiPfo 84eQ== X-Gm-Message-State: AOAM533qV1FMCsTQaeiFPdOLTkCYv10IkQUQxlSy2DJrJkVtu5mvFscG gdByWvHMPQz2DxdIXZpTCARx6T0/3cAcnz/ZIYY= X-Google-Smtp-Source: ABdhPJztNGJIzazVqS245W+UlbFrTrM48lbDp/QOBXZoDm9j3L9/G+zSbx15IQ6YA+j7j5BPzamrSe/kcML0eJwSGKU= X-Received: by 2002:a05:6402:203a:: with SMTP id ay26mr22036059edb.205.1590565476410; Wed, 27 May 2020 00:44:36 -0700 (PDT) MIME-Version: 1.0 References: <20200520013328.98838-1-xiangxia.m.yue@gmail.com> In-Reply-To: From: Tonghao Zhang Date: Wed, 27 May 2020 15:43:38 +0800 Message-ID: To: Slava Ovsiienko , Matan Azrad Cc: "dev@dpdk.org" Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH dpdk-dev] net/mlx5: check the reg available for metadata action X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Sun, May 24, 2020 at 6:47 PM Tonghao Zhang wrote: > > On Sat, May 23, 2020 at 1:17 AM Slava Ovsiienko > 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 > > > Sent: Wednesday, May 20, 2020 4:33 > > > To: Slava Ovsiienko ; dev@dpdk.org > > > Cc: Tonghao Zhang > > > Subject: [PATCH dpdk-dev] net/mlx5: check the reg available for metadata > > > action > > > > > > From: Tonghao Zhang > > > > > > 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 > > > --- > > > 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