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 E2ACC45D42; Tue, 19 Nov 2024 12:52:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id A7D7240268; Tue, 19 Nov 2024 12:52:49 +0100 (CET) Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) by mails.dpdk.org (Postfix) with ESMTP id 29F4540041; Tue, 19 Nov 2024 12:52:47 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1732017167; x=1763553167; h=date:from:to:cc:subject:message-id:references: in-reply-to:mime-version; bh=8EpRC8HLDMBTMUlPJcX/r0ajDK7r2hbqExo0figXYg0=; b=jXGcg9yqitzBJGEIbjLyv6NpuQLpwSQLHAjm2DiMqaVegJm2o2/0QBmL 2pHYVXHbzmZetL+QA4NBEXV0mX0Lv1jweWioXYUrhxrRbpFcItpDw0hL2 AtN8rUcNA0kYIP6m27oU7gY+lVtBv5WONzMyJblfl/Z8wT+vGnkjzDYxa OkStC18HOzjGzQstzpDMDEq/e2EJL0qTXzvv4rxk+1WgTkXqjnlJ9vUa3 7R0VD5eNp9EKtjfQcQ25ps8IiZGMyXVY1I+J3tEi8Ku5xSN+WgXNaljku WWJ7G/ccTAZSz9AEHYBhh3gUYVPCETKDOni16KDbwOwOQE4fxUluzrEy/ A==; X-CSE-ConnectionGUID: zp4cs5/VQCe6z4OF3O9vRw== X-CSE-MsgGUID: lnchkXydQbmo0ZCKc9KXfA== X-IronPort-AV: E=McAfee;i="6700,10204,11260"; a="42648067" X-IronPort-AV: E=Sophos;i="6.12,165,1728975600"; d="scan'208";a="42648067" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Nov 2024 03:52:46 -0800 X-CSE-ConnectionGUID: x7sXL4NgTPSy6e17ZhcS4A== X-CSE-MsgGUID: rt3/kDkNQG6ym8rTf/BzFA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.12,165,1728975600"; d="scan'208";a="120387436" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orviesa002.jf.intel.com with ESMTP/TLS/AES256-GCM-SHA384; 19 Nov 2024 03:52:46 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) 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.39; Tue, 19 Nov 2024 03:52:45 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) 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.39 via Frontend Transport; Tue, 19 Nov 2024 03:52:45 -0800 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.40) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.39; Tue, 19 Nov 2024 03:52:45 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=PuQ2dJ+uMrDGBoS5ygFLrPXISEqBhxQAFShZJv85/GFnOMAEroSbZEhTFKm22i66pK6V47AnWRrPH4zfTUX7CTdUaQjW/Kzfms1z3nPtyFRoMRU1qSlGSKghVh+4XR2OpUfUngVdYnWD+Oxhbbj+kdlIufPIgBPfAX4A1j5YXeD2LSRcL+G2VIKSpNlKhO5rkxuucR3v2bBxtMxmRr0nAc7/gEaX7oF055BiUIUk880E9zjq44HXteqIUzSFzY0kaEEvG1lcdreCM03xZRLa+Ma0DbN0X8ftQl2YY3vTDGExPX63G/ghpo5Q6EDFdRVqGurJXPTJjZPcNlGG77tcfA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=RhuvytRB85y+pdNQ/mgIM9+CyVdR7SXjD+19HFQossI=; b=LcBmN4Nu37S7oFV0DhHW79nqxzHtSieCP8g8s748fy5j00W3KFrTPCNkbGL1U9Tr9kNjGYZTJCnA41I75p1+9H9QLX9yIo+XkE5m5ZdvJ4FgRDeO+gNeqe4yADEZwVgaufRXwWKuu0+H1oQom/VeP4JxW87wbwY9I9Z7ApAAK4BL71vVjZ8gjSU0nVT7zGH1cnXn7ISCZpXnawl3F3LV87JZOpkGI0uil4WU0ze5VHWuw/06Pw0JqAuuQdD0WG9IRTo8yWc8AAhRulmxdBUO1CRx58hfgf78r6zGaxFk1VJjfhtq7R0g6aXdqS4UDbZHJXo/9JCTAKhV0DysDcd1nA== 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 Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; Received: from DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) by SA0PR11MB7160.namprd11.prod.outlook.com (2603:10b6:806:24b::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8158.24; Tue, 19 Nov 2024 11:52:43 +0000 Received: from DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b]) by DS0PR11MB7309.namprd11.prod.outlook.com ([fe80::f120:cc1f:d78d:ae9b%4]) with mapi id 15.20.8093.018; Tue, 19 Nov 2024 11:52:43 +0000 Date: Tue, 19 Nov 2024 11:52:38 +0000 From: Bruce Richardson To: Vladimir Medvedkin CC: , , Subject: Re: [PATCH] net/i40e: fix read register return status check Message-ID: References: <20241115191425.970929-1-vladimir.medvedkin@intel.com> Content-Type: text/plain; charset="us-ascii" Content-Disposition: inline In-Reply-To: <20241115191425.970929-1-vladimir.medvedkin@intel.com> X-ClientProxiedBy: DU2PR04CA0034.eurprd04.prod.outlook.com (2603:10a6:10:234::9) To DS0PR11MB7309.namprd11.prod.outlook.com (2603:10b6:8:13e::17) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR11MB7309:EE_|SA0PR11MB7160:EE_ X-MS-Office365-Filtering-Correlation-Id: 1f55ce09-9201-4480-d891-08dd0890ad19 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|1800799024|366016; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?OnWfvYYeTyeOA+E1DVoIYk2tle235limA/j52Kr/ina+KJQZfVx8G8BRnlZS?= =?us-ascii?Q?6jpX4tUEGCQ2lQjhp4qVZn8/sbN3FxxH7Dz7elO+5S7/7Mcuukv1pISnT8J5?= =?us-ascii?Q?3uQQWTbCkkIDHYRl4Blwa/lkphc5v3cHZ1UQs3fqr4RWUhcqDZZ+T7kJtXX9?= =?us-ascii?Q?PZE6Aj3Q7KNaEhDW/riqDUP2jbrb3V4azg8ge//Po0jpkVK5LYqXW5bDtB7p?= =?us-ascii?Q?RhY0O9cZrY8ovWbEgLFdvUjLX2IjcvayguJobZEViIvVpNueLrH9+xVLLGut?= =?us-ascii?Q?hNaJGa25ONZW+je1Oe8R2NEEOpU8BI13zEHMd3wNazJoLgYb+YXqqLLsj639?= =?us-ascii?Q?49ZPqZkEf9FEMiRPaB+cO0+dJkK1tyAirNHzZEk18pq5VpfczEQO4WnK3/Z5?= =?us-ascii?Q?NlI8eRxTOl4pbL4fkY20SXIWYdU/5pN7GgR7SeJzahQ7gBTr7OvaxmN0CjNV?= =?us-ascii?Q?JGDM6EzTqW63yPMCq5F+NiNPVWEgQRyfdXcwuF3dnma4oMuKdDPxU0vhK3FZ?= =?us-ascii?Q?ycdR1ssQipNz2VuBZy5+kvU76AQzTiJgwhrUos2Nido5gjNXCr99OIYTXYQL?= =?us-ascii?Q?c6WQRWVHsp74J1Nk4vUt3ftcV91uPPRL0FNLrpPIFVDSVkIBmV4/DCNh95rz?= =?us-ascii?Q?E73kn6y81HWv90L3/3adYGDwpfAEYRZpEX4KjAzf573SmYOem0jWba3brEje?= =?us-ascii?Q?Fp6Qe8dHMGWVdvEpLJXJiLQO1fOZx9GQ58h44zjyu+uK+Ts7yp/1QzyIbj/H?= =?us-ascii?Q?XqNCna/3t6eb48WRMqS3MOcBeu44Mjg2G2spu+pUBAIavYRA87UWc2zuIZaR?= =?us-ascii?Q?Dobd2rhtiE9M0hFb3FsSpAq3/NRbEQo3trrs5MFauH8ccK99N5n85qq77a6u?= =?us-ascii?Q?7An7EawiTfSMEn5ihEhsJ7Wx7UBtptz1pmwJ+ZM+d3CY3ri6SA7g7v9T4UAy?= =?us-ascii?Q?Ghfo9agE+O7AoJ7Lcd1YkAVH90FzdOmZ+4WZpUS/9IKxGghQkyD3EmpxFcUz?= =?us-ascii?Q?ps/sHC1Uz7UyBDU3K4pTt6zhyzOVuH1P1nW/FnwdIa+0aGRpfckD/jHBzbAK?= =?us-ascii?Q?7vggjG9SG6t24Ery15X8LWkGpbKAZHwN1y/y+ePj+5Gl8q6QQwBU07Va5al4?= =?us-ascii?Q?RIinM39XOOGLhqf1jgEgl+PxzSf8YDBFWJ/7IJVgq7k3YvGLUOGMjNshbb/F?= =?us-ascii?Q?utv4+v61jNzhMZelM3jKcQ/FEFF0cNIupI3hBgzpqX+zEG8oup4qm8TFZvj+?= =?us-ascii?Q?zxuCsiyxgQ9HbmkFdQD1Fw0bEsndLijpmvS+gohYafah+l5JwupVKL2xHZYd?= =?us-ascii?Q?gGQ=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS0PR11MB7309.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(1800799024)(366016); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QwUjzfx8T3Af/NzEzEdZsYJdkA1LklBcRa9VVHbDJCtUQbNi0kMRpMUhZZxs?= =?us-ascii?Q?ztpqMEMPg63wEj6TqM4/g1C3t+/RJ7U2k5iF9+bkmtHfbc3563ZUZQPoaPVo?= =?us-ascii?Q?kAwIRsAIEsqfBUUtadZIhwjbVDs4FHqdIY7tPTyqUXr5P2z5CaaIyCTH67mC?= =?us-ascii?Q?C7kwRsPWilbUSzUWeE9ebxaFTWuksRPIOaFz62eho+Bht3rcPuZbkCgV9Lp5?= =?us-ascii?Q?IK/oj8iCTMImQauJftZk+27vVc0yDs70I8a6pJpommP4lf/Fpu1hfbSFa7i3?= =?us-ascii?Q?tAW0u6zusFJF+9n+TbYHHIc8z4vcFf7F9Pu7v0nTwuRlXJDVQwUu9arQ7N5J?= =?us-ascii?Q?p/LKLCcWMQOY+fMR8bxtjusIO5Ofyfq4Ziy6W4HVJVLtjWsftIiRerIub5/V?= =?us-ascii?Q?MtIqRUg3+atcRVkrHDRmW55svOEwXfwhggVDVQxAXiRG8K9Cs5R50dGMq80G?= =?us-ascii?Q?2FihvMysTuEbFzjZZfQZTsvsKqXRSQtf/1Q7UUHg/ePr/yT1k/9vyDi20WML?= =?us-ascii?Q?u2nRMG2l7JnQXN+gbjdd+sHT0rtA2ZwyVWhwsb7gXOoEjzM42Laio+ZA5tRl?= =?us-ascii?Q?e4dRQCgUvhklPWU90yB1fq7OWKgcVYa+VE2emnTX/yfMTzERkUN72sStMjDd?= =?us-ascii?Q?+eusgdXM5l6x3aolh1/Ybjbn522h3RytgFiLGq695CRbXoe7nP4pLdarjvIR?= =?us-ascii?Q?pk2mZhntCu4hXuY5WfjwUFwoNF6k2aYJoitQmPTnK6o7m/NI+LfpGHtVKDT3?= =?us-ascii?Q?6jGPS6cNMtiJjJIKCq4ynx1q/KhdDK9ak9RoCSZ4YKHFOxvLqWDbl5hG9RkU?= =?us-ascii?Q?Dl8aSkyzr+AITNn2agmJJZoBwQaTFhfW4kTwjD9b5Pc8rlY0t8FHqDu1KIP6?= =?us-ascii?Q?zguKdP5gdDhj8KFk91pY0EyCxLgSI5LLhyRz6V7aF8OgrRxKRgTTUdL4UnGm?= =?us-ascii?Q?iNyBdloPfgWHu/XNQJcusQNnIACmTIe3irH1CRqx7qbJPc44AQmIek75gycH?= =?us-ascii?Q?IA2LymA+WwfpPPihacEm+SFZDDVAPMIro6+3SBVUeBALU8NfugMR95ovPG4b?= =?us-ascii?Q?MCIRhbchyfC85LHkpcw5Fni9l0vJfD4Ijh+9bjE+OT8WuKlofH9iiXy+Kegz?= =?us-ascii?Q?MhKVHdPfRdO1vucM48nf0/YfFoHLN3cL+XgCP2gxScs+rw9h9Sf+4/2au5nN?= =?us-ascii?Q?GBNWrBgpZdJ21r6m+aN8LNRcbtxkY5BvapXLkeEG2MGypA+A0sBe5pOPYffR?= =?us-ascii?Q?Sh+DcAzwR7oY6oORMS0SzVrVfFUnOZ/EW77or2DslQ0WVjNW6Of9jOkdyUNR?= =?us-ascii?Q?X24Wc6KVl8Pk/4N2OVgnN5kdq/ZfDQu6aNYVFEii2jbuH8wtzcdgxMM84lHh?= =?us-ascii?Q?+BAi361Hi3576hFIajmaKPWRPz+eNoQTmYc9+AeZuj2JqmAr0o95tnYFNhKT?= =?us-ascii?Q?iMfVZP7fqJGO+xI5DfqDV961xMTKtjbjQYyEvE2Ct2hgOFm4Yok4zy89S70z?= =?us-ascii?Q?lGzba4KmCuhyRCEZ+8qksGiXpn96ZTWKet78CpeuWr5iYROGsnHZoSmqBX3w?= =?us-ascii?Q?a4NiqL4BGH54WB1THl6e1HY5AtRKXEcJQpc+k3BRci1Bo2vrep5noD+DcuiI?= =?us-ascii?Q?vQ=3D=3D?= X-MS-Exchange-CrossTenant-Network-Message-Id: 1f55ce09-9201-4480-d891-08dd0890ad19 X-MS-Exchange-CrossTenant-AuthSource: DS0PR11MB7309.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Nov 2024 11:52:43.1196 (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: iAoRp2o/j5WS4/rNhWFph6OP22yS6GshEwLSYsXk8OjoU57Up3Zk7CmF21JUr7btvFEAajUTh0mOdkiihRip3E+hf+eFeRRCZNQwka+RakI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR11MB7160 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 On Fri, Nov 15, 2024 at 07:14:25PM +0000, Vladimir Medvedkin wrote: > 'i40e_get_outer_vlan()' does not check 'i40e_aq_debug_read_register()' > return value. This patch fixes this issue. I think a little more detail on the scope of the changes could be good here. It fixes the issue by allowing the function to return error, or zero on success rather than the value read. This change then causes some rework in the calling code to handle the error code and to change the form of the function call. > > Coverity issue: 445518 > > Fixes: 86eb05d6350b ("net/i40e: add flow validate function") > Cc: beilei.xing@intel.com > Cc: stable@dpdk.org > > Signed-off-by: Vladimir Medvedkin Fix below looks good, some minor comments. Acked-by: Bruce Richardson > --- > drivers/net/i40e/i40e_flow.c | 78 ++++++++++++++++++++++++++++++------ > 1 file changed, 66 insertions(+), 12 deletions(-) > > diff --git a/drivers/net/i40e/i40e_flow.c b/drivers/net/i40e/i40e_flow.c > index c6857727e8..5015eda461 100644 > --- a/drivers/net/i40e/i40e_flow.c > +++ b/drivers/net/i40e/i40e_flow.c > @@ -1263,27 +1263,31 @@ i40e_flow_parse_attr(const struct rte_flow_attr *attr, > return 0; > } > > -static uint16_t > -i40e_get_outer_vlan(struct rte_eth_dev *dev) > +static int > +i40e_get_outer_vlan(struct rte_eth_dev *dev, uint16_t *tpid) > { > struct i40e_hw *hw = I40E_DEV_PRIVATE_TO_HW(dev->data->dev_private); > int qinq = dev->data->dev_conf.rxmode.offloads & > RTE_ETH_RX_OFFLOAD_VLAN_EXTEND; > uint64_t reg_r = 0; > uint16_t reg_id; > - uint16_t tpid; > + int ret; > > if (qinq) > reg_id = 2; > else > reg_id = 3; > > - i40e_aq_debug_read_register(hw, I40E_GL_SWT_L2TAGCTRL(reg_id), > + ret = i40e_aq_debug_read_register(hw, I40E_GL_SWT_L2TAGCTRL(reg_id), > ®_r, NULL); > + if (ret != I40E_SUCCESS) { > + PMD_DRV_LOG(ERR, "Fail to debug read from c[%d]", reg_id); This error message maybe could do with a little clarification. The "c" prefix doesn't make sense to me. > + return -EIO; > + } > > - tpid = (reg_r >> I40E_GL_SWT_L2TAGCTRL_ETHERTYPE_SHIFT) & 0xFFFF; > + *tpid = (reg_r >> I40E_GL_SWT_L2TAGCTRL_ETHERTYPE_SHIFT) & 0xFFFF; > > - return tpid; > + return 0; > } > > /* 1. Last in item should be NULL as range is not supported. > @@ -1303,6 +1307,8 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev, > const struct rte_flow_item_eth *eth_spec; > const struct rte_flow_item_eth *eth_mask; > enum rte_flow_item_type item_type; > + int ret; > + uint16_t tpid; > > for (; item->type != RTE_FLOW_ITEM_TYPE_END; item++) { > if (item->last) { > @@ -1361,8 +1367,24 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev, > > if (filter->ether_type == RTE_ETHER_TYPE_IPV4 || > filter->ether_type == RTE_ETHER_TYPE_IPV6 || > - filter->ether_type == RTE_ETHER_TYPE_LLDP || > - filter->ether_type == i40e_get_outer_vlan(dev)) { > + filter->ether_type == RTE_ETHER_TYPE_LLDP) { > + rte_flow_error_set(error, EINVAL, > + RTE_FLOW_ERROR_TYPE_ITEM, > + item, > + "Unsupported ether_type in" > + " control packet filter."); Best not to split error messages across lines. > + return -rte_errno; > + } > + > + ret = i40e_get_outer_vlan(dev, &tpid); > + if (ret != 0) { > + rte_flow_error_set(error, EIO, > + RTE_FLOW_ERROR_TYPE_ITEM, > + item, > + "Can not get the Ethertype identifying the L2 tag"); > + return -rte_errno; > + } > + if (filter->ether_type == tpid) { > rte_flow_error_set(error, EINVAL, > RTE_FLOW_ERROR_TYPE_ITEM, > item, > @@ -1370,6 +1392,7 @@ i40e_flow_parse_ethertype_pattern(struct rte_eth_dev *dev, > " control packet filter."); > return -rte_errno; > } > + > break; > default: > break; > @@ -1641,6 +1664,7 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, > bool outer_ip = true; > uint8_t field_idx; > int ret; > + uint16_t tpid; > > memset(off_arr, 0, sizeof(off_arr)); > memset(len_arr, 0, sizeof(len_arr)); > @@ -1709,14 +1733,29 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, > ether_type = rte_be_to_cpu_16(eth_spec->hdr.ether_type); > > if (ether_type == RTE_ETHER_TYPE_IPV4 || > - ether_type == RTE_ETHER_TYPE_IPV6 || > - ether_type == i40e_get_outer_vlan(dev)) { > + ether_type == RTE_ETHER_TYPE_IPV6) { > rte_flow_error_set(error, EINVAL, > RTE_FLOW_ERROR_TYPE_ITEM, > item, > "Unsupported ether_type."); > return -rte_errno; > } > + ret = i40e_get_outer_vlan(dev, &tpid); > + if (ret != 0) { > + rte_flow_error_set(error, EIO, > + RTE_FLOW_ERROR_TYPE_ITEM, > + item, > + "Can not get the Ethertype identifying the L2 tag"); > + return -rte_errno; > + } > + if (ether_type == tpid) { > + rte_flow_error_set(error, EINVAL, > + RTE_FLOW_ERROR_TYPE_ITEM, > + item, > + "Unsupported ether_type."); > + return -rte_errno; > + } > + > input_set |= I40E_INSET_LAST_ETHER_TYPE; > filter->input.flow.l2_flow.ether_type = > eth_spec->hdr.ether_type; > @@ -1763,14 +1802,29 @@ i40e_flow_parse_fdir_pattern(struct rte_eth_dev *dev, > rte_be_to_cpu_16(vlan_spec->hdr.eth_proto); > > if (ether_type == RTE_ETHER_TYPE_IPV4 || > - ether_type == RTE_ETHER_TYPE_IPV6 || > - ether_type == i40e_get_outer_vlan(dev)) { > + ether_type == RTE_ETHER_TYPE_IPV6) { > rte_flow_error_set(error, EINVAL, > RTE_FLOW_ERROR_TYPE_ITEM, > item, > "Unsupported inner_type."); > return -rte_errno; > } > + ret = i40e_get_outer_vlan(dev, &tpid); > + if (ret != 0) { > + rte_flow_error_set(error, EIO, > + RTE_FLOW_ERROR_TYPE_ITEM, > + item, > + "Can not get the Ethertype identifying the L2 tag"); > + return -rte_errno; > + } > + if (ether_type == tpid) { > + rte_flow_error_set(error, EINVAL, > + RTE_FLOW_ERROR_TYPE_ITEM, > + item, > + "Unsupported ether_type."); > + return -rte_errno; > + } > + > input_set |= I40E_INSET_LAST_ETHER_TYPE; > filter->input.flow.l2_flow.ether_type = > vlan_spec->hdr.eth_proto; > -- > 2.43.0 >