get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/136536/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 136536,
    "url": "http://patchwork.dpdk.org/api/patches/136536/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/PA4PR83MB0526CCCB791C5510CE053A9497442@PA4PR83MB0526.EURPRD83.prod.outlook.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<PA4PR83MB0526CCCB791C5510CE053A9497442@PA4PR83MB0526.EURPRD83.prod.outlook.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/PA4PR83MB0526CCCB791C5510CE053A9497442@PA4PR83MB0526.EURPRD83.prod.outlook.com",
    "date": "2024-02-08T15:09:10",
    "name": "[v3] net/netvsc: fix parsing of VLAN metadata",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "623d5f77a3d3d7a7e359bdf79b437ce46dd23534",
    "submitter": {
        "id": 3272,
        "url": "http://patchwork.dpdk.org/api/people/3272/?format=api",
        "name": "Alan Elder",
        "email": "alan.elder@microsoft.com"
    },
    "delegate": {
        "id": 319,
        "url": "http://patchwork.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/PA4PR83MB0526CCCB791C5510CE053A9497442@PA4PR83MB0526.EURPRD83.prod.outlook.com/mbox/",
    "series": [
        {
            "id": 31053,
            "url": "http://patchwork.dpdk.org/api/series/31053/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=31053",
            "date": "2024-02-08T15:09:10",
            "name": "[v3] net/netvsc: fix parsing of VLAN metadata",
            "version": 3,
            "mbox": "http://patchwork.dpdk.org/series/31053/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/136536/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/136536/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "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])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A639843AE0;\n\tThu,  8 Feb 2024 16:09:14 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 2D5814028B;\n\tThu,  8 Feb 2024 16:09:14 +0100 (CET)",
            "from EUR03-AM7-obe.outbound.protection.outlook.com\n (mail-am7eur03on2118.outbound.protection.outlook.com [40.107.105.118])\n by mails.dpdk.org (Postfix) with ESMTP id E330940278\n for <dev@dpdk.org>; Thu,  8 Feb 2024 16:09:12 +0100 (CET)",
            "from PA4PR83MB0526.EURPRD83.prod.outlook.com (2603:10a6:102:26b::17)\n by DU5PR83MB0593.EURPRD83.prod.outlook.com (2603:10a6:10:525::12)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7292.8; Thu, 8 Feb\n 2024 15:09:10 +0000",
            "from PA4PR83MB0526.EURPRD83.prod.outlook.com\n ([fe80::b55f:3890:59e4:b623]) by PA4PR83MB0526.EURPRD83.prod.outlook.com\n ([fe80::b55f:3890:59e4:b623%7]) with mapi id 15.20.7292.009; Thu, 8 Feb 2024\n 15:09:10 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=CZWdO9+wRd9o1iYnygMuSb+hz7hLNGpx1enFldbATJdoG93tKGo279dL1uLvJXlsdWpj0vx347c2tXEMmOgTpkBfU1qzjWeSMwwdJg+2bMzz24IAiRvwdBQ2koGYvMWac6RCHWA4+G9R2Lz5SdHWL54p7h2TXjEpaLbQlgQsn992D230GrluBlHAT4j2qwR0O029hVYCa9fKh9qep/rHReTSJyOMpUY4ABe1EwfobyW17fTwL31KgdqShWNv9fxbkN9XVVZxvBIRmSI6Jr4fu05gpR3lEU3iUTrcOzMyHOw521vHDCTxXudJp/t0zn1Gyu6v6Ux3X7w26iVii/9hFA==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n 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;\n bh=ezp+8G3lANxK0rlEK/CBPEUI6Byywh5ondSgtQRoOSE=;\n b=SeLstWi2PDPzfe4OHeWowrAUKRQY9TYgZUL/s1JJPMF1OX8ZvZA+KXOR0nuJee0ObNtz1Z+kEVM8MGKWffROChcFYw/pl2ZiYFmkxfY85XS9VRNeY3gGsE0dsdxiP2Rf+aMTgEzM8jIHLLLDdIWe0hoilHO569NDzEzMPK36xsK7a7lQVAHic+Qoo8XYJ/sCRrH+que1rwUthGN3Sy3pK4p1jSyb809WejF0+SzpGjtEVst3lHNuBv6W1QIIALJIoTgxLGDEh799+BwbvrqpMw37enol0T1gqg3ELNxSmEGyTxQWQLIZ8CaGgmN+oG5JtT4evD6uN6Fg8UDihVL9Vw==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=microsoft.com; dmarc=pass action=none\n 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;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=ezp+8G3lANxK0rlEK/CBPEUI6Byywh5ondSgtQRoOSE=;\n b=XsWmUuexz2uxTDiBQ/x1h+HYQW3D92UuvbKJCUi3Psmto0fcT2woBMaFTduMQbDyspBYVq2ppSYLnwp8Q9DbBt2JCzu+s8qY6cmoSJU/1fytowGckUw9RWxz60oK+Kj76oBSW1rhutLR9yQInyQo/q3q9MBJHMayI1d8y0dVFlA=",
        "From": "Alan Elder <alan.elder@microsoft.com>",
        "To": "Long Li <longli@microsoft.com>",
        "CC": "\"dev@dpdk.org\" <dev@dpdk.org>",
        "Subject": "[PATCH v3] net/netvsc: fix parsing of VLAN metadata",
        "Thread-Topic": "[PATCH v3] net/netvsc: fix parsing of VLAN metadata",
        "Thread-Index": "AdpaoGUQ/GGHCYC5Qr2VuZTigqp7Gw==",
        "Date": "Thu, 8 Feb 2024 15:09:10 +0000",
        "Message-ID": "\n <PA4PR83MB0526CCCB791C5510CE053A9497442@PA4PR83MB0526.EURPRD83.prod.outlook.com>",
        "Accept-Language": "en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "msip_labels": "\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ActionId=56178cb2-c070-454c-9d7f-d5fa4a8e41c0;\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_ContentBits=0;\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Enabled=true;\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Method=Standard;\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_Name=Internal;\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SetDate=2024-02-08T14:59:43Z;\n MSIP_Label_f42aa342-8706-4288-bd11-ebb85995028c_SiteId=72f988bf-86f1-41af-91ab-2d7cd011db47;",
        "authentication-results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=microsoft.com;",
        "x-ms-publictraffictype": "Email",
        "x-ms-traffictypediagnostic": "PA4PR83MB0526:EE_|DU5PR83MB0593:EE_",
        "x-ms-office365-filtering-correlation-id": "b4c0787d-527b-42e0-4a17-08dc28b7e76d",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;",
        "x-microsoft-antispam-message-info": "\n 6az1gizj/ORnrThirvEc9uN23IgwkG+H+A7ty0xYe2q2WcYjssfA6Noax1MMKeMMqZWS1QLXbgLQ2X6BjDzMkzgPoaC2Qaxf4lnBM87NE/6+cgo9fPqUKN4PavxS+DsgR+cTuYq2N+ykPwmmYsAjb+mIllWg7fiDFWJ6c9WUY3rkgNM9H9cIdm2wTw0dLI0kDoo9XwUnrMFqhIPTSXiqCSBQnCYdI7pUEesOooB5QodSGAMsFegW9rHQJZ+Qnou6mUDbwz8kYhjUOs8HYG0jBQ+m44om1VxC4I54wrJAHDJgZvlzTzNDVI3oYL+ZxaOmBk18hPy1VXo3c0MbnxzMabbWbVkijGPr8ZK6B4+WkcGdZooCUdP4qOUVn/Ag2TTX6Jla52HUk/ZJjqmjc5pVDnQ+7kFDuT8HAXWB2Pt3m8bO5mp9z6vm9NVmrRMrbpXdgCSj0KXUgFSkb6kFia+T5W5ws1+hMzZV1qTPoJ8V7UhSd4SE8xV+h+a7PWpnscpOpR3N07ZR6obmgfUHQ7RXmmLOFuuswEQekuWcBl0XdCtT07wb2Ub/00/P/x6e8nW7bIovK4o9wo7K/Re7S1qlxInhWL2R8ZMocKV5bjJdPA5Mn16JDlA5tUOiHvtmT9ty",
        "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:PA4PR83MB0526.EURPRD83.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230031)(396003)(376002)(366004)(136003)(39860400002)(346002)(230922051799003)(64100799003)(1800799012)(451199024)(186009)(2906002)(52536014)(44832011)(5660300002)(55016003)(41300700001)(83380400001)(122000001)(86362001)(26005)(38100700002)(8990500004)(6506007)(10290500003)(9686003)(64756008)(6636002)(66556008)(7696005)(71200400001)(8936002)(66446008)(66476007)(6862004)(478600001)(33656002)(66946007)(8676002)(76116006)(82950400001)(82960400001)(38070700009)(4326008)(316002);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "\n wNzsdfxxymZ6TsJNtyv8wJ3tFkmFoDUGyHKq8iRM/qkXR9hcOgCzrcCgm0q5PN0q0o/u91cU0xBoYONup4+scv5hVwFlS3AaeoaI8lzgP522qu7pj86CDMENG4WWJOQsFR1GoOr8I5qJrNFPMpv1GSCNEQ96bxY7B/9Ofa+kDT7E7EVjy8IF06cpDu1TWO5VaATH/rdHNEFUss8Pxgm4XZgvBMrutPxB7yonKxoT7GbhinG4188/fIrQhQjiOjW2Hy+X/H1C6x8Id80ouJp+tZrbo5y+j6I4RQRFub8hBrIP0K8S9X+kkQpZu36lBtqmNk+FVSPJoIxFHZZ1p3Adie3blm6HlnZ7UNsxQ8OHs9vxCpt8hsWMvmuo5vWtODTyukLTskZdEmIHMnl+FK2Ub7JNoiNpwLrV4KvD81F+wYo85boqK5+nJd+B6ZqTgVl2sQ6+XpJnpqzHSt5H/BTae05EGz5oe2uQcYjrTmPptScevyGYk/9gMrkviGSxiIFI6hpl9wl9b9CaIKOHDU+7F8DsLlqUq1wWY0v/ixvEviPcXpa0/3PpmiSrVFKZRVPq30WkPdG/9LOcer7BXTj0uJnYUSN4R3lhGisX/p1JEqS64ky6z0AILoclzo/eNYmoFdaGbsw/YdzP2ix64ixYZFrFSybKqcR3Mo+eo7dcooOIJoVJe1hi+gXLfnMX6MIk+BX6D1y1xkChWiePvEiuIOu6/HgJIRHdvf1a2OH937CcXDa9h04A056a9xql8eETCT8xHSRFUeCumakfBXjaaRik1UIojIpyBR7ErXimb+U4mgezINBWh0uC1J9/7VE3wt86Ts3OOY9z93oJUKQZvTo4vq6gth2Y2SfTlprW7UpXyS6LWqx9ZfMuvbIW/6mZznTi1p1KAobOi5laFaU2xNrfAN2zYeX8DJsbH1h9IZDVsD7v32oIRrhV2T72rPSDVxkqZom3Q44NdJ/8Lw3N6awRXqigoSvrX7uIRJJXG65LXksVSJALlrgMYKhWTHE77kWmahw1wQKcx8oGRt/k9Ia2CwKkNB0jBg/2IJUzJYzYE0H8vfl/zGU37GwgPWl9W/LRRqVchFi96MEmf7Q/4V2EAC1d/vvPMp9gt1dWeNs8q9pGM7rkrK/A1Ghmx46Mgz48W1DIgGerzW1uhKI9kb5N8sYudz+/Llzw4B731xzz7wNKyxwx/wJ3YnRP/CuJxVNDu+1HzSuiLWOSTTPXNp/Lz83m5UFsjc/WdBHa6kMGtUb2gNj8s8pPiJ8Gn1mPdP9QqrP1mYP+nhEZL9eoCvjrln+LuqJ9o2vkx+2Zk2RHB7JEEE3GvYrzDnGs1/fw3Q8+ssxSnn8Y2DM09BSzz1Jou97ATM3ixe61O7AnD2nsciNRM+XQB/CLc8z1V30YxlSlczPQ0lN3CvLZRmmLTSoUH0oxGFvc836m9KzIat0CuMjgBQWgy/cDzeCNnokqdUlXDkZUMVQxZD+eYLkFxAOPGgnvGzpV1CJNG6dot4o3+KTT0LpaQFsPaItufNTu",
        "Content-Type": "text/plain; charset=\"us-ascii\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "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": "\n b4c0787d-527b-42e0-4a17-08dc28b7e76d",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "08 Feb 2024 15:09:10.6525 (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": "\n u/8GSMdNLo1zfJhqJ2Y1aTo/vX5wQwGxZ2BI0uzOeh9yMVrQzRLKwLtuP/HOpFXluDQ6d0jL/lDOWIfpC9iaaA==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DU5PR83MB0593",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org"
    },
    "content": "The previous code incorrectly parsed the VLAN ID and priority.\nIf the 16-bits of VLAN ID and priority/CFI on the wire was\n0123456789ABCDEF the code parsed it as 456789ABCDEF3012.  There\nwere macros defined to handle this conversion but they were not\nused.\n\nThis fix takes an approach similar to the Linux netvsc driver and\ndefines an explicit structure to use for parsing.\n\nFixes: 4e9c73e96e83 (\"net/netvsc: add Hyper-V network device\")\nCc: sthemmin@microsoft.com\nCc: stable@dpdk.org\n\nSigned-off-by: Alan Elder <alan.elder@microsoft.com>\n---\n .mailmap                     |  1 +\n drivers/net/netvsc/hn_rxtx.c | 23 +++++++++++++++++------\n drivers/net/netvsc/ndis.h    | 23 +++++++++++++----------\n 3 files changed, 31 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/.mailmap b/.mailmap\nindex a0756974e2..eca02318d6 100644\n--- a/.mailmap\n+++ b/.mailmap\n@@ -33,6 +33,7 @@ Alain Leon <xerebz@gmail.com>\n Alan Brady <alan.brady@intel.com>\n Alan Carew <alan.carew@intel.com>\n Alan Dewar <alan.dewar@att.com> <adewar@brocade.com>\n+Alan Elder <alan.elder@microsoft.com>\n Alan Liu <zaoxingliu@gmail.com>\n Alan Winkowski <walan@marvell.com>\n Alejandro Lucero <alejandro.lucero@netronome.com>\ndiff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c\nindex e4f5015aa3..e3b9899f1e 100644\n--- a/drivers/net/netvsc/hn_rxtx.c\n+++ b/drivers/net/netvsc/hn_rxtx.c\n@@ -42,8 +42,13 @@\n #define HN_TXD_CACHE_SIZE\t32 /* per cpu tx_descriptor pool cache */\n #define HN_RXQ_EVENT_DEFAULT\t2048\n \n+#define HN_VLAN_PRIO_MASK\t0xe000 /* Priority Code Point */\n+#define HN_VLAN_PRIO_SHIFT\t13\n+#define HN_VLAN_CFI_MASK\t0x1000 /* Canonical Format Indicator / Drop Eligible Indicator */\n+#define HN_VLAN_VID_MASK\t0x0fff /* VLAN Identifier */\n+\n struct hn_rxinfo {\n-\tuint32_t\tvlan_info;\n+\tstruct ndis_pkt_vlan_info vlan_info;\n \tuint32_t\tcsum_info;\n \tuint32_t\thash_info;\n \tuint32_t\thash_value;\n@@ -477,7 +482,7 @@ hn_rndis_rxinfo(const void *info_data, unsigned int info_dlen,\n \t\tcase NDIS_PKTINFO_TYPE_VLAN:\n \t\t\tif (unlikely(dlen < NDIS_VLAN_INFO_SIZE))\n \t\t\t\treturn -EINVAL;\n-\t\t\tinfo->vlan_info = *((const uint32_t *)data);\n+\t\t\tinfo->vlan_info = *((const struct ndis_pkt_vlan_info *)data);\n \t\t\tmask |= HN_RXINFO_VLAN;\n \t\t\tbreak;\n \n@@ -611,8 +616,10 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb,\n \t\t\t\t\t   RTE_PTYPE_L3_MASK |\n \t\t\t\t\t   RTE_PTYPE_L4_MASK);\n \n-\tif (info->vlan_info != HN_NDIS_VLAN_INFO_INVALID) {\n-\t\tm->vlan_tci = info->vlan_info;\n+\tif (info->vlan_info.value != HN_NDIS_VLAN_INFO_INVALID) {\n+\t\tm->vlan_tci = info->vlan_info.vlanid |\n+\t\t\t\t(info->vlan_info.pri << HN_VLAN_PRIO_SHIFT) |\n+\t\t\t\t(info->vlan_info.cfi ? HN_VLAN_CFI_MASK : 0);\n \t\tm->ol_flags |= RTE_MBUF_F_RX_VLAN_STRIPPED | RTE_MBUF_F_RX_VLAN;\n \n \t\t/* NDIS always strips tag, put it back if necessary */\n@@ -669,7 +676,7 @@ static void hn_rndis_rx_data(struct hn_rx_queue *rxq,\n \tunsigned int pktinfo_off, pktinfo_len;\n \tconst struct rndis_packet_msg *pkt = data;\n \tstruct hn_rxinfo info = {\n-\t\t.vlan_info = HN_NDIS_VLAN_INFO_INVALID,\n+\t\t.vlan_info.value = HN_NDIS_VLAN_INFO_INVALID,\n \t\t.csum_info = HN_NDIS_RXCSUM_INFO_INVALID,\n \t\t.hash_info = HN_NDIS_HASH_INFO_INVALID,\n \t};\n@@ -1332,7 +1339,11 @@ static void hn_encap(struct rndis_packet_msg *pkt,\n \tif (m->ol_flags & RTE_MBUF_F_TX_VLAN) {\n \t\tpi_data = hn_rndis_pktinfo_append(pkt, NDIS_VLAN_INFO_SIZE,\n \t\t\t\t\t\t  NDIS_PKTINFO_TYPE_VLAN);\n-\t\t*pi_data = m->vlan_tci;\n+\t\tstruct ndis_pkt_vlan_info *vlan = (struct ndis_pkt_vlan_info *)pi_data;\n+\t\tvlan->value = 0;\n+\t\tvlan->vlanid = (m->vlan_tci & HN_VLAN_VID_MASK);\n+\t\tvlan->cfi = (!!(m->vlan_tci & HN_VLAN_CFI_MASK));\n+\t\tvlan->pri = ((m->vlan_tci & HN_VLAN_PRIO_MASK) >> HN_VLAN_PRIO_SHIFT);\n \t}\n \n \tif (m->ol_flags & RTE_MBUF_F_TX_TCP_SEG) {\ndiff --git a/drivers/net/netvsc/ndis.h b/drivers/net/netvsc/ndis.h\nindex d97a397a86..a1e587c738 100644\n--- a/drivers/net/netvsc/ndis.h\n+++ b/drivers/net/netvsc/ndis.h\n@@ -316,16 +316,19 @@ struct ndis_offload {\n  */\n \n /* VLAN */\n-#define\tNDIS_VLAN_INFO_SIZE\t\tsizeof(uint32_t)\n-#define\tNDIS_VLAN_INFO_PRI_MASK\t\t0x0007\n-#define\tNDIS_VLAN_INFO_CFI_MASK\t\t0x0008\n-#define\tNDIS_VLAN_INFO_ID_MASK\t\t0xfff0\n-#define\tNDIS_VLAN_INFO_MAKE(id, pri, cfi)\t\\\n-\t(((pri) & NDIS_VLAN_INFO_PRI_MASK) |\t\\\n-\t (((cfi) & 0x1) << 3) | (((id) & 0xfff) << 4))\n-#define\tNDIS_VLAN_INFO_ID(inf)\t\t(((inf) & NDIS_VLAN_INFO_ID_MASK) >> 4)\n-#define\tNDIS_VLAN_INFO_CFI(inf)\t\t(((inf) & NDIS_VLAN_INFO_CFI_MASK) >> 3)\n-#define\tNDIS_VLAN_INFO_PRI(inf)\t\t((inf) & NDIS_VLAN_INFO_PRI_MASK)\n+struct ndis_pkt_vlan_info {\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint32_t pri:3; /* User Priority */\n+\t\t\tuint32_t cfi:1; /* Canonical Format ID / DEI */\n+\t\t\tuint32_t vlanid:12; /* VLAN ID */\n+\t\t\tuint32_t reserved:16;\n+\t\t};\n+\t\tuint32_t value;\n+\t};\n+};\n+\n+#define\tNDIS_VLAN_INFO_SIZE\t\tsizeof(struct ndis_pkt_vlan_info)\n \n /* Reception checksum */\n #define\tNDIS_RXCSUM_INFO_SIZE\t\tsizeof(uint32_t)\n",
    "prefixes": [
        "v3"
    ]
}