From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id DA954430E6; Thu, 24 Aug 2023 05:15:34 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A243540EE1; Thu, 24 Aug 2023 05:15:34 +0200 (CEST) Received: from mgamail.intel.com (mgamail.intel.com [134.134.136.65]) by mails.dpdk.org (Postfix) with ESMTP id 3EE5740C35 for ; Thu, 24 Aug 2023 05:15:33 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1692846933; x=1724382933; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=9ZBk5lMwjfa6EC4qdkztOAtezbnkvCbRhNJgubjY/xc=; b=KNhFhbsItXdUlLer7Koym05dF9vu/MwnXLnHKvv3fFf9Bzk74KeRtart louxXHht5AsZLZogliQONhUvxT8R2DXvD2WMZF4syBWk4cIo+Kzo9QkTq WASvx9OTSlUWPbKrzaTGBnVbB419n4RlZ66BcaNzsl96a6+e9aXe8sqMr ky9IZ+5eANKR0/qD38MvUd1I2Ng7WMY4gWxKQmJvUYfhqQPKvJc9wVqmI xucIlpsPyXO96B4QSljV4d+t111jXbu4jnka+AOGUPLN7bIW51JEPguAi h7azpIQ2x7rHR21NRcI5Y7iYBJWKOiVhdZpBrqiovU1uSjazOtESIhZQt w==; X-IronPort-AV: E=McAfee;i="6600,9927,10811"; a="378083837" X-IronPort-AV: E=Sophos;i="6.01,195,1684825200"; d="scan'208";a="378083837" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 23 Aug 2023 20:15:30 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10811"; a="860545282" X-IronPort-AV: E=Sophos;i="6.01,195,1684825200"; d="scan'208";a="860545282" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga004.jf.intel.com with ESMTP; 23 Aug 2023 20:15:28 -0700 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 23 Aug 2023 20:15:24 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Wed, 23 Aug 2023 20:15:24 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Wed, 23 Aug 2023 20:15:24 -0700 Received: from NAM02-BN1-obe.outbound.protection.outlook.com (104.47.51.40) by edgegateway.intel.com (192.55.55.70) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Wed, 23 Aug 2023 20:15:24 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=SgX5kObEIKBGk6N15Gh0agP8ly4qsjeaVCjXF92Td1OIUAm1TfGceZRBemJpS7LYvPsFpEiJq0NeaqN9nThcP9ktoExbFn90POpSuY0vg7HwSntIfBRK3QEM60YmEvzdEpurbzq2t6ZhAsrSlfNDkK/Z+KxKs2+6zKNHxqa6i+RBbC993Vtp5MYrvbmHuwq0Xwvo+Pd4ahBPGLZ85V6ml9vCrWdjPRPtU9P2GNShfNF9ULtDkNg8KYG0DGV7CyvBPUBzAR8JdtP7U5p3ZoLNTErsvHvPFESq5Su2SpMu5uLDvQo58fIbJmBOeK6/UrqCfZD1KeOQ28/HymLpv/r3nw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=6Ah0AhqKKWULrJPsxMVJSDL2e3ZV/apdwOfHchyUFyM=; b=XishfWzu2nqQ/MSufvJDIh6nY2W8FXk0xb8Osov27tGyH6TK7Dpq5nhQIq2IaczrE0h/EgeHX8JLN/dF6viH2IJSDadZ9S7CHyUdeIqVUuFunH7KwL0+sQxQjXNP98ErKNgjD2dvWJHjZyXTDr7eWXJ1ywLNUg0In2ObHe7ynOPVP86RCg4LyOZSq0md3DZEcgJrKfwftuQLlceqT/1nPdewCr9ftJET9BiMfi+9LeN3xEuFeJCAwUVoG1S2PWDr9/KFSGhzGilg77QAdaE+0qkyIwOb8KSjgULwCPPyahC2zx1SR3S/A5PJP2FQE6ywIkHPb8NjELT0JVEPpJrNyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from LV2PR11MB5997.namprd11.prod.outlook.com (2603:10b6:408:17f::10) by PH7PR11MB7001.namprd11.prod.outlook.com (2603:10b6:510:208::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6699.27; Thu, 24 Aug 2023 03:15:22 +0000 Received: from LV2PR11MB5997.namprd11.prod.outlook.com ([fe80::7423:9a2e:7dd5:e56]) by LV2PR11MB5997.namprd11.prod.outlook.com ([fe80::7423:9a2e:7dd5:e56%3]) with mapi id 15.20.6699.026; Thu, 24 Aug 2023 03:15:21 +0000 From: "Xing, Beilei" To: "Qiao, Wenjing" , "Zhang, Yuying" CC: "dev@dpdk.org" , "Liu, Mingxia" Subject: RE: [PATCH v2 1/4] net/cpfl: parse flow parser file in devargs Thread-Topic: [PATCH v2 1/4] net/cpfl: parse flow parser file in devargs Thread-Index: AQHZzDtHEXvTASsD4UOt7zSIb9uBBK/41hqA Date: Thu, 24 Aug 2023 03:15:21 +0000 Message-ID: References: <20230811093032.2065099-2-wenjing.qiao@intel.com> <20230811100012.2078135-2-wenjing.qiao@intel.com> In-Reply-To: <20230811100012.2078135-2-wenjing.qiao@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LV2PR11MB5997:EE_|PH7PR11MB7001:EE_ x-ms-office365-filtering-correlation-id: b2839afd-8f18-463a-de5a-08dba45059bc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: gbxHckRf9UoBJJyDaNENUqIuLcR+qMcqDSgrU6ZUQZXVxoHwJK9VfDJZ1X8EvM3nSl7LDFkIrJQC+zvxEhAr1fIy6brdi5VrmYpGUNe10zpOilBkFFEsviZxeaNtfcZ1Dp2AcHF75EncbFDlPzZmIVkTqlOWOWq0mqHBmhqRQpUjDMDSxYHWo2emEMdR0gNSF74QKtFW63GfuQcHKNck0H5zCmF0sYwGigz2jEyoRxYYvKpUOON5nVpoDBv9vuNflLYlFuh1p1conRDTDH+0vAVt/xPFH63ET+iwGpp0KBhZpvk/RhkVj5V975lS25YMIHGaZJWN/RPdGEoKzQt3YofIiJ22wuMGwy/Vggy5l3pyAwArwHno+FHFTgq0m7W+na3KYAkE99MC6ylkEx/eV8RNYecG0PIDRYNhGHrAqrwEqVneO7msF0vfl5ZWDLoOMZYLqr9GUuAjX3LATOtdCSSk++cvo6+seIB/UAIW9RN2q8BkBgwyd2onEIl/DGq91rQkoPk7u9HhYc1t2biDBYKNMbHpScn+hNJQ4oqOJKZZRP9j+MvA5g0f7go2ycmOlErpHQUt73Xjx0rCRZh2mb+7qv3PyrTKaL1LPf9JG2mz+fJXew1B41WRMC6iV5Rn x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:LV2PR11MB5997.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376002)(396003)(39860400002)(346002)(366004)(136003)(186009)(1800799009)(451199024)(52536014)(5660300002)(107886003)(4326008)(8676002)(8936002)(83380400001)(33656002)(55016003)(26005)(71200400001)(38070700005)(38100700002)(82960400001)(122000001)(66946007)(76116006)(66556008)(66476007)(66446008)(64756008)(54906003)(6636002)(316002)(110136005)(478600001)(41300700001)(9686003)(2906002)(6506007)(7696005)(86362001)(53546011); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?RqS4XBOKemmcGHSzQkwMNq6XlvmZsgPmtgGDMQ/xGgiod7O5J0y6Kh0Qabtb?= =?us-ascii?Q?N1PkAbF/eVEjasuXEDyEiKWGOvHavj3Y2/loMK7X/islt3ZJjfiZ8XpJGn1C?= =?us-ascii?Q?/qkoL3Rvg/8JXQdUM2SxbWotUmihZGTKknaH1bxQDHWk/1J0twJ2a7Pq/kWG?= =?us-ascii?Q?QRuQOBXL1J5LKUipkzFHQ/ti5Wpd9aLjDw/KEg7njaD6etZRdn+WoTkwyR0h?= =?us-ascii?Q?z8Kz1bE6VBMesWGDqHMrZ+sYkmL53Z4wMmEcK0VlVPHxc27dAaD/TtSBo+K8?= =?us-ascii?Q?UX1ChGDISpwPYMn4CWcTh99dr/5/4gVnaZKDoyPxQXyFX7dxsj3DQnTbKK/F?= =?us-ascii?Q?xERGce0GAqYHIlSiGKoHjwBMc24Dx0/Fn0aD2vXMN1w4cFb1yZE38K4RgrJr?= =?us-ascii?Q?ClxP63wY6GsfBoboFQ6DASs8TAyVWjRL4JvFAMOA/8JaXd2owbMOf3TKhMdh?= =?us-ascii?Q?h4pquDW4TmbdyBbQ5Xwf4vgT0yzJBB2jbr6iDrgE5CDoWZ7kScaaNmHtUX03?= =?us-ascii?Q?qTOncNtIMTTY11hjiUjo1ME92tTfn3EMsExtqHqpkMVduMo2jMxsuyTWtje3?= =?us-ascii?Q?gwD85gCMbNMMAJ9XUnwwG+z1qe7Hn82kS8+OkdGw5/JlXLkixxZdQVl7SmZo?= =?us-ascii?Q?hzBDoEhC14HNs1H5dfdIPkB0yiwEb6BNiCpTwIq7iZGh0kGv6b378oo9RvFm?= =?us-ascii?Q?cdYkrSI0Cfo2svEfrsCe6k61g1VqN0uZ4bT80Na6IfKMTCHEB4SWUVi6hGPl?= =?us-ascii?Q?TIaAyljryqNDt2gZlaubvnTmon3MfbTPaE4eeH41CT1o+NAmVRkxyHXicFDC?= =?us-ascii?Q?mvOBLwaqyR3UBktjUPOPuYmFOYy+eH1yE20f+qYH9iv36/A3WInYVq3CdO0+?= =?us-ascii?Q?m02JAa81sg673XCPyYIYLQBER0z71qf0m/IXtjcjXI5wSpRpd1hZKkToogX3?= =?us-ascii?Q?D+0DYHqy7OZDiyrPiuLMY8xH7bd4hmv3sSkJ4vpGB7vJRTqP3cENUm2/+g4k?= =?us-ascii?Q?AKMRn3z1sBaJdHC/ONQXfGyO1uK5YHwO3766bhSzgq1fjTrLurmh5hK+7iOq?= =?us-ascii?Q?JcEjmikiDtVz01rE1/Mj0kj3PREaJgjz2Z45LsTVTg7HySt4MKjE7pHgo04q?= =?us-ascii?Q?r++nvQ5L4xSER/o5ctwAZkzs/vxrT2AirT3AUiT4tfvCffOKEs9Yd061ewGR?= =?us-ascii?Q?EAI49lzN4EhxGBJhJd5D/8NEAkZSeUpIqwYLahdtpjgmaQ+sw3SiU2LzAmvi?= =?us-ascii?Q?VCbDP/NFAHhyTdWHwgxz/rR8ORkpCbja+uSO4HTOSYAvDibxt+i6NDvi3orp?= =?us-ascii?Q?bWEeilrUmN28wizywqThSg4ITVdokiOUzJLQIwxAeGZTiEnxtIXeb97nXry/?= =?us-ascii?Q?mYMya2YB9Zl1tEf9yy+ABeJXLbeOPNa4UtKt8TKrTl29Wp5xy24+RRmFO2jz?= =?us-ascii?Q?4tQgN6lFJbLx9STJvGSYKHch7hoTpetiZ2uuRoF6wG1E+wQGGk05XJcJwsCe?= =?us-ascii?Q?qyrrdgzSyML2Rx1pzLGj8QOgfsoURvlrn/52FQgdWb6z/ify8/CYMLFJDBqk?= =?us-ascii?Q?0ULN9/QkRJZ+gCyRNEHOIG+NiDZcoeWVwOSSwPMp?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LV2PR11MB5997.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b2839afd-8f18-463a-de5a-08dba45059bc X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Aug 2023 03:15:21.2665 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: yvEKU7k6D6WQ6TNIYiQ09RBu1mMZhpsvYID/+/x5DhpEGz39VgF/71ysBcYs0tetD9w9CYOwTLGHIYQ130iZ0g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR11MB7001 X-OriginatorOrg: intel.com X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org > -----Original Message----- > From: Qiao, Wenjing > Sent: Friday, August 11, 2023 6:00 PM > To: Zhang, Yuying ; Xing, Beilei > > Cc: dev@dpdk.org; Liu, Mingxia ; Qiao, Wenjing > > Subject: [PATCH v2 1/4] net/cpfl: parse flow parser file in devargs >=20 > Add devargs "flow_parser" for rte_flow json parser. >=20 > Signed-off-by: Wenjing Qiao > --- > Depends-on: series-29139 ("net/cpfl: support port representor") > --- > drivers/net/cpfl/cpfl_ethdev.c | 30 +++++++++++++++++++++++++++++- > drivers/net/cpfl/cpfl_ethdev.h | 3 +++ > drivers/net/cpfl/meson.build | 6 ++++++ > 3 files changed, 38 insertions(+), 1 deletion(-) >=20 > diff --git a/drivers/net/cpfl/cpfl_ethdev.c b/drivers/net/cpfl/cpfl_ethde= v.c index > 8dbc175749..a2f308fb86 100644 > --- a/drivers/net/cpfl/cpfl_ethdev.c > +++ b/drivers/net/cpfl/cpfl_ethdev.c > @@ -21,6 +21,7 @@ > #define CPFL_TX_SINGLE_Q "tx_single" > #define CPFL_RX_SINGLE_Q "rx_single" > #define CPFL_VPORT "vport" > +#define CPFL_FLOW_PARSER "flow_parser" >=20 > rte_spinlock_t cpfl_adapter_lock; > /* A list for all adapters, one adapter matches one PCI device */ @@ -32= ,6 > +33,9 @@ static const char * const cpfl_valid_args_first[] =3D { > CPFL_TX_SINGLE_Q, > CPFL_RX_SINGLE_Q, > CPFL_VPORT, > +#ifdef CPFL_FLOW_JSON_SUPPORT > + CPFL_FLOW_PARSER, > +#endif > NULL > }; >=20 > @@ -1671,6 +1675,19 @@ parse_repr(const char *key __rte_unused, const > char *value, void *args) > return 0; > } >=20 > +#ifdef CPFL_FLOW_JSON_SUPPORT > +static int > +parse_parser_file(const char *key, const char *value, void *args) { > + char *name =3D args; > + > + PMD_DRV_LOG(DEBUG, "value:\"%s\" for key:\"%s\"", value, key); Better to check if the value is valid first, e.g. return error if the lengt= h > CPFL_FLOW_FILE_LEN. > + strlcpy(name, value, CPFL_FLOW_FILE_LEN); > + > + return 0; > +} > +#endif > + > static int > cpfl_parse_devargs(struct rte_pci_device *pci_dev, struct cpfl_adapter_e= xt > *adapter, bool first) { @@ -1719,7 +1736,18 @@ cpfl_parse_devargs(struct > rte_pci_device *pci_dev, struct cpfl_adapter_ext *adap > &adapter->base.is_rx_singleq); > if (ret !=3D 0) > goto fail; > - > +#ifdef CPFL_FLOW_JSON_SUPPORT > + if (rte_kvargs_get(kvlist, CPFL_FLOW_PARSER)) { > + ret =3D rte_kvargs_process(kvlist, CPFL_FLOW_PARSER, > + &parse_parser_file, cpfl_args- > >flow_parser); > + if (ret) { > + PMD_DRV_LOG(ERR, "Failed to parser flow_parser, > ret: %d", ret); > + goto fail; > + } > + } else { > + cpfl_args->flow_parser[0] =3D '\0'; > + } > +#endif > fail: > rte_kvargs_free(kvlist); > return ret; > diff --git a/drivers/net/cpfl/cpfl_ethdev.h b/drivers/net/cpfl/cpfl_ethde= v.h > index 5bd6f930b8..cf989a29b3 100644 > --- a/drivers/net/cpfl/cpfl_ethdev.h > +++ b/drivers/net/cpfl/cpfl_ethdev.h > @@ -87,6 +87,8 @@ > #define ACC_LCE_ID 15 > #define IMC_MBX_EFD_ID 0 >=20 > +#define CPFL_FLOW_FILE_LEN 100 > + > struct cpfl_vport_param { > struct cpfl_adapter_ext *adapter; > uint16_t devarg_id; /* arg id from user */ @@ -100,6 +102,7 @@ > struct cpfl_devargs { > uint16_t req_vport_nb; > uint8_t repr_args_num; > struct rte_eth_devargs repr_args[CPFL_REPR_ARG_NUM_MAX]; > + char flow_parser[CPFL_FLOW_FILE_LEN]; > }; >=20 > struct p2p_queue_chunks_info { > diff --git a/drivers/net/cpfl/meson.build b/drivers/net/cpfl/meson.build = index > fb075c6860..0be25512c3 100644 > --- a/drivers/net/cpfl/meson.build > +++ b/drivers/net/cpfl/meson.build > @@ -38,3 +38,9 @@ if arch_subdir =3D=3D 'x86' > cflags +=3D ['-DCC_AVX512_SUPPORT'] > endif > endif > + > +js_dep =3D dependency('json-c', required: false, method : 'pkg-config') > +if js_dep.found() > + dpdk_conf.set('CPFL_FLOW_JSON_SUPPORT', true) > + ext_deps +=3D js_dep > +endif > \ No newline at end of file > -- > 2.34.1 Update doc to describe installing json lib first if need to parse json file= .