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 84F35A034F; Mon, 7 Jun 2021 08:48:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 02B5E40041; Mon, 7 Jun 2021 08:48:33 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by mails.dpdk.org (Postfix) with ESMTP id 9E2144003E for ; Mon, 7 Jun 2021 08:48:30 +0200 (CEST) IronPort-SDR: IykevPQ+SUZxWWz2m7GgGTeK/yYPUjA68Z7ChsbV4ADrd3OCUz0AhO3V4euoaURdigU/agEoJZ pHmzpkU/m85A== X-IronPort-AV: E=McAfee;i="6200,9189,10007"; a="265726750" X-IronPort-AV: E=Sophos;i="5.83,254,1616482800"; d="scan'208";a="265726750" Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Jun 2021 23:48:29 -0700 IronPort-SDR: nwX9eusKq1iqjHf3gPlMsxImARneUTaUuSzQyKOCQ+A9wcZ2xU8RfWXjeYF9tzM6h2wlVCLqEG RkzOdcoSi1ew== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,254,1616482800"; d="scan'208";a="448990123" Received: from orsmsx606.amr.corp.intel.com ([10.22.229.19]) by fmsmga008.fm.intel.com with ESMTP; 06 Jun 2021 23:48:29 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Sun, 6 Jun 2021 23:48:28 -0700 Received: from orsmsx607.amr.corp.intel.com (10.22.229.20) by ORSMSX607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Sun, 6 Jun 2021 23:48:28 -0700 Received: from orsedg603.ED.cps.intel.com (10.7.248.4) by orsmsx607.amr.corp.intel.com (10.22.229.20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4 via Frontend Transport; Sun, 6 Jun 2021 23:48:28 -0700 Received: from NAM12-DM6-obe.outbound.protection.outlook.com (104.47.59.174) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2242.4; Sun, 6 Jun 2021 23:48:27 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mQq1XXSkHQYu7Fhzt2SDvjblR9h7NQvxfyWmGpLGBF/Do7FRqgQhgZvQyz6+crGua3wScCFN4mR/NAgEpIWz0V4uZRmdoseLN3Hr85wo/ERJ4v26wmI3pxk3rGKf8/CjV6FLBR72n9llsnbhhKZ+nTKX/FKR57/F9Kjf5dE/iOAjdSMKkfuA031kHQyY3QTQMKf94WYnGryr5cJt6If1C3iSOcKiL71jPuZOMcVG8fNcJ7pNSYikLYB+l3lHV0q4I9tOgbIPW4/KCYapn3kDt5WC0wu66tG44hPDiyFxiiGMpgU3CeWIV5dlmMzn4hyivyLU/Pkm0A9K8GsJQcfQ2g== 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-SenderADCheck; bh=dyhDfRgR3TGv/036O5yfIGoV1CSQYZqnTdh4gwec084=; b=TEZ/MxQ9Dm9k2HzBhRvzyg9X0oV9PTbFBto/eeqqHaEQJnjTnY6YOTlQMOaigQBaLUWCj69EfKIruenklREmdEMtZR+YvPX85rKeHEAklgabSPEHpwnDHBsAXv1YWWfKASCGBvXNK0bo80mW61Tpbe6VO8SNNyHZEsC964p9MdXwWQga4tynh7m0T+8t4jHCD9Ve26Hu8b7VhPbAmRNhggF2KRTboIS07EbL78rgeg3TV7Y1Ng0dmNFKPXNbq4iQonZUtDaJjV/uYLM6s/KJcZ0/kOCgJbzfqC6+yw2H5b/yH1MFgDxd3ymg3JqaVOypZnJm91/C83g5lxq5FPQSfg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dyhDfRgR3TGv/036O5yfIGoV1CSQYZqnTdh4gwec084=; b=slfu/LPaRpV6IH3+Kx7VkE/Rf4SAUwCBt0f/Fky/pqfyB4W9eVf6vjippjV8kOuhtZf1TNOMvv+z+wGgwQw6YGoMuAj6uU3ms0WrmFd6GBaRgHewd8SSKSI3ozvJBeHLpM1BI3arIwk0FlWNc92GMkfmnNPvEJhhOfIk5wsIm6Q= Received: from DM6PR11MB3723.namprd11.prod.outlook.com (2603:10b6:5:13f::25) by DM6PR11MB4121.namprd11.prod.outlook.com (2603:10b6:5:199::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4195.23; Mon, 7 Jun 2021 06:48:23 +0000 Received: from DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::90d7:889:e808:a7f2]) by DM6PR11MB3723.namprd11.prod.outlook.com ([fe80::90d7:889:e808:a7f2%6]) with mapi id 15.20.4195.030; Mon, 7 Jun 2021 06:48:23 +0000 From: "Guo, Junfeng" To: "Liu, Lingyu" CC: "Zhang, Qi Z" , "dev@dpdk.org" Thread-Topic: [PATCH v4 4/4] net/iavf: support AVF RSS for GTPoGRE packet Thread-Index: AQHXW2TsM8nj2Z51C0un7M+y7vVCrKsIGkOg Date: Mon, 7 Jun 2021 06:48:22 +0000 Message-ID: References: <20210607125115.193212-1-lingyu.liu@intel.com> <20210607125115.193212-5-lingyu.liu@intel.com> In-Reply-To: <20210607125115.193212-5-lingyu.liu@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.143.17] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: cae4f6b6-2bdb-4750-7c66-08d929803e7e x-ms-traffictypediagnostic: DM6PR11MB4121: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:3173; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kvo5tr73CKNx8fJ3Jep3+4W6Ov095/7RkuVMUL/FI0k46R+UesjzN2Bms/VSnrtkxJ3VLBZ/HqFEndAbiGFfctA9TKyW/u+pODxgzx3KfLmSD8yvXAzaY5Yq1D9DLXIpy+xxtgviiyPPPVBKUfXbSWqfxWFao1v+qbM+LMpkUKc5N4xghBRMSG9mrWJpE0s7mnjtACmBa0bO7eJCwfG6wTMhJpDFglqGnnbCymHxIqO6OWUQWUtbny6hJGwcn/olFqMfaE5nv/XA8ZUAQb40PamUGaKZbFeFAyQI7DoLoRp5nwLcfWG9BnX3Vn/SmHY3VPnEx1MeyfvKMNkeaPZCIxIpICXPkeim0/BHGAr7ZXSmatZLzXRscGOLS/Qc+XSfvZx+0YLFuZ44kQQJyTc2nWMHwPaBkyZeMJ4LeSeCQ0dy4GNTEesnsnrWqIAOOYmIlHDHfquoLzV+eAw32Q97obHBo2DT1JC5VSuaPY5WRxHBD6ogFzIX/bsDWP4YzlDBqnm6f5yveiaglQ/tLTJK8HEgPIwIkCeHjp6KTltYzloPEttVffbF6DG1MfWmT6SzCagFXp11z9QIavykadsMkScGqBjGHRAghibEelOoQfFQ3AiKWm+ieVSyXzOrsm2ziqCeeobIFaw6bkgYvRVB0A== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR11MB3723.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(39860400002)(366004)(136003)(396003)(346002)(376002)(33656002)(478600001)(71200400001)(7696005)(6506007)(6862004)(53546011)(2906002)(122000001)(55016002)(9686003)(6636002)(38100700002)(54906003)(76116006)(316002)(4326008)(186003)(64756008)(66446008)(66476007)(66946007)(52536014)(86362001)(66556008)(5660300002)(8676002)(8936002)(83380400001)(26005)(21314003); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?Ab2U73b1AEukOfneFy24p4cy+DEgrUMgzGkJbHeFIjaYr0a2VGgrJTSXbLOM?= =?us-ascii?Q?gq07ADqBI/2LLqWEiolJeNFHq4mfO9K3qo4PKKt7AjZi0FqNJ/hpd6Mcw+jz?= =?us-ascii?Q?m+am9hNUuaBqgYMwj/7m3WRPdtU8dVPicDrJPGpuGTYw1dmoWlwHwiQIfDRN?= =?us-ascii?Q?UVuuS5NmTOlOgfSdODqQ6SZiuwYSY9QHS4z+lKXbg4dWp+vuK3UDsl4vAV9z?= =?us-ascii?Q?ctQgLYQJAzkkXFrSZ7DAzROSqEzuD/goZr/TQZEz36cHpNgCJ0GcGTxoXumV?= =?us-ascii?Q?luSBvySSpv3XnSFdg4ajK2K9mGu7Wdc5FPDjf6qTu/3UEozhlffcd1nsN07K?= =?us-ascii?Q?NwQ8tPCs2Evyf8iyFUZxyiUx6mqLEQlwOPEIZLpDLxmKKTwF5z78igoaXDJy?= =?us-ascii?Q?Q4Ou8yb4KUSA3Kx18mZ6C+xSXmnaCJPXUgwQmYrn6297RcrNRDf57k05V2g+?= =?us-ascii?Q?rAfvfda3J5dTlzLWeFammnQzdsSmAPJilvX7Njbul6U0gvnWPF73WlPQwrkB?= =?us-ascii?Q?ixqzHqIwn1pu+ueCIYbtsvGKqB1GRjP4m3mez7XnnC3+pu2pSHnibxltoVIY?= =?us-ascii?Q?svhaPgn4e9+zQVvKsTdjomq79DMObqS0sGASDJsgfc4GL+NZXV9mIQQuIfML?= =?us-ascii?Q?0e9drKGzTZhyUPgBCo8lFbN++9DKFiFdOx4hGexS5MSrJvtMhbkRnzhI4Qrx?= =?us-ascii?Q?KHhBPE+aR8TQYzdXEWQwztqQGtuxJJGHlSJ1E3BELLZUr9Td2u62Ux3BapkV?= =?us-ascii?Q?OinAW1sh5799VMAaB9gVdya1Qv9w0B4fP+zSJdK71lxCZn7md8lTiL6f1gXP?= =?us-ascii?Q?YTfk6y42MzCgmyckFiM6Du7nDnYmspKSGudpSOQ4yJp1BF9egPtqFuZ1wuVl?= =?us-ascii?Q?A2+S8kSU6WD5Jn/g8jiBPGAt9Eev/UTFMEz+st9Oj6GLQyiCQfx9Jecuf2Kl?= =?us-ascii?Q?r5Ko+2mqSvEhO6Onqd/niJIHW7TUrNsgfl0JVyjZzOJETpJfjqrfN/9y3UmI?= =?us-ascii?Q?DQNgnLAbPQByoKzKDyzPKf6SHgC1uRMRnh+Ql5vGt0WDCN3k9p7eTI57VYdy?= =?us-ascii?Q?BsCWqwftn4SCMG5OXYbF7Dvtwm50TaMxQ06SBnJjMjHg/cg5TCdDgi4E8g2Z?= =?us-ascii?Q?ZpEHEdCCov/Zh4Emry1RquM7IuYzpTUiFLdte+W0RNQYxB1pCWSu96DAsOSp?= =?us-ascii?Q?kRz8Qc3jwoNu2pMO+Yorl74lMN5CfMRZKsOcJJJIuZaault+ZXPuImzaKwNf?= =?us-ascii?Q?BKJKsbTkE/Qh28uPsL2ba+5JoBzQw3RYPxCxTonDu8UsoVm8VRsGT9DXEixe?= =?us-ascii?Q?flEeGOeUTpns4JyC+7m/7/dv?= 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: DM6PR11MB3723.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: cae4f6b6-2bdb-4750-7c66-08d929803e7e X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jun 2021 06:48:22.9276 (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: 00Xlmz3tUcH6cWZlfRcgPLTzQnWz99L4niz/iMuSf+X5OWAtq4fpHZ98ecgrlG46jc/bF5l3IHr7FFGApmpeoA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4121 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH v4 4/4] net/iavf: support AVF RSS for GTPoGRE packet 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 Sender: "dev" Hi Lingyu, comments in line. > -----Original Message----- > From: Liu, Lingyu > Sent: Monday, June 7, 2021 20:51 > To: dev@dpdk.org; Zhang, Qi Z ; Xing, Beilei > ; Wu, Jingjing > Cc: Guo, Junfeng ; Liu, Lingyu > > Subject: [PATCH v4 4/4] net/iavf: support AVF RSS for GTPoGRE packet >=20 > Support AVF RSS for inner most header of GTPoGRE packet. It supports > RSS based on inner most IP src + dst address and TCP/UDP src + dst > port. >=20 > Signed-off-by: Lingyu Liu > --- > drivers/net/iavf/iavf_hash.c | 63 > +++++++++++++++++++++++++++++++++--- > 1 file changed, 58 insertions(+), 5 deletions(-) >=20 > diff --git a/drivers/net/iavf/iavf_hash.c b/drivers/net/iavf/iavf_hash.c > index 5d3d62839b..20bba5444f 100644 > --- a/drivers/net/iavf/iavf_hash.c > +++ b/drivers/net/iavf/iavf_hash.c > @@ -30,6 +30,7 @@ > #define IAVF_PHINT_GTPU_EH_UP > BIT_ULL(3) > #define IAVF_PHINT_OUTER_IPV4 BIT_ULL(4) > #define IAVF_PHINT_OUTER_IPV6 BIT_ULL(5) > +#define IAVF_PHINT_GRE BIT_ULL(6) >=20 > #define IAVF_PHINT_GTPU_MSK (IAVF_PHINT_GTPU | \ > IAVF_PHINT_GTPU_EH | \ > @@ -420,6 +421,54 @@ static struct iavf_pattern_match_item > iavf_hash_pattern_list[] =3D { > {iavf_pattern_eth_ipv6_gtpu_eh_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > {iavf_pattern_eth_ipv6_gtpu_eh_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > {iavf_pattern_eth_ipv6_gtpu_eh_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv4_gtpu_eh_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv4_gre_ipv6_gtpu_eh_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv4_gtpu_eh_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv4, > IAVF_RSS_TYPE_GTPU_IPV4, &inner_ipv4_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv4_udp, > IAVF_RSS_TYPE_GTPU_IPV4_UDP, &inner_ipv4_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv4_tcp, > IAVF_RSS_TYPE_GTPU_IPV4_TCP, &inner_ipv4_tcp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv6, > IAVF_RSS_TYPE_GTPU_IPV6, &inner_ipv6_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv6_udp, > IAVF_RSS_TYPE_GTPU_IPV6_UDP, &inner_ipv6_udp_tmplt}, > + {iavf_pattern_eth_ipv6_gre_ipv6_gtpu_eh_ipv6_tcp, > IAVF_RSS_TYPE_GTPU_IPV6_TCP, &inner_ipv6_tcp_tmplt}, [Junfeng] You can move all the iavf_pattern_eth_ipv6_xxx to block /* IPv6 *= / to make the table more clear. > {iavf_pattern_eth_ipv4_esp, > IAVF_RSS_TYPE_IPV4_ESP, &ipv4_esp_tmplt}, > {iavf_pattern_eth_ipv4_udp_esp, > IAVF_RSS_TYPE_IPV4_ESP, &ipv4_udp_esp_tmplt}, > {iavf_pattern_eth_ipv4_ah, > IAVF_RSS_TYPE_IPV4_AH, &ipv4_ah_tmplt}, > @@ -592,11 +641,11 @@ iavf_hash_parse_pattern(const struct > rte_flow_item pattern[], uint64_t *phint, >=20 > switch (item->type) { > case RTE_FLOW_ITEM_TYPE_IPV4: > - if (!(*phint & IAVF_PHINT_GTPU_MSK)) > + if (!(*phint & IAVF_PHINT_GTPU_MSK) > && !(*phint & IAVF_PHINT_GRE)) > *phint |=3D IAVF_PHINT_OUTER_IPV4; > break; > case RTE_FLOW_ITEM_TYPE_IPV6: > - if (!(*phint & IAVF_PHINT_GTPU_MSK)) > + if (!(*phint & IAVF_PHINT_GTPU_MSK) > && !(*phint & IAVF_PHINT_GRE)) > *phint |=3D IAVF_PHINT_OUTER_IPV6; > break; > case RTE_FLOW_ITEM_TYPE_GTPU: > @@ -627,6 +676,8 @@ iavf_hash_parse_pattern(const struct > rte_flow_item pattern[], uint64_t *phint, > return -rte_errno; > } > break; > + case RTE_FLOW_ITEM_TYPE_GRE: > + *phint |=3D IAVF_PHINT_GRE; > default: > break; > } > @@ -867,7 +918,7 @@ iavf_refine_proto_hdrs_by_pattern(struct > virtchnl_proto_hdrs *proto_hdrs, > struct virtchnl_proto_hdr *hdr2; > int i, shift_count =3D 1; >=20 > - if (!(phint & IAVF_PHINT_GTPU_MSK)) > + if (!(phint & IAVF_PHINT_GTPU_MSK) && !(phint & > IAVF_PHINT_GRE)) > return; >=20 > if (phint & IAVF_PHINT_LAYERS_MSK) > @@ -883,10 +934,10 @@ iavf_refine_proto_hdrs_by_pattern(struct > virtchnl_proto_hdrs *proto_hdrs, > } >=20 > if (shift_count =3D=3D 1) { > - /* adding gtpu header at layer 0 */ > + /* adding tunnel header at layer 0 */ > hdr1 =3D &proto_hdrs->proto_hdr[0]; > } else { > - /* adding gtpu header and outer ip header */ > + /* adding tunnel header and outer ip header */ > hdr1 =3D &proto_hdrs->proto_hdr[1]; > hdr2 =3D &proto_hdrs->proto_hdr[0]; > hdr2->field_selector =3D 0; > @@ -913,6 +964,8 @@ iavf_refine_proto_hdrs_by_pattern(struct > virtchnl_proto_hdrs *proto_hdrs, > VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, GTPU_EH); > else if (phint & IAVF_PHINT_GTPU) > VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, GTPU_IP); > + else if (phint & IAVF_PHINT_GRE) > + VIRTCHNL_SET_PROTO_HDR_TYPE(hdr1, GRE); [Junfeng] the phint check for GRE should be put at a single "if" rather tha= n "else if", since the GRE and GTPU phint may be set at the same time. > } >=20 > static void iavf_refine_proto_hdrs(struct virtchnl_proto_hdrs > *proto_hdrs, > -- > 2.25.1