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 6196FA0518 for ; Fri, 24 Jul 2020 10:01:18 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 905BC1C029; Fri, 24 Jul 2020 10:01:17 +0200 (CEST) Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id AE8831BFE5; Fri, 24 Jul 2020 10:01:12 +0200 (CEST) IronPort-SDR: hEtFdLOBIJpVq8NxwLaiVVJBsoWEs9BxkhkILQ+Uq4TFwryevMCsApLN/1RMd8Zj6M+Os/5KwI UjzaNmlj86Rg== X-IronPort-AV: E=McAfee;i="6000,8403,9691"; a="138738499" X-IronPort-AV: E=Sophos;i="5.75,389,1589266800"; d="scan'208";a="138738499" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jul 2020 01:01:10 -0700 IronPort-SDR: 1fHzQ+4acL8UUV5Aa/XoOnaVZD+kdxBQtI+6nLfJvXneW5/0fTCnrQGOp1vkLvmkC8KHBbXp2z cPfy9u5sQ3Ww== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,389,1589266800"; d="scan'208";a="363298776" Received: from orsmsx107.amr.corp.intel.com ([10.22.240.5]) by orsmga001.jf.intel.com with ESMTP; 24 Jul 2020 01:01:10 -0700 Received: from orsmsx157.amr.corp.intel.com (10.22.240.23) by ORSMSX107.amr.corp.intel.com (10.22.240.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 24 Jul 2020 01:01:09 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by ORSMSX157.amr.corp.intel.com (10.22.240.23) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 24 Jul 2020 01:01:09 -0700 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.103) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Fri, 24 Jul 2020 01:01:09 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DEPkHY2swdSZjLAWQkhnZAjSJA/AhFn6q+iDGHBEsP9g28od1/RXvKs4FPbeG5vee0WH2+uOf1QW8al8/gPfcFpMV3/aAFFyxllgOFqQ/ELLYD5AMoGh0MLMWlLO2JWCfpuYdSy5OWXcby6goYhkBZ4xv25MKqFNWP7wLe+kOCRsVWlfYdwQji05RaJGql36u5PHGDhvLWlzOyxiV0H2EuFH8nc0bDxky1kTvhS1q92DhgdED7nRYCw0AbtItk3mtRImcDsZRRfY0/mkDooE+Ra8SzEHyLJ4fA5vGyvRfxBPV0kJcFm7VJHcng4JUE8jEQdqnJyiYEj4RoTgFop5BA== 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=0/ocXwBkA1oX6Lgq0sDB6sW1PJsbdAVJj1hNUmKOtHk=; b=GA7a3DgjC29VKauBSfuVTqHV9YP4DVIQ5O0wfkwgzHYx33nD77UsYsRsB74oU94xKOlwQzgwZe9Avzj7QggSUrn2b9CBrx3udRrPSSzAySQOSpSGlgrVZEH3bUKNKE95yIOzPAwU7HmWa7aJ4S76pU+kX0lo5NOOoEvI8oMtavR2s9DxhS7rQX55MftPYP0S04xxhmeJbUvuz/L/yY3hQf/CgzyOG3BaFi1I6ImUshiWzyj94+Ilk3hSarSNC9S5X9G4kuP7FF9/MJd15k/5sM9p//5KPtk8P3cyRlB+CHR3w1Tt7tOIE2R7gEnVbtYG309vddfr0AeoMkg4PNq/cw== 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=0/ocXwBkA1oX6Lgq0sDB6sW1PJsbdAVJj1hNUmKOtHk=; b=D2Lof/lj95HRMYdYEMOM1v8NC8vYMP9RrwU3u4Vqx/gCD+ATnesRBsFP9VTEi2SrTZNln0CSLxA6sQolvD1RQo3UN/2Pget2Kupsbt6U3vYZ5HCXcZfd9Dhnz9dGyB7tTIKSliPDvyz6cQHUhXbUIvnnEgrG8j5473NwcGV9veM= Received: from DM5PR11MB1387.namprd11.prod.outlook.com (2603:10b6:3:7::21) by DM6PR11MB4514.namprd11.prod.outlook.com (2603:10b6:5:2a3::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3216.23; Fri, 24 Jul 2020 08:01:07 +0000 Received: from DM5PR11MB1387.namprd11.prod.outlook.com ([fe80::4dcc:62a8:8b08:ba46]) by DM5PR11MB1387.namprd11.prod.outlook.com ([fe80::4dcc:62a8:8b08:ba46%7]) with mapi id 15.20.3216.026; Fri, 24 Jul 2020 08:01:07 +0000 From: "Zhao1, Wei" To: "dev@dpdk.org" CC: "stable@dpdk.org" , "Zhang, Qi Z" , "Guo, Jia" , "Xing, Beilei" Thread-Topic: [PATCH] net/i40e: enable i40e outer VLAN strip in QinQ Thread-Index: AQHWYYv5kz3DIplQhU+EausPCPbmVKkWXeIg Date: Fri, 24 Jul 2020 08:01:07 +0000 Message-ID: References: <20200724070137.10003-1-wei.zhao1@intel.com> In-Reply-To: <20200724070137.10003-1-wei.zhao1@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiM2RhZjA5OGItYmMwYS00NTJkLTg4ZTItMjdjMjQ0MGViMjBkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiR0IyZ1dDaVZrQm9WN05oUk9XWlZGUHRGSkJLM3VmRlcwOVVzM3ZydDgwOE1cLzZPOVNkQnpBcXJMbDlPWGNlemEifQ== dlp-version: 11.0.600.7 dlp-product: dlpe-windows x-ctpclassification: CTP_NT dlp-reaction: no-action authentication-results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.193] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c7edc632-59da-42a1-fbdc-08d82fa7b889 x-ms-traffictypediagnostic: DM6PR11MB4514: 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:4502; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UdXIe+huu2ICdDaILXCxGT45g+3B1DFxmdFjTC1PAOOjFHyw0KNHfrzcQOWSPMZyEroFXDG4RcSDiOCeCTzyTZbagB/ft70tQIzZjkf9Q1zCkw0iwum38y0xS7/zGB7GaTnnIWEUGvo6mu7vQcmPgUoh68eIyuqZX2TFYQ86sp3U6SZbN8K9pW10BBdfmLMosH1FWt/EoYrX6rYurnld1Ojmz+GZxu8Brux7l3Msr9EBURf6H5IM9luf1lKF3VJLZN3bGnHfwdAobVcwbFfPASZJkiMeumgMYTPJr2EgHKhQADrSuFNc6JzHj7/j2grK x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR11MB1387.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(346002)(39860400002)(136003)(376002)(366004)(396003)(7696005)(4326008)(6916009)(52536014)(66556008)(64756008)(450100002)(66476007)(5660300002)(66446008)(66946007)(83380400001)(53546011)(6506007)(33656002)(71200400001)(86362001)(316002)(8676002)(186003)(9686003)(55016002)(107886003)(76116006)(26005)(478600001)(54906003)(2906002)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata: eaDMjwUD7k6NEFv387M6LktuNKCO5SJxYkcMOWORobWKznidOpN5ebwzIagqnwTulTE8oqBeDqJ34XcmgAWpAM0ZLhqSKtt1FkiiXB9huoFk7jJDwZggaQ46wlPDl0+qpCFutlwWwLfJql7lXIIbmtGYYis3ch2Yx8XlPsN0G4bZFnm5ANJywksHQ6/RaLofbFlpASs44uu4b467gsNLld7oW11/CIW/61UAeIEDaCczb+Ur3nD1E+m6dcdUj1/xNwCDGEp7C8tIvgrDJyjD5aD55qwjpKBY83/Xohes9aurraC5B5GHPUjt7S6etmumNRgsi43BZUPXOti7fQgHYPgqoVRA4/Dp+zegGenSJ+NVuuxhEEpd/tDCrY4N6s3wPtXd2qCkQXyi5RDlS09jEhtR3CB7PdluwoG345++dK0tfEPjr1J8UcA98yRJn0fdjelP2sptkiZS8eM6JX5MKq3JL7cX94EwGwReZwYviwoPBCJUf0EOymOzf4M8+40g 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: DM5PR11MB1387.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c7edc632-59da-42a1-fbdc-08d82fa7b889 X-MS-Exchange-CrossTenant-originalarrivaltime: 24 Jul 2020 08:01:07.3240 (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: xjwljfOdT4yKlHc7TGNTM2J3bxyRgQLBFXNEhNdbHmI7W547ohxmzFqyEj5nASubMH/tMBIzpEU+8YeXmvbV+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB4514 X-OriginatorOrg: intel.com Subject: Re: [dpdk-stable] [PATCH] net/i40e: enable i40e outer VLAN strip in QinQ X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.15 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 Sender: "stable" Add maintainers. > -----Original Message----- > From: Zhao1, Wei > Sent: Friday, July 24, 2020 3:02 PM > To: dev@dpdk.org > Cc: stable@dpdk.org; Zhang, Qi Z ; Zhao1, Wei > > Subject: [PATCH] net/i40e: enable i40e outer VLAN strip in QinQ >=20 > This patch enable i40e outer vlan strip on and off in QinQ mode with mask= bit of > DEV_RX_OFFLOAD_QINQ_STRIP, users can use "vlan set qinq_strip on 0" to > enable or "vlan set qinq_strip on 0" to disable i40e outer vlan strip whe= n try > with testpmd app. >=20 > Fixes: 4861cde46116 (i40e: new poll mode driver) >=20 > Signed-off-by: Wei Zhao > --- > drivers/net/i40e/i40e_ethdev.c | 45 +++++++++++++++++++++++++++++++++- > 1 file changed, 44 insertions(+), 1 deletion(-) >=20 > diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethde= v.c > index 05d5f2861..f5be6606c 100644 > --- a/drivers/net/i40e/i40e_ethdev.c > +++ b/drivers/net/i40e/i40e_ethdev.c > @@ -48,6 +48,8 @@ > #define ETH_I40E_VF_MSG_CFG "vf_msg_cfg" >=20 > #define I40E_CLEAR_PXE_WAIT_MS 200 > +#define I40E_VSI_TSR_QINQ_STRIP 0x4010 > +#define I40E_VSI_TSR(_i) (0x00050800 + ((_i) * 4)) >=20 > /* Maximun number of capability elements */ > #define I40E_MAX_CAP_ELE_NUM 128 > @@ -3968,6 +3970,39 @@ i40e_vlan_tpid_set(struct rte_eth_dev *dev, > return ret; > } >=20 > +/* Configure outer vlan stripping on or off in QinQ mode */ static int > +i40e_vsi_config_outer_vlan_stripping(struct i40e_vsi *vsi, bool on) { > + struct i40e_hw *hw =3D I40E_VSI_TO_HW(vsi); > + int ret =3D I40E_SUCCESS; > + uint32_t reg; > + > + if (vsi->vsi_id >=3D I40E_MAX_NUM_VSIS) { > + PMD_DRV_LOG(ERR, "VSI ID exceeds the maximum"); > + return -EINVAL; > + } > + > + /* Configure for outer VLAN RX stripping */ > + reg =3D I40E_READ_REG(hw, I40E_VSI_TSR(vsi->vsi_id)); > + > + if (on) > + reg |=3D I40E_VSI_TSR_QINQ_STRIP; > + else > + reg &=3D ~I40E_VSI_TSR_QINQ_STRIP; > + > + ret =3D i40e_aq_debug_write_register(hw, > + I40E_VSI_TSR(vsi->vsi_id), > + reg, NULL); > + if (ret < 0) { > + PMD_DRV_LOG(ERR, "Failed to update VSI_TSR[%d]", > + vsi->vsi_id); > + return I40E_ERR_CONFIG; > + } > + > + return ret; > +} > + > static int > i40e_vlan_offload_set(struct rte_eth_dev *dev, int mask) { @@ -4004,6 > +4039,14 @@ i40e_vlan_offload_set(struct rte_eth_dev *dev, int mask) > i40e_vsi_config_double_vlan(vsi, FALSE); > } >=20 > + if (mask & ETH_QINQ_STRIP_MASK) { > + /* Enable or disable outer VLAN stripping */ > + if (rxmode->offloads & DEV_RX_OFFLOAD_QINQ_STRIP) > + i40e_vsi_config_outer_vlan_stripping(vsi, TRUE); > + else > + i40e_vsi_config_outer_vlan_stripping(vsi, FALSE); > + } > + > return 0; > } >=20 > @@ -6178,6 +6221,7 @@ i40e_dev_init_vlan(struct rte_eth_dev *dev) >=20 > /* Apply vlan offload setting */ > mask =3D ETH_VLAN_STRIP_MASK | > + ETH_QINQ_STRIP_MASK | > ETH_VLAN_FILTER_MASK | > ETH_VLAN_EXTEND_MASK; > ret =3D i40e_vlan_offload_set(dev, mask); @@ -10872,7 +10916,6 @@ > i40e_configure_registers(struct i40e_hw *hw) > } > } >=20 > -#define I40E_VSI_TSR(_i) (0x00050800 + ((_i) * 4)) > #define I40E_VSI_TSR_QINQ_CONFIG 0xc030 > #define I40E_VSI_L2TAGSTXVALID(_i) (0x00042800 + ((_i) * 4)) #define > I40E_VSI_L2TAGSTXVALID_QINQ 0xab > -- > 2.19.1