get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 46693,
    "url": "http://patches.dpdk.org/api/patches/46693/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20181012100426.29349-15-shreyansh.jain@nxp.com/",
    "project": {
        "id": 1,
        "url": "http://patches.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": "<20181012100426.29349-15-shreyansh.jain@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20181012100426.29349-15-shreyansh.jain@nxp.com",
    "date": "2018-10-12T10:04:25",
    "name": "[v3,14/15] net/dpaa2: support MBUF VLAN tci population from HW parser",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "0328380611e4fe5fd093e9e390cb4257f38c5b65",
    "submitter": {
        "id": 497,
        "url": "http://patches.dpdk.org/api/people/497/?format=api",
        "name": "Shreyansh Jain",
        "email": "shreyansh.jain@nxp.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20181012100426.29349-15-shreyansh.jain@nxp.com/mbox/",
    "series": [
        {
            "id": 1861,
            "url": "http://patches.dpdk.org/api/series/1861/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1861",
            "date": "2018-10-12T10:04:11",
            "name": "Upgrade DPAA2 FW and other feature/bug fixes",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/1861/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/46693/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/46693/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 4D6B21B510;\n\tFri, 12 Oct 2018 12:06:14 +0200 (CEST)",
            "from EUR02-AM5-obe.outbound.protection.outlook.com\n\t(mail-eopbgr00078.outbound.protection.outlook.com [40.107.0.78])\n\tby dpdk.org (Postfix) with ESMTP id BFD1D1B4AE\n\tfor <dev@dpdk.org>; Fri, 12 Oct 2018 12:06:01 +0200 (CEST)",
            "from Tophie.ap.freescale.net (14.142.187.166) by\n\tAM0PR04MB4676.eurprd04.prod.outlook.com (2603:10a6:208:75::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1228.25; Fri, 12 Oct 2018 10:05:59 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=+UIbJks+YvdIkGtgSGUGw0KA3rkbgOmJAUxPhm6hjYE=;\n\tb=I7bHpuvpA+lU5KTC4mzN9QVa8M5/LwbW8oEZalhGQrS8D7vJLuFVXh/xoKyjot5ca7BwzcYdx+PgF3w4AiXqz3nuCrBLJrQhGZiOkO0zXhkM9S7l8mzPpEiWMbX7csPHyB7kfJTIbvpdiTc6zJjeL1QLPhRB8eiiLueaqgbQ7UA=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=shreyansh.jain@nxp.com; ",
        "From": "Shreyansh Jain <shreyansh.jain@nxp.com>",
        "To": "thomas@monjalon.net",
        "Cc": "ferruh.yigit@intel.com, dev@dpdk.org,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Fri, 12 Oct 2018 15:34:25 +0530",
        "Message-Id": "<20181012100426.29349-15-shreyansh.jain@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20181012100426.29349-1-shreyansh.jain@nxp.com>",
        "References": "<20180926180440.31726-1-shreyansh.jain@nxp.com>\n\t<20181012100426.29349-1-shreyansh.jain@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "BMXPR01CA0004.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:d::14) To AM0PR04MB4676.eurprd04.prod.outlook.com\n\t(2603:10a6:208:75::18)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "5bea2dc3-5860-4b3b-d559-08d6302a500b",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:AM0PR04MB4676; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM0PR04MB4676;\n\t3:JJSm9aHUdD5ArgaIvpuKWQdEyFWXdXRzOz4PyoS8zD/ZtkyFN63gbZGGK9ROHP08nzDoMn8fnzwz+cWXUMD7xWpi6K1vTeGYll8VXOa4uicgiHPX7qYW6WdAevsxtWyOw6DwflI3nnPCcgJ/IH7RQWQj0Ab22IW+4IUcD/6zy2XJrw8vwm2XOMUod11p/eNad1BoavRdDU10/vFodWvf5Z8YROWUn1eDTqm+dOksRx6Kl8P8Ii44WmpWtzUDR4Dw;\n\t25:2RCEUiT1BerIv8V+BhXI34ZnS3fW5szfXpdVw0oYk58tMU20GfgrFww0aJJCXTu4Rg/CQYJ5/OeSkCUML4lVrmXmNgXNCc6EcfuKpjXC8G7U2qQtiUty8sBq9LRE68BkAtyRoly8aQvonrWnXw86uFgK21CDXT6ScwgWahidqaObaCyi7UoK4dbwMuBtB9aDwzCezHas7Wh5cgnIxZJXSR6ePpZvTmeZTYBmDu8R0JKlhGN7dgsEgj4ST3CmrAebXumPtlgj22vzhPKS/0YKxlHjezmeb7eyKL68W5SVTJCSNc1Kytv/qVBBVzxsUy1hr0njKwlQuYQous5d8J2SNw==;\n\t31:CuUeYYXhF9J/wA3JtQynfC/USXJktfMfeLLZgOmm2ca/2IU2wa12CK68t8QK+pE/Nyb9W6b0t9MBGxF++nOQhTwoiWtctkjIEheaQXt/MAmRz8B46jWa3EB3hOO1ITXMg/+RX6snThqOJClPm+9AMiqePQaZF8qJqhRzNZvq5HwaFP+kfzUalfZaO2xIZQ1NZB9cdw1AWi33y9deoC9wGWZEfRMjNwCQNwIrd01baOU=",
            "1; AM0PR04MB4676;\n\t20:zuaw8aslFyUDu6WIFmFHbkG85DXyEt94Lr86oN/HjxSv2Ln+PR7UhsgM8Z+B1i4y5UivbPyMoIe3EgC+06ooQr/vZzTKg5ofp68XepWsNJCpJkhQh8mnZrenujxZkO/u8fEUG1HfV+H4YpgTxjIFyge+ibgLVzRPd1mIixuuX5Ag43+AlS6g7/0I0TvMGg/iNR8PmiB5utLj3Ked24ljycLV1xS8DOKbfkR3A124RjveVXTxcsIibT3TMnFcnUBg5h1ASNHp+N7IhjNQJiJYZF+hM2D9cMSMu+qBjAN5iBMzeVST2krxg6TzNw32fO4RLHiCFr8QLcrzDz6zz8KyFyhqz7B4G9V4o7ZMD0+KFkPYOFkAxbiU2vovaVex+0mF1U8kt17EPqjXMXfK9iMREr8aKu2tpJcq0h11sTty1amXhuLhzPtyPrjn1sq2S+A8OzlMqIqhH/dOTudu+gkhuoEgP57LxLidG/f9IikoEtKJkcMbbqUFo33n4UpUFcki;\n\t4:P2/EqJV1GkTSULXBBvxnnWRSVMSDJCgTHzv9slcuLFMhLFlpVG04jLWUTL5QpginufdMzzILaeByN2BFAm37V9JwS9YPjxqvwBs8gge+/mIxu/PCppCxvNKqfdyI0bGPl/5Z0MaHg73hK+iC9Rw2/YTOjSguquG7+7Ker+zE+HioflMXMHzR5Dz1LvhJDBrthQ108bqBCAiwyiI3JXM0QeUmgNHg298L/WQFcYCJMvJUxl2tsabbc/StDtnSZEamB4HfYIRtgqERHXaUu5C+BJ1aKIld6jEIycchlvK/QkYUmX0trz9O5sIHaopF1S0q",
            "=?us-ascii?Q?1; AM0PR04MB4676;\n\t23:8svN5dYPzEb+VzNGUR/gGkrq/6Fy9UAu13DF12VYR?=\n\tCVzE55aKFwTdJWnJ8vykeN6wo/5x77Z0ncdC/fciVUBFLGjrXRNegQTVzb0tfEQRC7RufRqb1aM+K3NycG1MDcKXpmHivRcHh7+3mukBL/YLyIzpuVvwtyi3RdKPSsSB5t9AbVea4kfmbVgfWksAXLM7LkKAAcU7YKkQ6+ZUORy7kJo9jeQ08eE+/HomVzbFPsDUiI33KO06b2//t/RHZNQUmf1d5Huq1TyCD24PYNg4h+FLBYibHX8cLAvHqIQtxqnBYCfbLfsZLhdgrFmDqk1ZNGEbOqyd91kQp5TsH8qPU9qgpgcfeu5TZpGMusnkBmO4sDJmxYcfsO78pxM9ZrqhW8k9vou0yMh+7EPatHMt8bI7xyM7Ph+eoyme+bsyGqWa5DdA3r29Mbx4MghrwbR8OyiTseDhDgkwW0pQ2qdhWIPjBwQqvdqMUGqmMrBPESf9hHx8xYQGX49yNsQlkCdc1PsGEoSUusv5b7VdlSb+KrU40qNJsMW5pC/X7pBr9SMnYEZo+oR3+tt1wJLWP1hJlW/jEa2HzwqgnB4dFrJ6CXi6GedDrhdtgVqGZOTaj5GqSThwbDNngGJmukO93roFOIAJWmyALDezfgrrrp88Ask0Ohd9mptKL9qzdF3vfKu8GNzODEB04ssBBRSHeSx6XA3DeokhvPLcXr9UmK4l99mBQjRrhh3lZ61pkGShoSG3hS9iOKWQ5ikdsXdqyCz7Jykj3e6d04mEl/BJV8BEYNmXh3fWeEI8CszE9y3xc6sU7rsskqyGXIqK35z+ko6PC5g1KLs5xiiSIT5aqLt7Fj1fqmL8nIfwaRcX8j5aV2HubsxObbxSU5mLODJz+7JrXru2BDjCIj052r41pXkc0RyOab7Za3TE4yQMk/igl5dF+ua2cHcq5oWgYsRxSLutt2QGNNK76BR12onq1b+DLjP71O7TjlvMhVYGNBWVe6TlL2FOUY/rdfQ53DVAQyeoix5OiSgOVOY8Jcb9x+1r2JVQYYuc6ruBqSmxiW9Fuz3ur8npgXPU2/E3kPgcDOdySvgWxBWhToUnG56YzTzLUggh9aHjJrNQlIQJC3LW+C/E9/wEZV5N0O9izGsOxdglOcg2qU5KpS4D5w23E6h0j53ZVQnUwRvJqR3eGgQpk34w2cK4ktvjCpUXx7X7j1l5jasvIcb7NoqNlDAOHeY4f07wyyLE5AbD47dvaHGNHT6SakchVNpfX8oILw5kV0fRGZVpdYcqZQuElT94B4RnO1bHO/TV8t9LRjZsX4SjwK78nkMhqiVAADMEtT3UHwAk1wMsdo2WwZOgNbCPRvgPZdJheBp0ca5G3HPTbyK0fg=",
            "1; AM0PR04MB4676;\n\t6:DjF7WM5I272cKI0IGfS5zTXMR9A7zS+durjKxBjO3/WE52D+51SLxbEt/QGQF0qcM4PLUb0hgsIvWeL3AGfDJz3curnaHbYAdJ9O7xDzMPtmMGTcDpHKdj5Go/InchKGMNdWCBBpH+vsi+DE2Wg3p2VZZrkBmoCebMDlkXqnNKZIy1ERdexZIz67C/KaddZt651XYKFEeUAnCT6p9623vu25D2mB9jIitLlEyaDzKTULTON7waISddlTwHZApP8kmmG2DiFGc5EvTVMa1c+jRW0snSkjva04sHSfslpK20QyvrhlrgGwzNlWJ1j5rSr4jbAyN4Mdl9Yk1CiPdSibmE3y9uxxOq+h8RBmj5c0pv05i4uCmxPerbJxClAYvCz7ghx5sxrCXBszo+Cy80f/HpfFDeN1Nzd10NYyzhgaVVZExR3XnvHShZIb/cpfmIZGzSiYsaNinh8PjzbdGCHNNg==;\n\t5:6nXIKHHP0QIEmzr8aLPZ26uZC0gT7XYOSRVnVKUUqH/n55hduw/YjTgJwKBziVSpKlizoPa4P6PsYaWOQTKoi9W9FwdZcjh5ZF0zzpVrwqR0kXxAiY7x4LbI/m4QW2xSDtvf0xuXYsQuG/brcIixxO53WOD9mrYfah3RPSDYf48=;\n\t7:vc3LQZlQNYioEPfHGrKvaST6aSggPeiAgn9ohc4oWFzNeS9gpB+P6qdKhwpSuWRDzoOsUB/XyMHUIOt1S++bhqN1YdtNRPlceIopXV2OQmW6rhxXmYJ1dgwU1NCUuBsy/GLJph26dnmaoDlDa+POp1eMGeeQwb4/QahDE/G6p95nC33/HMA3IS8+HykQQ0mEEnwhH8fJaDP0ZXhIS7+jzEqZON1ticfz4POZGHJP+nYZBJOpRKfIZWFRzclua8wx"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM0PR04MB4676:",
        "X-Microsoft-Antispam-PRVS": "<AM0PR04MB4676C04DAE6078CA2C74193F90E20@AM0PR04MB4676.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(10201501046)(3002001)(3231355)(944501410)(52105095)(6055026)(149066)(150057)(6041310)(20161123558120)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(201708071742011)(7699051);\n\tSRVR:AM0PR04MB4676; BCL:0; PCL:0; RULEID:; SRVR:AM0PR04MB4676; ",
        "X-Forefront-PRVS": "0823A5777B",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(396003)(346002)(366004)(136003)(39860400002)(199004)(189003)(2906002)(52116002)(16526019)(14444005)(53936002)(8676002)(478600001)(186003)(386003)(446003)(105586002)(7736002)(106356001)(6512007)(6116002)(86362001)(3846002)(81156014)(50226002)(68736007)(1076002)(47776003)(5660300001)(6506007)(8936002)(78486009)(36756003)(316002)(26005)(66066001)(6666004)(25786009)(55236004)(81166006)(11346002)(48376002)(76176011)(44832011)(2361001)(956004)(51416003)(2616005)(97736004)(1006002)(50466002)(486006)(476003)(305945005)(16586007)(6916009)(4326008)(6486002)(217873002)(2351001)(110426005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR04MB4676;\n\tH:Tophie.ap.freescale.net; FPR:; \n\tSPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "EB4UVn10fO5meO/OEvZl//BbLpw0h3B6qS1bOpudKSWmsb4aHKj0iejx7rXpK/y0KB0cUCjVlhs/b7rlKDrM47mSy40sOKO+PUuy0r2pdxWkwuansly8iXEkqIzq21Tfbs9KL8PuZtoPJzDzsgAdZRgsdTYwMO+2SvQ2ozDGXVErLMjM593T1wkVs0U/Lb5NG9BAFMsfhRQ35kd2sr+nEC8kQNbWUyuKUPeSisB1VTqSk4KFluq3pVE5vFZHdASzYejiFHyTlVGSD1yfR65JOL+oacyVmpoT73cVAOQ62kv/ilJqbFex/OMQ8T2JydzpfWvhD6msqyhfqRRs3dQk138VS6y/krTzuFA8Z9YArc0=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "12 Oct 2018 10:05:59.9319\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "5bea2dc3-5860-4b3b-d559-08d6302a500b",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR04MB4676",
        "Subject": "[dpdk-dev] [PATCH v3 14/15] net/dpaa2: support MBUF VLAN tci\n\tpopulation from HW parser",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Hemant Agrawal <hemant.agrawal@nxp.com>\n\nThis patch adds the support to update the mbuf vlan tci field\nfrom the HW parse results in annotation area.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h | 40 ++++++++++++++\n drivers/net/dpaa2/dpaa2_rxtx.c               | 55 +++++++++++++-------\n 2 files changed, 75 insertions(+), 20 deletions(-)",
    "diff": "diff --git a/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h b/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h\nindex 779cdf2b2..adb730b71 100644\n--- a/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h\n+++ b/drivers/net/dpaa2/base/dpaa2_hw_dpni_annot.h\n@@ -213,6 +213,46 @@ struct dpaa2_annot_hdr {\n #define DPAA2_L3_IPv6_UDP (L3_IPV6_1_PRESENT | L3_IPV6_1_UNICAST | \\\n \tL3_PROTO_UDP_PRESENT | L4_UNKNOWN_PROTOCOL)\n \n+/**\n+ * Macros to get values in word5\n+ */\n+#define SHIM_OFFSET_1(var)\t\t((uint64_t)(var) & 0xFF00000000000000)\n+#define SHIM_OFFSET_2(var)\t\t((uint64_t)(var) & 0x00FF000000000000)\n+#define IP_PID_OFFSET(var)\t\t((uint64_t)(var) & 0x0000FF0000000000)\n+#define ETH_OFFSET(var)\t\t\t((uint64_t)(var) & 0x000000FF00000000)\n+#define LLC_SNAP_OFFSET(var)\t\t((uint64_t)(var) & 0x00000000FF000000)\n+#define VLAN_TCI_OFFSET_1(var)\t\t((uint64_t)(var) & 0x0000000000FF0000)\n+#define VLAN_TCI_OFFSET_N(var)\t\t((uint64_t)(var) & 0x000000000000FF00)\n+#define LAST_ETYPE_OFFSET(var)\t\t((uint64_t)(var) & 0x00000000000000FF)\n+\n+/**\n+ * Macros to get values in word6\n+ */\n+#define PPPOE_OFFSET(var)\t\t((uint64_t)(var) & 0xFF00000000000000)\n+#define MPLS_OFFSET_1(var)\t\t((uint64_t)(var) & 0x00FF000000000000)\n+#define MPLS_OFFSET_N(var)\t\t((uint64_t)(var) & 0x0000FF0000000000)\n+#define ARP_OR_IP_OFFSET_1(var)\t\t((uint64_t)(var) & 0x000000FF00000000)\n+#define IP_N_OR_MIN_ENCAP_OFFSET(var)\t((uint64_t)(var) & 0x00000000FF000000)\n+#define GRE_OFFSET(var)\t\t\t((uint64_t)(var) & 0x0000000000FF0000)\n+#define L4_OFFSET(var)\t\t\t((uint64_t)(var) & 0x000000000000FF00)\n+#define GTP_OR_ESP_OR_IPSEC_OFFSET(var)\t((uint64_t)(var) & 0x00000000000000FF)\n+\n+/**\n+ * Macros to get values in word7\n+ */\n+#define IPV6_ROUTING_HDR_OFFSET_1(var)\t((uint64_t)(var) & 0xFF00000000000000)\n+#define IPV6_ROUTING_HDR_OFFSET_2(var)\t((uint64_t)(var) & 0x00FF000000000000)\n+#define NEXT_HDR_OFFSET(var)\t\t((uint64_t)(var) & 0x0000FF0000000000)\n+#define IPV6_FRAG_OFFSET(var)\t\t((uint64_t)(var) & 0x000000FF00000000)\n+#define GROSS_RUNNING_SUM(var)\t\t((uint64_t)(var) & 0x00000000FFFF0000)\n+#define RUNNING_SUM(var)\t\t((uint64_t)(var) & 0x000000000000FFFF)\n+\n+/**\n+ * Macros to get values in word8\n+ */\n+#define PARSE_ERROR_CODE(var)\t\t((uint64_t)(var) & 0xFF00000000000000)\n+#define SOFT_PARSING_CONTEXT(var)\t((uint64_t)(var) & 0x00FFFFFFFFFFFFFF)\n+\n /* Debug frame, otherwise supposed to be discarded */\n #define DPAA2_ETH_FAS_DISC\t      0x80000000\n /* MACSEC frame */\ndiff --git a/drivers/net/dpaa2/dpaa2_rxtx.c b/drivers/net/dpaa2/dpaa2_rxtx.c\nindex fcd48b389..bc8b9ff89 100644\n--- a/drivers/net/dpaa2/dpaa2_rxtx.c\n+++ b/drivers/net/dpaa2/dpaa2_rxtx.c\n@@ -25,6 +25,10 @@\n #include \"dpaa2_ethdev.h\"\n #include \"base/dpaa2_hw_dpni_annot.h\"\n \n+static inline uint32_t __attribute__((hot))\n+dpaa2_dev_rx_parse_slow(struct rte_mbuf *mbuf,\n+\t\t\tstruct dpaa2_annot_hdr *annotation);\n+\n #define DPAA2_MBUF_TO_CONTIG_FD(_mbuf, _fd, _bpid)  do { \\\n \tDPAA2_SET_FD_ADDR(_fd, DPAA2_MBUF_VADDR_TO_IOVA(_mbuf)); \\\n \tDPAA2_SET_FD_LEN(_fd, _mbuf->data_len); \\\n@@ -40,8 +44,6 @@ dpaa2_dev_rx_parse_new(struct rte_mbuf *m, const struct qbman_fd *fd)\n {\n \tuint16_t frc = DPAA2_GET_FD_FRC_PARSE_SUM(fd);\n \n-\tDPAA2_PMD_DP_DEBUG(\"frc = 0x%x\\t\", frc);\n-\n \tm->packet_type = RTE_PTYPE_UNKNOWN;\n \tswitch (frc) {\n \tcase DPAA2_PKT_TYPE_ETHER:\n@@ -95,31 +97,45 @@ dpaa2_dev_rx_parse_new(struct rte_mbuf *m, const struct qbman_fd *fd)\n \t\tm->packet_type = RTE_PTYPE_L2_ETHER |\n \t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_ICMP;\n \t\tbreak;\n-\tcase DPAA2_PKT_TYPE_VLAN_1:\n-\tcase DPAA2_PKT_TYPE_VLAN_2:\n-\t\tm->ol_flags |= PKT_RX_VLAN;\n-\t\tbreak;\n-\t/* More switch cases can be added */\n-\t/* TODO: Add handling for checksum error check from FRC */\n \tdefault:\n-\t\tm->packet_type = RTE_PTYPE_UNKNOWN;\n+\t\tm->packet_type = dpaa2_dev_rx_parse_slow(m,\n+\t\t  (void *)((size_t)DPAA2_IOVA_TO_VADDR(DPAA2_GET_FD_ADDR(fd))\n+\t\t\t + DPAA2_FD_PTA_SIZE));\n \t}\n \tm->hash.rss = fd->simple.flc_hi;\n \tm->ol_flags |= PKT_RX_RSS_HASH;\n }\n \n static inline uint32_t __attribute__((hot))\n-dpaa2_dev_rx_parse_slow(struct dpaa2_annot_hdr *annotation)\n+dpaa2_dev_rx_parse_slow(struct rte_mbuf *mbuf,\n+\t\t\tstruct dpaa2_annot_hdr *annotation)\n {\n \tuint32_t pkt_type = RTE_PTYPE_UNKNOWN;\n+\tuint16_t *vlan_tci;\n+\n+\tDPAA2_PMD_DP_DEBUG(\"(slow parse)annotation(3)=0x%\" PRIx64 \"\\t\"\n+\t\t\t\"(4)=0x%\" PRIx64 \"\\t\",\n+\t\t\tannotation->word3, annotation->word4);\n+\n+\tif (BIT_ISSET_AT_POS(annotation->word3, L2_VLAN_1_PRESENT)) {\n+\t\tvlan_tci = rte_pktmbuf_mtod_offset(mbuf, uint16_t *,\n+\t\t\t(VLAN_TCI_OFFSET_1(annotation->word5) >> 16));\n+\t\tmbuf->vlan_tci = rte_be_to_cpu_16(*vlan_tci);\n+\t\tmbuf->ol_flags |= PKT_RX_VLAN;\n+\t\tpkt_type |= RTE_PTYPE_L2_ETHER_VLAN;\n+\t} else if (BIT_ISSET_AT_POS(annotation->word3, L2_VLAN_N_PRESENT)) {\n+\t\tvlan_tci = rte_pktmbuf_mtod_offset(mbuf, uint16_t *,\n+\t\t\t(VLAN_TCI_OFFSET_1(annotation->word5) >> 16));\n+\t\tmbuf->vlan_tci = rte_be_to_cpu_16(*vlan_tci);\n+\t\tmbuf->ol_flags |= PKT_RX_VLAN | PKT_RX_QINQ;\n+\t\tpkt_type |= RTE_PTYPE_L2_ETHER_QINQ;\n+\t}\n \n-\tDPAA2_PMD_DP_DEBUG(\"(slow parse) Annotation = 0x%\" PRIx64 \"\\t\",\n-\t\t\t   annotation->word4);\n \tif (BIT_ISSET_AT_POS(annotation->word3, L2_ARP_PRESENT)) {\n-\t\tpkt_type = RTE_PTYPE_L2_ETHER_ARP;\n+\t\tpkt_type |= RTE_PTYPE_L2_ETHER_ARP;\n \t\tgoto parse_done;\n \t} else if (BIT_ISSET_AT_POS(annotation->word3, L2_ETH_MAC_PRESENT)) {\n-\t\tpkt_type = RTE_PTYPE_L2_ETHER;\n+\t\tpkt_type |= RTE_PTYPE_L2_ETHER;\n \t} else {\n \t\tgoto parse_done;\n \t}\n@@ -179,16 +195,15 @@ dpaa2_dev_rx_parse(struct rte_mbuf *mbuf, void *hw_annot_addr)\n \tDPAA2_PMD_DP_DEBUG(\"(fast parse) Annotation = 0x%\" PRIx64 \"\\t\",\n \t\t\t   annotation->word4);\n \n-\t/* Check offloads first */\n-\tif (BIT_ISSET_AT_POS(annotation->word3,\n-\t\t\t     L2_VLAN_1_PRESENT | L2_VLAN_N_PRESENT))\n-\t\tmbuf->ol_flags |= PKT_RX_VLAN;\n-\n \tif (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L3CE))\n \t\tmbuf->ol_flags |= PKT_RX_IP_CKSUM_BAD;\n \telse if (BIT_ISSET_AT_POS(annotation->word8, DPAA2_ETH_FAS_L4CE))\n \t\tmbuf->ol_flags |= PKT_RX_L4_CKSUM_BAD;\n \n+\t/* Check detailed parsing requirement */\n+\tif (annotation->word3 & 0x7FFFFC3FFFF)\n+\t\treturn dpaa2_dev_rx_parse_slow(mbuf, annotation);\n+\n \t/* Return some common types from parse processing */\n \tswitch (annotation->word4) {\n \tcase DPAA2_L3_IPv4:\n@@ -211,7 +226,7 @@ dpaa2_dev_rx_parse(struct rte_mbuf *mbuf, void *hw_annot_addr)\n \t\tbreak;\n \t}\n \n-\treturn dpaa2_dev_rx_parse_slow(annotation);\n+\treturn dpaa2_dev_rx_parse_slow(mbuf, annotation);\n }\n \n static inline struct rte_mbuf *__attribute__((hot))\n",
    "prefixes": [
        "v3",
        "14/15"
    ]
}