From patchwork Mon Feb 19 09:31:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alan Elder X-Patchwork-Id: 136872 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id BDC8343B4B; Mon, 19 Feb 2024 10:31:42 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id AD15140685; Mon, 19 Feb 2024 10:31:42 +0100 (CET) Received: from EUR05-DB8-obe.outbound.protection.outlook.com (mail-db8eur05on2134.outbound.protection.outlook.com [40.107.20.134]) by mails.dpdk.org (Postfix) with ESMTP id 853084067E for ; Mon, 19 Feb 2024 10:31:41 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XZhCmNT8ULHMZHNKKBV++QGKz4vmESHpu1fwZ89dmYb0o7vD+s5MBTrHp0YS9k7ZdHPhidGJD5JuZ4TyOifK5IoXV7RZht522ws61eYm5DZSNCkvZDmoEJVHPwE78YV65c3DhQ02PExvA7Ugu87VTfIG3A2BdhZ9eltXtFqQ9wu5gol4hNdnoPcbf1/zn0YwFkncoLwKeG7YvQUrXjOkISkWVqB6VK4eXF9/x1nZ/PBjQyXFZApfrgjyqeUO+hkx/OuJ/erQeiAGy/6VsWKSRGRl5F/mb9XdMJDdQDEpfkAmdGlwv2hieSD5m3ail6EzRJOZK8xVIrw+e6Niu3k5Fg== 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=qfyaOztTc2o5uq9hrypsd2Itf+Tv8e0AXEz0+NI3/0s=; b=P2zijpV554nvOjYFGN1tYkYFTuUdRfiODGtdft2K6y0z40FQJQ6yhnSoqsck4ISgSELi+SQZLFXUF/x4apfZYBKw2vUn5mc+1oOD1bJ77HHXbdQ8/CNwAYfxOr8VSb3oHJcSJNN0DrKt3RxJgb8tVzp1CuPXGqr0eIlPe8UrtzoNyxei0lEl1BVqtLCuSptBLI0yWPwe/SViHKUZXmlBbA7gSw//A2cK028z7VK0QZ5E1H9TYeevRfNUcWuusy6MOfMFHlTCFazpB+/1Pp0fZQJgHIn7xb6k/+nZoo1SyaBu8GOrSEihqeEqDLxy9LoVNeP7vKcASTkrVRXp8O16gw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microsoft.com; dmarc=pass action=none header.from=microsoft.com; dkim=pass header.d=microsoft.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qfyaOztTc2o5uq9hrypsd2Itf+Tv8e0AXEz0+NI3/0s=; b=VyJJ3V/bAIssoIHC92OQ6TZbFL5465yAI1uf9g/B6q2/lRC71Z74lSy8uUwzUCGpnlRF1HywkoWzRvOv/4ZtPjCyYW5HAFdWbpvyvnnJ/4aHbeZ3Q+C0sZkv1cNalOS0PdPmdVqB/LQZXhqIZAzTtVviA78F7UNDgJTBTuVkmqQ= Received: from PA4PR83MB0526.EURPRD83.prod.outlook.com (2603:10a6:102:26b::17) by DBAPR83MB0421.EURPRD83.prod.outlook.com (2603:10a6:10:190::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7339.6; Mon, 19 Feb 2024 09:31:39 +0000 Received: from PA4PR83MB0526.EURPRD83.prod.outlook.com ([fe80::3256:dd6f:ad59:ee34]) by PA4PR83MB0526.EURPRD83.prod.outlook.com ([fe80::3256:dd6f:ad59:ee34%7]) with mapi id 15.20.7339.001; Mon, 19 Feb 2024 09:31:39 +0000 From: Alan Elder To: Ferruh Yigit , Long Li , Andrew Rybchenko CC: "dev@dpdk.org" , stephen Subject: [PATCH v7 2/2] net/netvsc: fix parsing of VLAN metadata Thread-Topic: [PATCH v7 2/2] net/netvsc: fix parsing of VLAN metadata Thread-Index: AQHaYxZw6hmKT4BOwkOfjURn3nVrtQ== Date: Mon, 19 Feb 2024 09:31:39 +0000 Message-ID: References: <8139ddff-aabf-4ee0-a51b-a2a658691624@amd.com> In-Reply-To: <8139ddff-aabf-4ee0-a51b-a2a658691624@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=7ae1a5e5-dec8-4ee2-a466-240d3d109cc8; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2024-02-19T09:07:03Z; MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=microsoft.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PA4PR83MB0526:EE_|DBAPR83MB0421:EE_ x-ms-office365-filtering-correlation-id: 9afebe47-ee74-4483-2163-08dc312d9350 x-ld-processed: 72f988bf-86f1-41af-91ab-2d7cd011db47,ExtAddr x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bD3vUSrxJkQEdAewS2fbNRHEKLqGK7detkumumEmsdMLzNwntjljRX486diPFhuZ17p3atj59bzd4SClCaFmFEBwYEQ+TNbIeAw9vfMjK7pWWs8Zu8nC911S+J2qxv4lJg1pcLBTwY0nnYWtbbC1TVxq7FJvLQNbv0EoUnlNVKyTRgFiVO54BarSAZWtOdt9m9U5DAzkP0Hhh9hU6ywSsNh2QmPGJ+dRugtWGXPj4vntzKyogM134xQLiAV918zStTE9/G4IERYaMUYex5EygfOPCojglpP7JaT7W9UyDD4xtQIAp3bJ08FU7NZsmk9BO1KvLDkvILGbbsODg27nt6Vg7cYT7okcw4Z9U51nnwXOx0Q+nAeUsLh/up16MqmAiYjXK6UNdjBO2ewORde/yrifBDO0DdFcta8iz7eIvbceVJuz3KDpv4/eQcMtxBzKF3nn1kVYrTmHZBCsiULQaZyU+XlAlJMnL/9cOfBqssUseoDH9ONJZxppph489g0WRYnBMjVFxvKpFqPW503cz89FhUzBaQzZAEEOTA7nVfbKY6FaDeSRrIRSpe3s3uvriz9o9usa0H+H7RAYNR4OFVc4/EJ/EZbHYTclP+IKwHcjvtGcKN07szwQne6r6yA+ x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PA4PR83MB0526.EURPRD83.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(39860400002)(366004)(346002)(136003)(376002)(396003)(230922051799003)(451199024)(1800799012)(186009)(64100799003)(6506007)(10290500003)(9686003)(7696005)(478600001)(71200400001)(54906003)(316002)(38070700009)(83380400001)(82950400001)(82960400001)(122000001)(33656002)(86362001)(38100700002)(41300700001)(110136005)(26005)(2906002)(44832011)(55016003)(8990500004)(5660300002)(66946007)(76116006)(66476007)(66556008)(4326008)(52536014)(8676002)(64756008)(66446008)(8936002); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?BOGk8CiUse/0mXPKVPqWLTXQjjGd?= =?utf-8?q?IMWm4y8VssAFBtVEWdf3b6PHbWjRmDheCjEVajngCqZnmUahDkO8SNDXQwRpwVc+g?= =?utf-8?q?32LKRiUC/GqyoAeEXquNBjZMAje/S0Ol6+9l/G1nIIFvu2l4RZ9seZG6XNI8wFm6b?= =?utf-8?q?Ow4u+KANf0TNIwyb//MVL/gyPN07CZOCVWNjkYMl4wa1UXhn/932Z+gL7uGBDf7DT?= =?utf-8?q?wEXhxsSh6a2ML7kOexiIC15e3sm5am3EeqrxlWK2yoywtp/9aVmtL5BavmSHIi15Q?= =?utf-8?q?P6iU4qvorldHqbaS+Iz3rg6OWpQNdRePZeGIUTQD53wn35pCnRe91IuCSH6aLZFQM?= =?utf-8?q?u6yLhclWSYzOm1G0xIJBsSsnTQHod4pGCDky49LF73xsSd/f5nJbFklybWm1eEK4H?= =?utf-8?q?aMAsScLCq83Dw5jj93Z0S/aNLOXZndNG8TjZtLD/Ao6xg5t77wYE0meWG6qyx59AR?= =?utf-8?q?OvmESVhyYUfdMgBH26lJxWa/DRdt549BJQRpq28aIZEUhJqkgVoHdjswsiVBu5oZp?= =?utf-8?q?ZW0SvFSj5yi5wOpSrWBTNXpHcZhXEf3TwfGHspcEwiKjXFisy0phd43tO881bs+H0?= =?utf-8?q?rSQ1nEG6LHxygDavhPUIR0p+t1hyy1S0c+wFsGVN5lqp0drCENVSYJ7RtkGUxrJ8m?= =?utf-8?q?R7d0UpiEt851IL+BLACCyXA/DRsNVEwnlRimcDOQ7olBnKL9GRACCBHXCJDITpgB9?= =?utf-8?q?3V14qkfE0x4nouWuWh2lG0h1V9UwaDy1FNJoBFQbqj9wEUvVl1+2fBg6gK4XYTfIc?= =?utf-8?q?eRr2Cu5++aWcfw2+U4MdsMsQYVtGJpp5dRNO4b1S+ytCWM1eW8NnG+8+dlN30BCtj?= =?utf-8?q?B897yFWqHKLYZvlLboKxDZDTE7YjIoo0cnyDNaT6CGaetCGLj4GpemxVlIimjuoio?= =?utf-8?q?q2ZOE3tJiglI6V33/stq+JteVPd8FU4I7ZKOgyoPnDTBUSrhEKNxPZQ14lBrzuka1?= =?utf-8?q?WSuTuL5qXEm8QIreuVLSmCmdnhUw5fiygADqkqkxxmR/idyUteHoS7qtlyAejzart?= =?utf-8?q?N8SCOI8f7jLZgA4cNrUMLRs0PUx0YC8D9Y/bEFG4uyRfzJcQIhwuDyE96fNlKVCqI?= =?utf-8?q?4uzgaWKWk7aQ/jDCMlIE4JlofPlmLHnejbYIG5ltn/bUxaeEJEo9rI8+hYts1GcS7?= =?utf-8?q?fll45XnvjtnELvTLMAK8mX6Tsa/ts1HVFuEES1uXgnFV8COkLA04XuSS/qrRCU8Qn?= =?utf-8?q?xMowMhO493KN1Y0GRM+jqXJ/MrZEBLCHxoWJvVfr1hdAjlD6Kky/PLVOTZemp3HX/?= =?utf-8?q?1Olp6u7vyhc5gZLGmLZNs5GzPHZ059iEyd0akPdJezLoGHBrjIao4/OTe8oYubeD3?= =?utf-8?q?HWFFQyZUsmcS+0WoF5yIhQqZkrsfPVhVKnW0zzN9Anq16gDUfGhYELpC+TzzkfyTP?= =?utf-8?q?N/KDxf8rTSVr/b845Gy0gIfNNOjgPTHNeSjGRRCZGNPcJX8uvPbPxnaSkOPQ2x1ui?= =?utf-8?q?UEJwFO2AKtke6?= MIME-Version: 1.0 X-OriginatorOrg: microsoft.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PA4PR83MB0526.EURPRD83.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9afebe47-ee74-4483-2163-08dc312d9350 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Feb 2024 09:31:39.4271 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: bYuy58WiKF7FwVDQeuiYotsnwE1nnY7Fm9Ly/kLYgpY6ZLQfjBh9PEnc3noU78eH7r/oEsPz5dqa+YfUa6W8LA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DBAPR83MB0421 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 The previous code incorrectly parsed the VLAN ID and priority. If the 16-bits of VLAN ID and priority/CFI on the wire was 0123456789ABCDEF the code parsed it as 456789ABCDEF3012. There were macros defined to handle this conversion but they were not used. Fixes: 4e9c73e96e83 ("net/netvsc: add Hyper-V network device") Cc: sthemmin@microsoft.com Cc: stable@dpdk.org Signed-off-by: Alan Elder Acked-by: Ferruh Yigit --- v7: * Split into two patches, one for lib and one for driver v6: * Line length can be 100 - un-split lines v5: * Move the VLAN parsing macros to rte_ether.h v4: * Make consistent with FreeBSD code --- drivers/net/netvsc/hn_rxtx.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) -- 2.25.1 diff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c index e4f5015aa3..9bf1ec5509 100644 --- a/drivers/net/netvsc/hn_rxtx.c +++ b/drivers/net/netvsc/hn_rxtx.c @@ -612,7 +612,9 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb, RTE_PTYPE_L4_MASK); if (info->vlan_info != HN_NDIS_VLAN_INFO_INVALID) { - m->vlan_tci = info->vlan_info; + m->vlan_tci = RTE_VLAN_TCI_MAKE(NDIS_VLAN_INFO_ID(info->vlan_info), + NDIS_VLAN_INFO_PRI(info->vlan_info), + NDIS_VLAN_INFO_CFI(info->vlan_info)); m->ol_flags |= RTE_MBUF_F_RX_VLAN_STRIPPED | RTE_MBUF_F_RX_VLAN; /* NDIS always strips tag, put it back if necessary */ @@ -1332,7 +1334,9 @@ static void hn_encap(struct rndis_packet_msg *pkt, if (m->ol_flags & RTE_MBUF_F_TX_VLAN) { pi_data = hn_rndis_pktinfo_append(pkt, NDIS_VLAN_INFO_SIZE, NDIS_PKTINFO_TYPE_VLAN); - *pi_data = m->vlan_tci; + *pi_data = NDIS_VLAN_INFO_MAKE(RTE_VLAN_TCI_ID(m->vlan_tci), + RTE_VLAN_TCI_PRI(m->vlan_tci), + RTE_VLAN_TCI_DEI(m->vlan_tci)); } if (m->ol_flags & RTE_MBUF_F_TX_TCP_SEG) {