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 5856AA0093; Mon, 18 May 2020 10:27:29 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C84C01D51E; Mon, 18 May 2020 10:27:28 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 41A651D170; Mon, 18 May 2020 10:27:27 +0200 (CEST) IronPort-SDR: QcWnILZoBWnQw/2RL6JxH3KQDwXmKL7W61/N2+5nrq2PiulKUmlAq8tFwFu2zeURg/gl0alYl4 ImJ8z/2Uyv/w== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 May 2020 01:27:26 -0700 IronPort-SDR: 873EXtObzL2Ha0Xs1gfjAEl9he7kMkCm1RkkBcVkapIfLO1xYEUB/iM7vr2yAH/hxNmeNZgaYu 2rtO9+evUtlQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,406,1583222400"; d="scan'208";a="281900626" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga002.jf.intel.com with ESMTP; 18 May 2020 01:27:26 -0700 Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 01:27:25 -0700 Received: from FMSEDG001.ED.cps.intel.com (10.1.192.133) by fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 01:27:25 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (104.47.58.102) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 18 May 2020 01:27:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DxZTRRrfPCb+6qemxpe/ELigs8Rj6PTes8u55Sja2dK2NhA6jPEe2jkvgMbvskeg7JiMW7Fn9t4KH7oMgn1e9gKGd5ZpFphbYxHcocTZWjb4E+gi5PCoPnzS80i9e60VLwAkBKx13Q4vqIbWRIccn9FYWwYxhY0s2PSc73GQ5R5i+VUpz1DC9SmrM6yyHzi9NhHyQ6n7qnPGKHJ9F+ylqXbDTrbpBhPOEDp1OUt/euUoHKdsprRAYZd76+iUPtAGvh5HbMBJI+KPeaW5+3rkxvBX+X+zapmdrQNw3AWEAyzZ5FCxVawCfq1L6NZlK5ipO+67dZifYLjNgR1S3B5K3Q== 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=obeJec8yj2j1BtNcek/A3cFbAnsMoGucK3zkF4KxLDI=; b=ClrKDltbpXs0Gj9jTQpWCWkwQs/sgDMnLGg/j9oOLYAVXel0ejUqTvWIvvOtecEerjc07hhq50WjWbA9HzmNxuwc5edonOjuHH3TpCycwrrYUOov/ps91zDuI83Jx1I4cvVL0aaLq60qwxsT5v9Fn85NCrpTM7ohpWQhWxLWFyypKfxj1Ebw49EuuuwsoN8naYQ3kF+LOXO0OmieFXKEY/ffRyoJZl7xjnHmJ0D/Q4LoCjH5YsvPfDtfiE6aBZIQddJzr9Uv0P7ReJ3v180qV/G1uA8OpiiruS6YnLgUXI0cezXO4KHSMUg6zYKaN9L2vjgBsv2so7LdtOm0F8nkXQ== 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=obeJec8yj2j1BtNcek/A3cFbAnsMoGucK3zkF4KxLDI=; b=sE8gjI4A5MxD2ailnZbnPcn3MqJmdzJFhgjQPm+bUHoFkDflqXn+CfriZkI79loI7ogdDp2JbNtWl2vLhlbeNahCcvRXSqZ9Xvr2dJ5lMQFRSbaCkEd564D4JClyzBCWTUQkGJ1sw+tu9Rxjw3qCuvcDONA1Fuft8BMGGZ/vXks= Received: from MN2PR11MB3582.namprd11.prod.outlook.com (2603:10b6:208:ec::28) by MN2PR11MB4694.namprd11.prod.outlook.com (2603:10b6:208:266::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3000.26; Mon, 18 May 2020 08:27:23 +0000 Received: from MN2PR11MB3582.namprd11.prod.outlook.com ([fe80::e1c5:b5cf:5a94:379f]) by MN2PR11MB3582.namprd11.prod.outlook.com ([fe80::e1c5:b5cf:5a94:379f%3]) with mapi id 15.20.3000.034; Mon, 18 May 2020 08:27:23 +0000 From: "Yang, Qiming" To: "Zhang, Qi Z" CC: "dev@dpdk.org" , "Su, Simei" , "Ye, Xiaolong" , "stable@dpdk.org" Thread-Topic: [PATCH] net/ice: fix RSS for GTPU Thread-Index: AQHWKR8xZlbKSdluG02fkdu7381S66itifIA Date: Mon, 18 May 2020 08:27:22 +0000 Message-ID: References: <20200513121144.40566-1-qi.z.zhang@intel.com> In-Reply-To: <20200513121144.40566-1-qi.z.zhang@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: 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.102.204.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 570881db-3448-40d1-20d2-08d7fb0549fc x-ms-traffictypediagnostic: MN2PR11MB4694: 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:1388; x-forefront-prvs: 04073E895A x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: w3oP0ft+3fQYFh3Nf3fmx7hry04E/VJq2v2ISfu7kfekDU1GXFhMHtirtfpr+hAOWOqZBaFxbPzmn6aC2Cmc712qm9WUxidSxZl07HYmk43I14zlA7I+SloYtnK0H7XmADE8ygGKaFoPS+xooBKs1KaXFavY0PfhcS2SmLokF70Ri/ixnt3d7ygUdVO+YXjFGM+08np+Zsjvv9A8x/AMSO1W/kmpVSpdc4GQhwK5VlsuadP5b88xHkovZM2X6U6Czfn8FE+hGutV2ocPy6FQlbd1NphT2wy9yhrKrUfS7m1zGTWhIISNGZMfH6EOrggSAaa0UxCs1vyRwygZu7puC68hvd/L683Yk9AJ1huNOQTYX1QKgy1MFG1+Yq9LeMlXfuBZFCDNIEC2IyOa3AbuD2NWM5kQeUCrzso6a1ECQoeQncW9KBJ7ijOYL/WIOW+z x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:MN2PR11MB3582.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(136003)(39860400002)(396003)(346002)(366004)(376002)(7696005)(53546011)(478600001)(6506007)(450100002)(316002)(4326008)(26005)(33656002)(54906003)(71200400001)(52536014)(2906002)(186003)(8936002)(8676002)(5660300002)(6862004)(55016002)(9686003)(66476007)(66556008)(64756008)(66946007)(6636002)(86362001)(76116006)(66446008); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: oOerb94CiqXQZBOrFtVNeIWBoyrSyeCCTRMFwfLqrr9RAyuUX7cIUjoOfkocZYc5LLKOvpz/Gwjq0e/rD1Tsdp3PYlEynTKicf5yw5HlUwH78RIYQO1VKB5N5TA+zWblGhePqPiqnkohkEXjf+M+7Wc14pL+/eMOiOVPkX/zmjLRr1Wb9GYTA48ezlHWrR4pGLrzctddy3tQ/oSWIHInaYyLTPkrLwaWOQ/t1EOajBaRsLnyERhcFkJsQ6fmnjLglKqLqYr/q2epb0ReK9ZmfmkfdYYTf83OhXV5DrU1L2zTH0sC/XH6w0VdpHNjRqjBlCGL/1nrMY8z/vms8GCqzn+Co7c5O/9+yV8ehGX0aJM6CfOqvd8JiN3hpQGmGu/CWQ9QK3kMzPgDU5/ptl0jDI7RbD4j4aIKuUzn0TKA7SVjZEqK+RNoI9DJ5ru/kIJg6dfgX3uLXlQPPnkyms7VXFMUFow8NKTmr2rBxchKKAyAFHM1XJqUjmUjk05Iyz8d Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 570881db-3448-40d1-20d2-08d7fb0549fc X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2020 08:27:22.9373 (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: qVcRusgGcepQSQycPQ9VWgc1wTGQUsRikgk+AlEtxcmpG1qQVXPsf8InGdlNG1Mo5wQSNThMC2IGFAlXA1i/IQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4694 X-OriginatorOrg: intel.com Subject: Re: [dpdk-dev] [PATCH] net/ice: fix RSS for GTPU 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" Acked-by: Qiming Yang > -----Original Message----- > From: Zhang, Qi Z > Sent: Wednesday, May 13, 2020 20:12 > To: Yang, Qiming > Cc: dev@dpdk.org; Su, Simei ; Ye, Xiaolong > ; Zhang, Qi Z ; > stable@dpdk.org > Subject: [PATCH] net/ice: fix RSS for GTPU >=20 > All supported pattern for GTPU include extend header: > pattern_eth_ipv4_gtpu_eh_ipv4 > pattern_eth_ipv4_gtpu_eh_ipv4_udp > pattern_eth_ipv4_gtpu_eh_ipv4_tcp >=20 > So the RSS rule should only take effect on GTPU packet that contains exte= nd > header. The patch fix above issue and also allow inner l4 port as input s= et. >=20 > Fixes: c08a72c79c7f ("net/ice: fix pattern name of GTPU with extension > header") > Cc: stable@dpdk.org >=20 > Signed-off-by: Qi Zhang > --- > drivers/net/ice/base/ice_flow.c | 42 +++++++++++++++++++++++++++++-- > ---------- > drivers/net/ice/base/ice_flow.h | 1 + > drivers/net/ice/ice_hash.c | 10 +++++++--- > 3 files changed, 38 insertions(+), 15 deletions(-) >=20 > diff --git a/drivers/net/ice/base/ice_flow.c > b/drivers/net/ice/base/ice_flow.c index c876377ed..fbb4ae009 100644 > --- a/drivers/net/ice/base/ice_flow.c > +++ b/drivers/net/ice/base/ice_flow.c > @@ -694,11 +694,41 @@ ice_flow_proc_seg_hdrs(struct > ice_flow_prof_params *params) > (const ice_bitmap_t *)ice_ptypes_ipv4_il; > ice_and_bitmap(params->ptypes, params->ptypes, > src, > ICE_FLOW_PTYPE_MAX); > + if (hdrs & ICE_FLOW_SEG_HDR_UDP) { > + src =3D (const ice_bitmap_t > *)ice_ptypes_udp_il; > + ice_and_bitmap(params->ptypes, > + params->ptypes, src, > + ICE_FLOW_PTYPE_MAX); > + } else if (hdrs & ICE_FLOW_SEG_HDR_TCP) { > + ice_and_bitmap(params->ptypes, params- > >ptypes, > + (const ice_bitmap_t *) > + ice_ptypes_tcp_il, > + ICE_FLOW_PTYPE_MAX); > + } else if (hdrs & ICE_FLOW_SEG_HDR_SCTP) { > + src =3D (const ice_bitmap_t > *)ice_ptypes_sctp_il; > + ice_and_bitmap(params->ptypes, params- > >ptypes, > + src, ICE_FLOW_PTYPE_MAX); > + } > } else if (hdrs & ICE_FLOW_SEG_HDR_IPV6) { > src =3D !i ? (const ice_bitmap_t > *)ice_ptypes_ipv6_ofos : > (const ice_bitmap_t *)ice_ptypes_ipv6_il; > ice_and_bitmap(params->ptypes, params->ptypes, > src, > ICE_FLOW_PTYPE_MAX); > + if (hdrs & ICE_FLOW_SEG_HDR_UDP) { > + src =3D (const ice_bitmap_t > *)ice_ptypes_udp_il; > + ice_and_bitmap(params->ptypes, > + params->ptypes, src, > + ICE_FLOW_PTYPE_MAX); > + } else if (hdrs & ICE_FLOW_SEG_HDR_TCP) { > + ice_and_bitmap(params->ptypes, params- > >ptypes, > + (const ice_bitmap_t *) > + ice_ptypes_tcp_il, > + ICE_FLOW_PTYPE_MAX); > + } else if (hdrs & ICE_FLOW_SEG_HDR_SCTP) { > + src =3D (const ice_bitmap_t > *)ice_ptypes_sctp_il; > + ice_and_bitmap(params->ptypes, params- > >ptypes, > + src, ICE_FLOW_PTYPE_MAX); > + } > } >=20 > if (hdrs & ICE_FLOW_SEG_HDR_ICMP) { > @@ -706,18 +736,6 @@ ice_flow_proc_seg_hdrs(struct > ice_flow_prof_params *params) > (const ice_bitmap_t *)ice_ptypes_icmp_il; > ice_and_bitmap(params->ptypes, params->ptypes, > src, > ICE_FLOW_PTYPE_MAX); > - } else if (hdrs & ICE_FLOW_SEG_HDR_UDP) { > - src =3D (const ice_bitmap_t *)ice_ptypes_udp_il; > - ice_and_bitmap(params->ptypes, params->ptypes, > src, > - ICE_FLOW_PTYPE_MAX); > - } else if (hdrs & ICE_FLOW_SEG_HDR_TCP) { > - ice_and_bitmap(params->ptypes, params->ptypes, > - (const ice_bitmap_t *)ice_ptypes_tcp_il, > - ICE_FLOW_PTYPE_MAX); > - } else if (hdrs & ICE_FLOW_SEG_HDR_SCTP) { > - src =3D (const ice_bitmap_t *)ice_ptypes_sctp_il; > - ice_and_bitmap(params->ptypes, params->ptypes, > src, > - ICE_FLOW_PTYPE_MAX); > } else if (hdrs & ICE_FLOW_SEG_HDR_GRE) { > if (!i) { > src =3D (const ice_bitmap_t > *)ice_ptypes_gre_of; diff --git a/drivers/net/ice/base/ice_flow.h > b/drivers/net/ice/base/ice_flow.h index 37f1c76ae..44e4bf79a 100644 > --- a/drivers/net/ice/base/ice_flow.h > +++ b/drivers/net/ice/base/ice_flow.h > @@ -160,6 +160,7 @@ enum ice_flow_seg_hdr { > * ICE_FLOW_SEG_HDR_GTPU_UP 1 1 > */ > #define ICE_FLOW_SEG_HDR_GTPU (ICE_FLOW_SEG_HDR_GTPU_IP | \ > + ICE_FLOW_SEG_HDR_GTPU_EH | \ > ICE_FLOW_SEG_HDR_GTPU_DWN | \ > ICE_FLOW_SEG_HDR_GTPU_UP) > #define ICE_FLOW_SEG_HDR_PFCP (ICE_FLOW_SEG_HDR_PFCP_NODE | \ > diff --git a/drivers/net/ice/ice_hash.c b/drivers/net/ice/ice_hash.c inde= x > 72c8ddc9a..11435cbfb 100644 > --- a/drivers/net/ice/ice_hash.c > +++ b/drivers/net/ice/ice_hash.c > @@ -95,7 +95,7 @@ struct rss_type_match_hdr hint_7 =3D { struct > rss_type_match_hdr hint_8 =3D { > ICE_FLOW_SEG_HDR_IPV6 | ICE_FLOW_SEG_HDR_SCTP, > ETH_RSS_NONFRAG_IPV6_SCTP}; struct rss_type_match_hdr hint_9 =3D { > - ICE_FLOW_SEG_HDR_GTPU_IP, ETH_RSS_IPV4}; > + ICE_FLOW_SEG_HDR_GTPU_EH, ETH_RSS_IPV4}; > struct rss_type_match_hdr hint_10 =3D { > ICE_FLOW_SEG_HDR_PPPOE, ETH_RSS_IPV4}; > struct rss_type_match_hdr hint_11 =3D { > @@ -104,6 +104,10 @@ struct rss_type_match_hdr hint_12 =3D { > ICE_FLOW_SEG_HDR_PPPOE, ETH_RSS_NONFRAG_IPV4_TCP}; > struct rss_type_match_hdr hint_13 =3D { > ICE_FLOW_SEG_HDR_PPPOE, ETH_RSS_NONFRAG_IPV4_SCTP}; > +struct rss_type_match_hdr hint_14 =3D { > + ICE_FLOW_SEG_HDR_GTPU_EH, ETH_RSS_NONFRAG_IPV4_UDP}; > struct > +rss_type_match_hdr hint_15 =3D { > + ICE_FLOW_SEG_HDR_GTPU_EH, ETH_RSS_NONFRAG_IPV4_TCP}; >=20 > /* Supported pattern for os default package. */ static struct > ice_pattern_match_item ice_hash_pattern_list_os[] =3D { @@ -130,8 +134,8 > @@ static struct ice_pattern_match_item ice_hash_pattern_list_comms[] =3D > { > {pattern_eth_ipv6_sctp, ICE_INSET_NONE, > &hint_8}, > {pattern_empty, ICE_INSET_NONE, > &hint_0}, > {pattern_eth_ipv4_gtpu_eh_ipv4, ICE_INSET_NONE, > &hint_9}, > - {pattern_eth_ipv4_gtpu_eh_ipv4_udp, ICE_INSET_NONE, &hint_9}, > - {pattern_eth_ipv4_gtpu_eh_ipv4_tcp, ICE_INSET_NONE, &hint_9}, > + {pattern_eth_ipv4_gtpu_eh_ipv4_udp, ICE_INSET_NONE, > &hint_14}, > + {pattern_eth_ipv4_gtpu_eh_ipv4_tcp, ICE_INSET_NONE, &hint_15}, > {pattern_eth_pppoes_ipv4, ICE_INSET_NONE, &hint_10}, > {pattern_eth_pppoes_ipv4_udp, ICE_INSET_NONE, > &hint_11}, > {pattern_eth_pppoes_ipv4_tcp, ICE_INSET_NONE, > &hint_12}, > -- > 2.13.6