get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 136834,
    "url": "http://patchwork.dpdk.org/api/patches/136834/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/PA4PR83MB0526A094C53E5613C0A669A3974D2@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": "<PA4PR83MB0526A094C53E5613C0A669A3974D2@PA4PR83MB0526.EURPRD83.prod.outlook.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/PA4PR83MB0526A094C53E5613C0A669A3974D2@PA4PR83MB0526.EURPRD83.prod.outlook.com",
    "date": "2024-02-15T18:12:35",
    "name": "[v5] net/netvsc: fix parsing of VLAN metadata",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d1be7a529790907efb0aaf80f16eccabde2831a4",
    "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/PA4PR83MB0526A094C53E5613C0A669A3974D2@PA4PR83MB0526.EURPRD83.prod.outlook.com/mbox/",
    "series": [
        {
            "id": 31119,
            "url": "http://patchwork.dpdk.org/api/series/31119/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=31119",
            "date": "2024-02-15T18:12:35",
            "name": "[v5] net/netvsc: fix parsing of VLAN metadata",
            "version": 5,
            "mbox": "http://patchwork.dpdk.org/series/31119/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/136834/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/136834/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 661C143B19;\n\tThu, 15 Feb 2024 19:12:41 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D5971402AD;\n\tThu, 15 Feb 2024 19:12:40 +0100 (CET)",
            "from EUR01-HE1-obe.outbound.protection.outlook.com\n (mail-he1eur01on2097.outbound.protection.outlook.com [40.107.13.97])\n by mails.dpdk.org (Postfix) with ESMTP id DC3B940276\n for <dev@dpdk.org>; Thu, 15 Feb 2024 19:12:38 +0100 (CET)",
            "from PA4PR83MB0526.EURPRD83.prod.outlook.com (2603:10a6:102:26b::17)\n by VI0PR83MB0624.EURPRD83.prod.outlook.com (2603:10a6:800:211::21)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.14; Thu, 15 Feb\n 2024 18:12:36 +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.7316.012; Thu, 15 Feb 2024\n 18:12:35 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=Quk/LCQZ64rI6Ni2wyOFDhw5+A2HIcI3qfpWANbc0TqHqhQh1YUiIsMWNXl0IunmH+dR9aKen9rjjDqSMnA3xfcgM6v2mSECudMsezcFRVjs2jKRcklXVkRsb7A3OOOYCVLr5wqT4sn+kdi+QbxKRY3UaJqdtoizDuojM0MYkeTZ6JqoeDCgPp7prsF/qYc7X0FA4/F6TkD7Mxxi11O+hJyFyPadL7YcJsZDoVh8GpOEcmHqtYNDedOLfwbaG3dVfzYv53dl7V8QXRLkEeMR4SEsQg253PyUjAA1HQCSSMd5Z5dI2gLnNqMXAilnMaKbiOJmZqsVB/ZVbzW9+T6FuA==",
        "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=Bmc+3xqyVT0YdigkIuhy+Kem0YK06Av6nneGrQi2iik=;\n b=LM9MoxTlgVPnataTToZ7Bj3k/608h6AFlX6LVpt9iFMByuO38rjZKT3b4kHgtGrSLfCXoB4N8D7NKzEtWqeEl4Xb+gB7PHnGFfEAm007qyId1jdxyBo0PvusRO17wGBXGl1fT6d44cgrwSXoyZo9BGDbr1I8AUXsH0xEy62G7lBCmh4ELnW21c+gW6Owh/ABH3HKCL5UsBWBlZcOoQ9RQJvfJhdikPw6MC0aQsgxdO08hz6/t+lPBk6Qgtpqf3wC9ZU0MTRHs+h9go9Fo8bBAWk2tMfdFNzswWmKaxScXOOVNPPHjjG+yvDE6r2CqH7UFuWB5YVVCTBS3RJgrKRF0w==",
        "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=Bmc+3xqyVT0YdigkIuhy+Kem0YK06Av6nneGrQi2iik=;\n b=IeOz01MfBoIDZZi6RQSdjTX6mrKVL43L/ISKDjbmhy1gd7sU5Eo29HVSqDALbw8NV7x0k0LwY/2O/9IxRF5y8w7xV93utBh3HvscUiuJnQsw//LEz3FI4LuL/LxE7uPv1+w0/RQWWMdpzzyYvNDLJrmKRaa92B5LzSrH8Qz9ZQ4=",
        "From": "Alan Elder <alan.elder@microsoft.com>",
        "To": "Ferruh Yigit <ferruh.yigit@amd.com>, Long Li <longli@microsoft.com>,\n Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "CC": "\"dev@dpdk.org\" <dev@dpdk.org>, stephen <stephen@networkplumber.org>",
        "Subject": "[PATCH v5] net/netvsc: fix parsing of VLAN metadata",
        "Thread-Topic": "[PATCH v5] net/netvsc: fix parsing of VLAN metadata",
        "Thread-Index": "AQHaYDqN2jU67BtCW0uOIfYmxwGfQQ==",
        "Date": "Thu, 15 Feb 2024 18:12:35 +0000",
        "Message-ID": "\n <PA4PR83MB0526A094C53E5613C0A669A3974D2@PA4PR83MB0526.EURPRD83.prod.outlook.com>",
        "References": "\n <PA4PR83MB0526CCCB791C5510CE053A9497442@PA4PR83MB0526.EURPRD83.prod.outlook.com>\n <PH7PR21MB3263EFEA76459C959F2EA954CE4B2@PH7PR21MB3263.namprd21.prod.outlook.com>\n <PA4PR83MB0526A80FD64166748D7E1962974B2@PA4PR83MB0526.EURPRD83.prod.outlook.com>\n <PH7PR21MB3263C50C506E47271E1B4B09CE4E2@PH7PR21MB3263.namprd21.prod.outlook.com>\n <cd727ea7-6353-4b94-acde-08a93b43f315@amd.com>",
        "In-Reply-To": "<cd727ea7-6353-4b94-acde-08a93b43f315@amd.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=f4302bab-817a-4614-96e5-21c7bbac0c65;\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-15T17:32:49Z;\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_|VI0PR83MB0624:EE_",
        "x-ms-office365-filtering-correlation-id": "ee2e0644-184b-46e5-3328-08dc2e51afe9",
        "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": "\n wqmVECcsdWm5wjDEm43+31B47F+PVZenKp7+khZm2DtjVXcF56BYUXEm2y+c5WnyM7xRNUrIZxiljDXdtAmcnFQKXujo7N6MGp2McP2YJ4ieoRV43TFfcsr+gU/1/nvCNNcWwa0KoScN199cIP65Rym2meTQmYqIvExyEUI1+B89HPDgksrwDG48piVtKmVK9zfLaT1lDOahAYqqaf1WiH2XmkFqrz/M+dh5mszKUfYdm4ZHBQbCpka3LF7ELUvKIaSLQh+lBaQ8V6UXZs/UTmutCHe+86UNpAkGkQOnUCElChHXT7XCCZb7zkICz6aeBogl1BSqLFYuIL54qjAH4xGsOFfQK2PP6S1eABakGcRny1T5HVYkwzJFYwYHldi2l7K3tTQuP0r54Jsv7HnszSclaIhvD/XsyNENA1j3P9xLCUKCA+wtCjH+S1jD/ns3auxwCtI8SG25nhjMD0kmgcpMChLsmoWLMihh1KOQOzkIuMl49ApEt1nNpESpbI2vCuWHHjtYfEQZbVE+9SZk1alS1AQhQGVyaZSY82NTwo5kljCKMKCqvuHwbtnjYruPAQV0QuFjq/f29XINxvlSgVEdj8UL0COmc3vc0hRCmZU0N6fAjj6sRiXdgtNUv/bJ",
        "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)(346002)(39860400002)(366004)(136003)(396003)(376002)(230922051799003)(64100799003)(186009)(1800799012)(451199024)(66556008)(44832011)(76116006)(66476007)(66946007)(4326008)(8990500004)(66446008)(2906002)(64756008)(41300700001)(5660300002)(8936002)(8676002)(52536014)(55016003)(82960400001)(82950400001)(86362001)(122000001)(33656002)(83380400001)(38070700009)(110136005)(54906003)(6506007)(7696005)(71200400001)(38100700002)(316002)(478600001)(10290500003)(9686003)(26005);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "=?utf-8?q?lgk1w4BJ5M6GqUs12elc4qcSzKLG?=\n\t=?utf-8?q?JLwknPwfzW8FtBU5WLh3oGqNAOB+wiesAC9G+GZKcxrfsFyIulyOpwJF05H3HZ4+x?=\n\t=?utf-8?q?IYwPGpcsvKgfdboD6B0p5F1EMglXQSEYBnH1tzvGezem42PW4pKU+VEj12KBP14ar?=\n\t=?utf-8?q?NUziv1UjyNgS6imdi86oqbtSHGnzKRk7eGUriT9he+CeJn5g40hUPU+c09SNA1k4P?=\n\t=?utf-8?q?YJnwtuCwCMncAM9/2ZoU1jl9Nf6iEAzhbJ1c5sdYyOxLvjeX7qKrc37QMFo6n9hYU?=\n\t=?utf-8?q?X8ib4F9KvjqvlSKgQW9Odzk7Hh52I+4b7fZza/xR500VvGKr9Dw1gqy1c7KAwwpiS?=\n\t=?utf-8?q?2uCLezqnJpSOTA3nVleQqaiVVOYVXKjnKVSnU4fCtBNlZpBEYzR7qmXWJHTxAFMvY?=\n\t=?utf-8?q?mDx7fgF/SoVDbnqpS62bqzsTMhCGMEl6ujhQ8ijhnwxIKttowjivpQbfa1kWrpXU9?=\n\t=?utf-8?q?P8t+/XjUoXzt6RvyUoEO9QyjrxptNcx77rGeOcdVnlbilG7hV4y6/YDJfdok1+o5a?=\n\t=?utf-8?q?WwbrkeeGDEDyvRXlucM1pLQB6QXsijdxIAnpw9QuWEo9q5fO4tsROiHRNWk4OwLfU?=\n\t=?utf-8?q?uboGBLGVDnhYjQW1/xzbZpzLcLhf4ShCHgXzTw7DTn9XQ/ggwOkKLtyR86lsBsVjK?=\n\t=?utf-8?q?UDDpSg15xAnoZDqmDrubuF54K2awaHSYUs03iFCZQPS5THuoIGSjUSfOM+F9pnilg?=\n\t=?utf-8?q?HZGyblP9/waLIeLji4nDnsKMEYuTIwAoffGl+yut9rCEpJ5jkArj2kmWM1hhS1gq7?=\n\t=?utf-8?q?O1jPOra96FxBdZNCdl9lDqDA6M0u5EjmUaKJqWK9XgnuvuQ0YEJ/lKscxuL4/UsJ/?=\n\t=?utf-8?q?b4U5Ut6pzgLgmTz3zCsWZSL3THFtvx3y4X+l3517Oz5umw7Dm0mo+zBRogJaLLYF/?=\n\t=?utf-8?q?A6OFJqD0l5O++drieuyigQ4dsn/PO56a2K0Z863ymGdgcKfctU5+4Pffve0jZRUcO?=\n\t=?utf-8?q?ge4qFQbkD5HLwgPjS9slYTbclCixhlrI+R+w4OMcrbNqkFmd9DESrfbPy5driTmf6?=\n\t=?utf-8?q?HZ2zwKM5NKJMcgxeeClss8tEO61JZb3j313B8Z1+Y5aVAgyxeLNf6sYIQFT7hyavJ?=\n\t=?utf-8?q?nkXeTEqyAHMn4xegZeV8Zidt0eTnm0xQ6mXoYFckYY2XB97VivEjVHkMOfy1mfVN6?=\n\t=?utf-8?q?jx2IJ4sWxg7KhNZKpdXCRuu1gtXX97AgVc0qA5LnLQJPa6/en+qzV8yrGmsCEZbEn?=\n\t=?utf-8?q?Ih/h+HeKXv/8Jg29b4WI3nkWN7iZWxznIBwo7oUgX4zzCcXCNzUqoYPkgv8bpV9ow?=\n\t=?utf-8?q?jZ6Lv21EaaqT4na2qjsgRw+5BcmCPM7gPydJIp1nuBkPZBWqMDfgUTJwcg8jf++pF?=\n\t=?utf-8?q?wYu7+cMCg6Um3u5r0dFF0FPe5QQ/5g/6b72Lwaq/2XUzuAdGyc19KhnpLbHh9luPw?=\n\t=?utf-8?q?and1KKltMV6jug0ebtYLfDEQ8kwCbWvc6R3yGaSlM2XRpsqZfJXlS2nAo1qZxyIlP?=\n\t=?utf-8?q?l4UcLHv9BBc24?=",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "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 ee2e0644-184b-46e5-3328-08dc2e51afe9",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "15 Feb 2024 18:12:35.7925 (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 jkx0/RmLykjxhoeRWmSzpVH2ece1Loc9GWhW7KBaAOMP75dGFmaHPZbX17gamLpo2Q8UirAQyCE0XMRmUVOEsg==",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "VI0PR83MB0624",
        "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\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---\nv5:\n* Move the VLAN parsing macros to rte_ether.h\n\nv4:\n* Make consistent with FreeBSD code\n\n---\n .mailmap                     |  1 +\n drivers/net/netvsc/hn_rxtx.c |  8 ++++++--\n lib/net/rte_ether.h          | 16 ++++++++++++++++\n 3 files changed, 23 insertions(+), 2 deletions(-)\n\n-- \n2.25.1",
    "diff": "diff --git a/.mailmap b/.mailmap\r\nindex a0756974e2..eca02318d6 100644\r\n--- a/.mailmap\r\n+++ b/.mailmap\r\n@@ -33,6 +33,7 @@ Alain Leon <xerebz@gmail.com>\r\n Alan Brady <alan.brady@intel.com>\r\n Alan Carew <alan.carew@intel.com>\r\n Alan Dewar <alan.dewar@att.com> <adewar@brocade.com>\r\n+Alan Elder <alan.elder@microsoft.com>\r\n Alan Liu <zaoxingliu@gmail.com>\r\n Alan Winkowski <walan@marvell.com>\r\n Alejandro Lucero <alejandro.lucero@netronome.com>\r\ndiff --git a/drivers/net/netvsc/hn_rxtx.c b/drivers/net/netvsc/hn_rxtx.c\r\nindex e4f5015aa3..9bf1ec5509 100644\r\n--- a/drivers/net/netvsc/hn_rxtx.c\r\n+++ b/drivers/net/netvsc/hn_rxtx.c\r\n@@ -612,7 +612,9 @@ static void hn_rxpkt(struct hn_rx_queue *rxq, struct hn_rx_bufinfo *rxb,\r\n \t\t\t\t\t   RTE_PTYPE_L4_MASK);\r\n \r\n \tif (info->vlan_info != HN_NDIS_VLAN_INFO_INVALID) {\r\n-\t\tm->vlan_tci = info->vlan_info;\r\n+\t\tm->vlan_tci = RTE_VLAN_TCI_MAKE(NDIS_VLAN_INFO_ID(info->vlan_info),\r\n+\t\t\t\t\t\tNDIS_VLAN_INFO_PRI(info->vlan_info),\r\n+\t\t\t\t\t\tNDIS_VLAN_INFO_CFI(info->vlan_info));\r\n \t\tm->ol_flags |= RTE_MBUF_F_RX_VLAN_STRIPPED | RTE_MBUF_F_RX_VLAN;\r\n \r\n \t\t/* NDIS always strips tag, put it back if necessary */\r\n@@ -1332,7 +1334,9 @@ static void hn_encap(struct rndis_packet_msg *pkt,\r\n \tif (m->ol_flags & RTE_MBUF_F_TX_VLAN) {\r\n \t\tpi_data = hn_rndis_pktinfo_append(pkt, NDIS_VLAN_INFO_SIZE,\r\n \t\t\t\t\t\t  NDIS_PKTINFO_TYPE_VLAN);\r\n-\t\t*pi_data = m->vlan_tci;\r\n+\t\t*pi_data = NDIS_VLAN_INFO_MAKE(RTE_VLAN_TCI_ID(m->vlan_tci),\r\n+\t\t\t\t\t       RTE_VLAN_TCI_PRI(m->vlan_tci),\r\n+\t\t\t\t\t       RTE_VLAN_TCI_DEI(m->vlan_tci));\r\n \t}\r\n \r\n \tif (m->ol_flags & RTE_MBUF_F_TX_TCP_SEG) {\r\ndiff --git a/lib/net/rte_ether.h b/lib/net/rte_ether.h\r\nindex ce073ea818..b27f38b3a9 100644\r\n--- a/lib/net/rte_ether.h\r\n+++ b/lib/net/rte_ether.h\r\n@@ -46,6 +46,22 @@ extern \"C\" {\r\n \r\n #define RTE_ETHER_MIN_MTU 68 /**< Minimum MTU for IPv4 packets, see RFC 791. */\r\n \r\n+/* VLAN header fields */\r\n+#define RTE_VLAN_DEI_SHIFT\t12\r\n+#define RTE_VLAN_PRI_SHIFT\t13\r\n+#define RTE_VLAN_PRI_MASK\t0xe000 /* Priority Code Point */\r\n+#define RTE_VLAN_DEI_MASK\t0x1000 /* Drop Eligible Indicator */\r\n+#define RTE_VLAN_ID_MASK\t0x0fff /* VLAN Identifier */\r\n+\r\n+#define RTE_VLAN_TCI_ID(vlan_tci)\t((vlan_tci) & RTE_VLAN_ID_MASK)\r\n+#define RTE_VLAN_TCI_PRI(vlan_tci)\t(((vlan_tci) & RTE_VLAN_PRI_MASK) >>\t\\\r\n+\t\t\t\t\t RTE_VLAN_PRI_SHIFT)\r\n+#define RTE_VLAN_TCI_DEI(vlan_tci)\t(((vlan_tci) & RTE_VLAN_DEI_MASK) >>\t\\\r\n+\t\t\t\t\t RTE_VLAN_DEI_SHIFT)\r\n+#define RTE_VLAN_TCI_MAKE(id, pri, dei)\t((id) |\t\t\t\t\t\\\r\n+\t\t\t\t\t ((pri) << RTE_VLAN_PRI_SHIFT) |\t\\\r\n+\t\t\t\t\t ((dei) << RTE_VLAN_DEI_SHIFT))\r\n+\r\n /**\r\n  * Ethernet address:\r\n  * A universally administered address is uniquely assigned to a device by its\r\n",
    "prefixes": [
        "v5"
    ]
}