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 B3CDEA050C for ; Thu, 7 Apr 2022 08:45:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AB63B410FB; Thu, 7 Apr 2022 08:45:03 +0200 (CEST) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 3B4D54014F; Thu, 7 Apr 2022 08:45:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1649313900; x=1680849900; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=+bK/ulzVLT5Ao012cX6Ao8aGFScxkdfq55CQYYx3wKk=; b=ITS/GBj6nGS1ZfrsUFGozsosI6GOOGYmc8otb5501dEH8pu8S4qQ/5AV 0lUY8i/oSMhw42j/3l6vICnVRXycpyzHUsIagKF3TmzmXyEY4VNMhxpZS 7VqMJnlfcRp2Tq1N03VBQ+Q1qEzxbaRhfZpVtKe+YmgUPSbqvU4jQAX3p Zn+xuZ6EQZ1KqPV0/Pi8GP3nl+bDDvOsFFgmPMows1sw2VihGLtK/Dv9I fIluz5XTu+/acxse+mDiR0RB5zs6Ao+vK9PJUlAq+MNLK0617Z/dDDZ+Z OFrFwL6QOYjVFzBwDo3Vh5FoagOHrUbQEmieo3w1WW1AqHiq49LQnH7Eq Q==; X-IronPort-AV: E=McAfee;i="6200,9189,10309"; a="241175083" X-IronPort-AV: E=Sophos;i="5.90,241,1643702400"; d="scan'208";a="241175083" Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Apr 2022 23:44:59 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.90,241,1643702400"; d="scan'208";a="621123645" Received: from fmsmsx604.amr.corp.intel.com ([10.18.126.84]) by fmsmga004.fm.intel.com with ESMTP; 06 Apr 2022 23:44:59 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 6 Apr 2022 23:44:59 -0700 Received: from fmsmsx609.amr.corp.intel.com (10.18.126.89) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27; Wed, 6 Apr 2022 23:44:58 -0700 Received: from fmsedg601.ED.cps.intel.com (10.1.192.135) by fmsmsx609.amr.corp.intel.com (10.18.126.89) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.27 via Frontend Transport; Wed, 6 Apr 2022 23:44:58 -0700 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (104.47.56.47) 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.2308.27; Wed, 6 Apr 2022 23:44:57 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CJQhrFv5lL2J0b3q5I3dY+6kt4LXvKUPv10CGCaWfH173GydVYTS5Q+1iUvb/XlGTOmvGXlD8mHzWZqGRHyVT8iXwHNwpJhDopjDLeYY0qAnipv3SHYcii8WD1wrt2JwHt2KP8pLUOdm+YtktCbFZS9CX+VKboVpdDIzAxikVtDeAwLPrb3AOHkYd8gWdQNO7C2kTQy7CuMRdXf3wLrrO0KMv7hrE0V6hO36wNAsStqGv9AU9Uluq6NbFcvU1nFMHa0Wxh6vNwHyOdEbN8t8WZHKg/NuHCPpkeWCSKBPOcKQZKIIXtoqKSt5SSE9oTY/3pip0i3ZplSi7AKh+Xm6kw== 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=ZfRX84PhgZZ/Y/IXgmak+5eNIWadWyBxCXSDd6jD+A0=; b=VVtJI7xQDvY+g/ToXfhJRxKVYSl3F6QgBexOPAtWseSa6TLLRv24wdO/RcgA3Niqj/032ik5BJIWDg/mVp+Sz2C/usMYG49Ad6S+sFIm1LtqPc6araFaRGaiCRdcDnqEvdvoID4EADcu8ul/37/UuHCRrZw2aBGz+hC1pOpaxc/HNkUochegDlV6j+cXMHvSgLgmEN6oLvYNwk4awCSWALd/YnMUIBf7rLn/a4lHeXL9N3F/uchR5SauYBReUTUYNt+4snlQqgnw71fR0Dd9KADaQIGxIJEAFOBJeP4ok3ilSDAIA3chaqni8FBshf8uY0K3O2VSsIQ7TKrd4wLy3w== 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 SN6PR11MB3261.namprd11.prod.outlook.com (2603:10b6:805:c1::13) by DM6PR11MB2811.namprd11.prod.outlook.com (2603:10b6:5:c8::26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5123.31; Thu, 7 Apr 2022 06:44:55 +0000 Received: from SN6PR11MB3261.namprd11.prod.outlook.com ([fe80::b0a8:40d:89f5:a9be]) by SN6PR11MB3261.namprd11.prod.outlook.com ([fe80::b0a8:40d:89f5:a9be%7]) with mapi id 15.20.5144.021; Thu, 7 Apr 2022 06:44:55 +0000 From: "Xu, Ting" To: "Zhang, Qi Z" , "Guo, Junfeng" CC: "dev@dpdk.org" , "Yang, Qiming" , "stable@dpdk.org" Subject: RE: [PATCH v2] net/ice: refact parser API usage Thread-Topic: [PATCH v2] net/ice: refact parser API usage Thread-Index: AQHYSji9yXhVfuJ200SQaCAEKVLUwKzkARxw Date: Thu, 7 Apr 2022 06:44:55 +0000 Message-ID: References: <20220407124011.667415-1-qi.z.zhang@intel.com> In-Reply-To: <20220407124011.667415-1-qi.z.zhang@intel.com> Accept-Language: zh-CN, 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-office365-filtering-correlation-id: b7cb515b-38c6-4a20-8f27-08da18622069 x-ms-traffictypediagnostic: DM6PR11MB2811:EE_ x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: efVSXdzaSLzs+x1NXHom8WoW6neVHwvO8Rg4mWbx8jQlSFaUNtnBjHDHQ837rcdRRTKl2pQDwoG+fcMcQZIAL194xkXLhpcUX1YM14UI3wJPrKD/tgrIf0kIux9Tqn8CSaaMMrnsNUU9z8BCpsxDaErMAxk7JuvQvf/ejGK+KoQ2r4NMVVwaHAvTk5Fo63hreD+qd75ZfoNs4hFUyvPCVhos66OAxkGyzwJrQTDqJg8CUIeq6H/SwcynmBBK5HeyLe0qjNYZDvmzkEgZFRavsGQ1CjlYfr79MY36PiRa4uxA1v0lU1dCReZSaj9Wwm16EwhERB9lZHHgmQVUU7d4xPVC6JDCu7S6or305FUF0Phm/YA0OILr11maXi8uFDwyCu08ZYNksOtvJmKMKH0bqHMlkp4K48/pazzwrEkkr8aDPmOwBu56JODqb/rg9jpi2wFt4Bmb9G+NcrteL0juz+BuZg1Nb9G6TuMNxOJWBj4yU+8Tdbso+ym7hS3pNVSENZbA7K9CbeOnBSCIbE+gvHJD78OZ/EiHWGRcIWOVscnuI8DBXBRzVhN2ial27EhrgILdlrgigU9hXSX6qyhCq14gMkpY+k+V1c6Em3ZVegUBIJ7TZpKZughHInkPwuckmFRcywm5VZrjNvNkK9AeAC/veoc7RodgzRxQ7wr+pp4M51ZPSPZ/QG01z2f8CTBLzSyYr3vAHqV6Iz35xJl/bg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN6PR11MB3261.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(4326008)(64756008)(53546011)(8676002)(316002)(9686003)(7696005)(2906002)(6506007)(66446008)(66476007)(66556008)(76116006)(5660300002)(33656002)(83380400001)(86362001)(66946007)(8936002)(450100002)(82960400001)(55016003)(26005)(508600001)(38070700005)(54906003)(6636002)(122000001)(186003)(52536014)(71200400001)(110136005)(38100700002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?ClYb6LFK7z5whpranokhBpNzHeBQM6xQbPrkQznxdzm+t9pS24ruYhylb5kY?= =?us-ascii?Q?QrcMqMqxYYACNoGUexqMrY7Bpgrb05BsXeAOuX/JOZ7DYgSqIV+uAVyQ/U6L?= =?us-ascii?Q?QQDuoYhULgSARlbQX4aYdonNr301rFmNlJP6tO2vUEshRov2mWreXyfx1EKB?= =?us-ascii?Q?qUAfGTgICot2KOIWFktjL6kqRVN7f5afBXq6+JYB6FzrGACSB8YsD5dXnfCQ?= =?us-ascii?Q?C7ob/dbcFutS4flDRPLlTHeHpmi5Ph1YjmpdWpOjbH+hPRWBIF/yWJ/4Sg5D?= =?us-ascii?Q?1ITqTpP7QbJdlZDwZmANR1SlzwyTcFUOMDoosgxghjHvOlMOEQh9mMaI7qqf?= =?us-ascii?Q?lgKRtXfw8rMI5FiMJ9FxHJQClqMpE2srTeNvk407xQ1pA/y4nWC4vNrw7szW?= =?us-ascii?Q?PllQLwRydF4reOF9QwtS3hm+SGRZgabRlNmu8zlvysRZF+0MOQGwDmnoUqH6?= =?us-ascii?Q?Ljr9+FB4vClklVRDUo2xyGDH7zuOiSCxiwdTzdLJGP+M8XKvtOTCetelIoCp?= =?us-ascii?Q?q2ZwgQbBXGiRu03Arao9QvFZgScxOHSfu6q6sU8dRNmD+LUXyI46t+dEiXWv?= =?us-ascii?Q?P7tKVnDQr2uW0XWe76udCXLSdqlUTTldCgdndbwcbc3mnwqnmnlJynKlulE+?= =?us-ascii?Q?cKkhuaIO/BQIf3n6qVbTouRuZlQjUNgIbBEVRd2hhHXOGdDEB1UgPJQE1kQp?= =?us-ascii?Q?877zHOkgejUUztz5JwPvqgHaj0cFMZqw/IJ90cYr29xXApyaEqzQfPUUEKo/?= =?us-ascii?Q?kqwrZ6w2EeNCgFJtpOUiZpew7DsfDMkUcm4HNnJqC680I0pvlpAGlOVWRaz9?= =?us-ascii?Q?+1ujw1Rk20Wuw3cAHfpACSlrW9sZviM4nn0CpGJLG96ewOUqGEjhmLQz5rWu?= =?us-ascii?Q?m2e+3RWM1IVmYSqr8HkH36V1kXhc8lmD128qbOzM6SdsACa9idNsXw9Wrtob?= =?us-ascii?Q?x/F6pxCvhGxW+JhK4Ra0lJxZv+++FDSw/hGoHiFj+jPMZGCcFTdUsqB0VSdL?= =?us-ascii?Q?hPnc4s1YiqekxEbcUb8hLGcVd7sbQ+UI56MbRa5tsUFK6zHp9tHsbcfot1uB?= =?us-ascii?Q?vXEkg0nZJde82gV1+knAnTPA5G2joCey22LxszuzvSurgg6CoCIJS5e5FJFC?= =?us-ascii?Q?7SjSQ5HvkPFLbpx2ZQyZujrfPtO3Xx8y25GXKBM1FZEBJMjnULxHHppUP1dJ?= =?us-ascii?Q?mFzNQomi5MDeAEddbH9PO+CXC79TbeN5JcU8f6TZHRnOpjFRw7gphIc60opr?= =?us-ascii?Q?kizKLVLMdqcOoHpf4DcOhCRrmWErGX0jlURquF3nD9lY2RmoWDspUaHmZ3pR?= =?us-ascii?Q?GhqmWp5HKYXjaUqWYaBslSTPhTsIQo5of3fb0M2S9GafeiV0EM6qmrHIW0iE?= =?us-ascii?Q?rW1CW1xdENpSBsm8aRKww1mFG/INhmFGIWs45Rd7teUizxdK960LB/QnOHKE?= =?us-ascii?Q?Zp66UbzIUXh28KOK5k6g7Ggn0paZU45bRDP0Ym8hxxK8X5pyd11X5Bo/4Ptl?= =?us-ascii?Q?8h59HlOj+PAQ4glzVMEgWhmdEQFChVUbIJ3HdcQV6gG3xiEEGvU0KLdwXurH?= =?us-ascii?Q?W9jiaJYeN4vcb2z6poD3hZ7adIsFZnqithYwgFvDwJECRST0gEdNrHq8ytB9?= =?us-ascii?Q?t+ewXg5jnLXG2loJ0LYcO46LMzOQrN4+8jxRkCzJPM7NNUvoQBphqObBzeuG?= =?us-ascii?Q?cRE1zF1bQlEq8Yt9KFtciksuKkEJ7BCjrJFGfX2O40F61nhaoVSEIT3jrvX5?= =?us-ascii?Q?NiF18YylsQ=3D=3D?= 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: SN6PR11MB3261.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b7cb515b-38c6-4a20-8f27-08da18622069 X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Apr 2022 06:44:55.4903 (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: 5u3zv0J+9BM+fHoqdiXGuhc/qDTeKW9ZDcV3hX1o2oLiZOtS8J4bm0no/wJjZLoV8FUM4NUJ24UslV+jPneP9w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB2811 X-OriginatorOrg: intel.com X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org > -----Original Message----- > From: Zhang, Qi Z > Sent: Thursday, April 7, 2022 8:40 PM > To: Guo, Junfeng ; Xu, Ting > Cc: dev@dpdk.org; Yang, Qiming ; Zhang, Qi Z > ; stable@dpdk.org > Subject: [PATCH v2] net/ice: refact parser API usage >=20 > Not necessary to create / destroy a parser instance for every raw packet = rule. > A global parser instance will be created in ice_flow_init and be destroye= d in > ice_flow_uninit. >=20 > Also, ice_dev_udp_tunnel_port_add has been hooked to perform > corresponding parser configure. This also fix the issue that RSS engine c= an't > support VXLAN inner through raw packet filter. >=20 > Fixes: 1b9c68120a1c ("net/ice: enable protocol agnostic flow offloading i= n > RSS") > Cc: stable@dpdk.org >=20 > Signed-off-by: Qi Zhang > --- > drivers/net/ice/ice_ethdev.c | 10 ++++++++++ > drivers/net/ice/ice_ethdev.h | 1 + > drivers/net/ice/ice_fdir_filter.c | 15 +++++---------- > drivers/net/ice/ice_generic_flow.c | 8 ++++++++ > 4 files changed, 24 insertions(+), 10 deletions(-) >=20 > diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c = index > 73e550f5fb..8bb34b874b 100644 > --- a/drivers/net/ice/ice_ethdev.c > +++ b/drivers/net/ice/ice_ethdev.c > @@ -5621,6 +5621,8 @@ ice_dev_udp_tunnel_port_add(struct rte_eth_dev > *dev, { > int ret =3D 0; > struct ice_hw *hw =3D ICE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > + struct ice_adapter *ad =3D > + ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); >=20 > if (udp_tunnel =3D=3D NULL) > return -EINVAL; > @@ -5628,6 +5630,9 @@ ice_dev_udp_tunnel_port_add(struct rte_eth_dev > *dev, > switch (udp_tunnel->prot_type) { > case RTE_ETH_TUNNEL_TYPE_VXLAN: > ret =3D ice_create_tunnel(hw, TNL_VXLAN, udp_tunnel- > >udp_port); > + if (!ret && ad->psr !=3D NULL) > + ice_parser_vxlan_tunnel_set(ad->psr, > + udp_tunnel->udp_port, true); > break; > default: > PMD_DRV_LOG(ERR, "Invalid tunnel type"); @@ -5645,6 > +5650,8 @@ ice_dev_udp_tunnel_port_del(struct rte_eth_dev *dev, { > int ret =3D 0; > struct ice_hw *hw =3D ICE_DEV_PRIVATE_TO_HW(dev->data- > >dev_private); > + struct ice_adapter *ad =3D > + ICE_DEV_PRIVATE_TO_ADAPTER(dev->data->dev_private); >=20 > if (udp_tunnel =3D=3D NULL) > return -EINVAL; > @@ -5652,6 +5659,9 @@ ice_dev_udp_tunnel_port_del(struct rte_eth_dev > *dev, > switch (udp_tunnel->prot_type) { > case RTE_ETH_TUNNEL_TYPE_VXLAN: > ret =3D ice_destroy_tunnel(hw, udp_tunnel->udp_port, 0); > + if (!ret && ad->psr !=3D NULL) > + ice_parser_vxlan_tunnel_set(ad->psr, > + udp_tunnel->udp_port, false); > break; > default: > PMD_DRV_LOG(ERR, "Invalid tunnel type"); diff --git > a/drivers/net/ice/ice_ethdev.h b/drivers/net/ice/ice_ethdev.h index > 3ab310628f..3d8427225f 100644 > --- a/drivers/net/ice/ice_ethdev.h > +++ b/drivers/net/ice/ice_ethdev.h > @@ -561,6 +561,7 @@ struct ice_adapter { > struct ice_rss_prof_info rss_prof_info[ICE_MAX_PTGS]; > /* True if DCF state of the associated PF is on */ > bool dcf_state_on; > + struct ice_parser *psr; > #ifdef RTE_ARCH_X86 > bool rx_use_avx2; > bool rx_use_avx512; > diff --git a/drivers/net/ice/ice_fdir_filter.c b/drivers/net/ice/ice_fdir= _filter.c > index 7954c6d8ea..894e593dc7 100644 > --- a/drivers/net/ice/ice_fdir_filter.c > +++ b/drivers/net/ice/ice_fdir_filter.c > @@ -1826,7 +1826,6 @@ ice_fdir_parse_pattern(__rte_unused struct > ice_adapter *ad, > struct ice_fdir_v4 *p_v4 =3D NULL; > struct ice_fdir_v6 *p_v6 =3D NULL; > struct ice_parser_result rslt; > - struct ice_parser *psr; > uint8_t item_num =3D 0; >=20 > for (item =3D pattern; item->type !=3D RTE_FLOW_ITEM_TYPE_END; > item++) { @@ -1861,6 +1860,10 @@ ice_fdir_parse_pattern(__rte_unused > struct ice_adapter *ad, >=20 > switch (item_type) { > case RTE_FLOW_ITEM_TYPE_RAW: { > + > + if (ad->psr =3D=3D NULL) > + return -rte_errno; > + > raw_spec =3D item->spec; > raw_mask =3D item->mask; >=20 > @@ -1872,7 +1875,6 @@ ice_fdir_parse_pattern(__rte_unused struct > ice_adapter *ad, > (uint8_t *)(uintptr_t)raw_spec->pattern; > unsigned char *tmp_mask =3D > (uint8_t *)(uintptr_t)raw_mask->pattern; > - uint16_t udp_port =3D 0; > uint16_t tmp_val =3D 0; > uint8_t pkt_len =3D 0; > uint8_t tmp =3D 0; > @@ -1921,15 +1923,8 @@ ice_fdir_parse_pattern(__rte_unused struct > ice_adapter *ad, >=20 > pkt_len /=3D 2; >=20 > - if (ice_parser_create(&ad->hw, &psr)) > - return -rte_errno; > - if (ice_get_open_tunnel_port(&ad->hw, TNL_VXLAN, > - &udp_port)) > - ice_parser_vxlan_tunnel_set(psr, udp_port, > - true); > - if (ice_parser_run(psr, tmp_spec, pkt_len, &rslt)) > + if (ice_parser_run(ad->psr, tmp_spec, pkt_len, &rslt)) > return -rte_errno; > - ice_parser_destroy(psr); >=20 Hi, Qi, in RSS there are similar steps, we may need to change as well. Shal= l I give you a patch? > if (!tmp_mask) > return -rte_errno; > diff --git a/drivers/net/ice/ice_generic_flow.c > b/drivers/net/ice/ice_generic_flow.c > index 53b1c0b69a..57eb002bde 100644 > --- a/drivers/net/ice/ice_generic_flow.c > +++ b/drivers/net/ice/ice_generic_flow.c > @@ -1831,6 +1831,9 @@ ice_flow_init(struct ice_adapter *ad) > TAILQ_INIT(&pf->dist_parser_list); > rte_spinlock_init(&pf->flow_ops_lock); >=20 > + if (ice_parser_create(&ad->hw, &ad->psr) !=3D ICE_SUCCESS) > + PMD_INIT_LOG(WARNING, "Failed to initialize DDP parser, > raw packet > +filter will not be supported"); > + > RTE_TAILQ_FOREACH_SAFE(engine, &engine_list, node, temp) { > if (engine->init =3D=3D NULL) { > PMD_INIT_LOG(ERR, "Invalid engine type (%d)", @@ > -1885,6 +1888,11 @@ ice_flow_uninit(struct ice_adapter *ad) > TAILQ_REMOVE(&pf->dist_parser_list, p_parser, node); > rte_free(p_parser); > } > + > + if (ad->psr !=3D NULL) { > + ice_parser_destroy(ad->psr); > + ad->psr =3D NULL; > + } > } >=20 > static struct ice_parser_list * > -- > 2.31.1