get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 45447,
    "url": "http://patches.dpdk.org/api/patches/45447/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180926180440.31726-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": "<20180926180440.31726-15-shreyansh.jain@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180926180440.31726-15-shreyansh.jain@nxp.com",
    "date": "2018-09-26T18:04:39",
    "name": "[v2,14/15] net/dpaa2: support MBUF VLAN tci population from HW parser",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "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/20180926180440.31726-15-shreyansh.jain@nxp.com/mbox/",
    "series": [
        {
            "id": 1525,
            "url": "http://patches.dpdk.org/api/series/1525/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1525",
            "date": "2018-09-26T18:04:25",
            "name": "Upgrade DPAA2 FW and other feature/bug fixes",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1525/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/45447/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/45447/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 729441B4DD;\n\tWed, 26 Sep 2018 20:06:30 +0200 (CEST)",
            "from EUR01-VE1-obe.outbound.protection.outlook.com\n\t(mail-ve1eur01on0061.outbound.protection.outlook.com [104.47.1.61])\n\tby dpdk.org (Postfix) with ESMTP id 622631B4BD\n\tfor <dev@dpdk.org>; Wed, 26 Sep 2018 20:06:19 +0200 (CEST)",
            "from Tophie.ap.freescale.net (14.142.187.166) by\n\tAM6PR04MB4679.eurprd04.prod.outlook.com (2603:10a6:20b:1c::18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1164.22; Wed, 26 Sep 2018 18:06:16 +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=p1hFyFT38KSNSteR9Wa1v0/+hmUJCOA4moE81T+LKt43zmArvza+BKsJi2QgzS/5e4u/Lr7xiJHzFiKZM2NVdTTFwHAtRaHvwBbI/XZ5Yau5vcqhCWsg2bcX0uwvbmzjx2Z+ByMzX4yhuKMRrcFtU/9opwwOeVbOPIsXeFOfvio=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=shreyansh.jain@nxp.com; ",
        "From": "Shreyansh Jain <shreyansh.jain@nxp.com>",
        "To": "dev@dpdk.org,\n\tferruh.yigit@intel.com",
        "Cc": "thomas@monjalon.net,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Wed, 26 Sep 2018 23:34:39 +0530",
        "Message-Id": "<20180926180440.31726-15-shreyansh.jain@nxp.com>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20180926180440.31726-1-shreyansh.jain@nxp.com>",
        "References": "<20180917103631.32304-1-shreyansh.jain@nxp.com>\n\t<20180926180440.31726-1-shreyansh.jain@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "MA1PR0101CA0014.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:a00:21::24) To AM6PR04MB4679.eurprd04.prod.outlook.com\n\t(2603:10a6:20b:1c::18)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "21798edb-5498-4e76-1d6b-08d623dac20c",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989299)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020);\n\tSRVR:AM6PR04MB4679; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM6PR04MB4679;\n\t3:Nq+Nn94G+wyFFYGC09l+to4i6OGnICJX3IOPxAkVm0OwqClGlVLTygonxMcyv5oA9Ql3HcGEOiXUTDLae/CRyXANzmv1mYUBIMtp7CiAgmj6UtNBRYDmZp9DK3/0agZoRm6Jt19bQdELhFBQoFoDts9/JLy2x1W6x8sxI49VQNVK8bhlVRhZzTxZ8RRXg3wW+3A88XGKGSzqZWxNtjqHp7j/uZOS9tj+VrmulFhnNxlTqjkfJUmVslUtoFOFm+ry;\n\t25:6wcnmaHruwdrmStxaubV0AWU8YEskbi3oskQdQCLWWW5lfu7V8t7Yl0XMXqHJfLY3fh/88EODN7Y7Q8I1lgicei2JFWq3XRsJAbaJ6WJTBaog+R/c9h5oSjIlcxOAuuId5b/+2EpFbL1TLPh8u6kNluZXhomafPMqFZcPBelT4VF30gCAKlpyW9pEzDnYa+C6+2vXFOItuv1WxW2UVfXa5qwEuT8ixcukFHOpzM19vpsaTUND8z97w1+QAF7xzqOAfVQQLn6x4rwiJF9mAhBZfAPOmhYtI6Wk2o29fIYaw8yyIDXqUqvZ698pliEJrJgEcpWkUmKZUFbQZc4ioMgwA==;\n\t31:vNE9AOAOtWA9TYyrxu+WqM17GqPnVFcB4LELat2P2BbMd/YMyaPcOp0siNwUX8eUBghSOD+tPuzEo1UUn+EYaqNJHNk8gCrRe/KJSvxiQiI63KRmNHCxUZHjlMOLCJvmUixjHbEF303rkkDiia7eOLwHmEYxEkvCDbQL/5yerFbr5A9AvxmNoSJ96RU5fWplthKpoPvHLInetPgpmTaqbfIrqxOyoSaARy75YX5cdM8=",
            "1; AM6PR04MB4679;\n\t20:M02w+ADnfw7ZpHhAIZ+1Qx3SNSfQh11vLil5tt1EY5aQVrToP+lgHN7bq6q+ar7jza7HQfdmXeNcahV3CT0rSYMyaoei4VxD7/NGNBZJKzwzXmAuAAU0C4+StBAaPWVwZ2XtxHcvxuOBxvf/RenXAt5rGQQjHTQI+yclYOlzTaqoWgX8qFYmDBrf57XWaGeUWHrYiiKqvJEzrnCJ5WucN3pqUXR1rrTSPE6ISOZwat7AHipwQzjvuKdScW2kxTbrL8qhtoKEvlQz/YeX3QFYDeLk85wSuD4o6hGvu04Q59ZGa9uNxnxzuUZuhfTewP4e13YYb3S1JIOspmZeMCSpqaFJYeXB7A3ruFhMBOAPLScgnxjs72GmW6OY8bGnwbINQJiwGoROiWny3Wwspcj4wtGfu+zH7F8Q3TzmDmo3GOonNnxOZtDT8xqbTXFYUMC/odk2pBBLeVoWdKp5vLAspvU0ovEQXDQjjPNxlSqJw7P+OWmYP9n/u5v5c6q6paAE;\n\t4:CwrRFbwgx/g+6dqEgF7HHsKo9oS+Ji9Zn28LGjAGjvmq8SubLfpuQodmAb4kWhJIALQAtEgWm1C8GMlSPvMZgXuovlHCAWEpoBQnAgRdKYK6Vndl+qc6j6H/YeFGz2MQcJNDn1BWwpN/BJTZX0/Ovyk6vAy3kH/Y010msoB7y3zILR6AvtZ3k49blKuHxPgc4eVt1sSyeU3CW+5wenC8BjX9pg7JZumtIkH5gjtEypOEaqE8C/YMRaePipX+kj9RYiXiB4dGfxiCB33aInXmXldy7A8jjwxAwyfTfx2IXaYX243S35ZXsiKofufEG5GU",
            "=?us-ascii?Q?1; AM6PR04MB4679;\n\t23:WN/EcnVB1F+DkxdFzqhnvmRnvzxHsEuw5pV7Xi3Qi?=\n\tkPNZ8mFSQqcIsaJWT2llM2dfwTLFEYwc2tT4VNQ76vmfM29Kw8FmNv1oOG4Xl979cV6+BDz5tC0HybKVa7ODocg7BUeytojLloW8wqSvtKfJfO2rmRm1aJo3JlB2bE9LBY5CW2MuvvLbWRooto0NqTLmbFY60lgdPXsV0CFKn8LWCwG8rylVj51QhUZwAOw1kwVV9OKTfPk2SF7yeyU2bh8nUQwP/Y/EuJKjEI7rUxSkotKBt7tR5BmZEuUUr4xoRg7oEHi7usxsw6Bipd6kt075PI14hhnbw/yU3KFkQ5M71lTME7Ih95APS5aeAiNKdSzohZoZoAcXPnS0tsOrc4Y+pyeb6jTY5Bzgs18EhssD+t0URcKmQFZd/IspAyazLX4mVQSt3cSjsJpMBzangqXlaIUoxTcSvL6A0Vh36tulkCtKGcLpXloh/RHWjiZr+T+Uq6/SUxOFKT6UN7PHQaHeb9qoOswaJke7yKRM8vCvh7ZBYdxV2n3WL3FxwCoTk+NCLL59KUNCHfTLe37WzZ1lj73UZqwAXn9MHeMgCBURsS7e8cSwq+a86wZWq7W4OXEDsXzv9jxE0H00AuMFZ8TMi5Ru4snaMQ86toadMrM1UQ+G6SuMf7M7LdfzvyAkm16pGjI37DEMMX2XEOEei1Ufo0cmDI9+Bu9bQKFm63fjEUD2ajcdaScQ3B5OVTPlEBRGvNGfpF6fyN+K6aujJuyXrxY7L9HCvjHjnh1mjK4iBXRhmkhq6ND8XTHLdFq3fK6OpJILz1ed8DosS/ba4xf10RK/RhYSw9ZtvzcfrDP2eacjzJumea4Uwt+Kb+5CoVVxYqACZn5zjCjPRigTOTap03NeZ0yvLrR2iwRacX01ufoPuVd8O8EaXoSE+P6mVQQ5l4otIUahMr3myiw1h1wEFxAaXf0KhYyHm6BlCV9/5WutCusmJ4ZD6QB1osXGTA0whC+MoHawh/nz+dbMluUTwwZT3zj6ACDCI72CzMrWftZ8ZQUVcRrPgVQu9rvdY7mGsCOd0FztM1wSIOMnZNc/6LQ6UeE6tjA0Rr62EZUw7/c+31E6YUd4TdQd3nkh7Fxiq00MM6dD9UQxs/UfOZlLlrRUHCY4lWVcmuaacVb+AlHFcmpbOjwvQrBEoGtjFZlm0u/7dq1eLALwFtja9vNF5zuNJw3N1HFvEDrlwyl5KSZUeI5mHCDPRwL1dPhKTIZZ19oRuQYo2pcp8xRafiipjuTcC42fCS3cx0l030o1FEOQLFPDo10lXJh/Ufue9gLqXpwPxo45AGUwyJ3RLeR",
            "1; AM6PR04MB4679;\n\t6:BFaaPy2r1DbuC8I1VAmQ1qbRmZ3ktGm4dCAuLPaKNxk2N3wYar32Lp3rHAGBls6fpLzhCroVc9r/dyQnULQX5Vr+qZQvTSE1MOb6+oa7kqWTGfHBf2VpClUqevJDxc4X4Qg28/DdpI+veEr7ypgSqPbT4YAS13XB8FQxWFG6OIjEx8reXt6c0RjCbGq157HlExVa9zGK3RLUtOBS4t3ShVDaFp+xHHvquFLdGEv6jnFGzzznPhBiOH+/7sszq3EuJBRn25c5b286mMR0Zb1L2nCtAiGojk9QX7WR5111AcoqvB6h+rUT3ZRlmp/JnlzOAc75g6KDTcI7thijU0Qghc12eR2pwtKZXL6v2TfI2UJqE7FHPQAG5aTAuW/pTxbVbVyRVwu2veB1cLhy/MFESfChqsruCuTF1SskQ5AckgxoY5MoR004KaUg/mgu8XPaSiI5aR1HdwwIBZ1Ut/FiXQ==;\n\t5:QatqdCHHpSLTsXpVyxVxcM/ea+O+SWPOxWv0MwZmQi7YsagILUIN5FhTC/cs+oRSyHeLEQ1g7oyeF6U+fapNV7ULK7x9OfOvHWMON1Dd3A9aSefchYcBAy40bFvtlUnHaaBiQXCm1SvTTcjZFIwDeNu5jkNCm4xxEN6Js97drd8=;\n\t7:/eNJpWwj9lO2xtk3UvKSc3zsRfEA5VtC3Lk/DJv8RYhzAm3AflCD9Hk0F48Xv2UltREB46FIymxbr4+Y1xhrOD7yHq4zEjCXaga8k2NgXXFySwxqrPdt77iLf0yGWU8RJ71V6K8yLIu1sOwKnXyW4jyhl3iwOQXqdRyypjt+iVwgPuH3bWPnPAZnOybB8AkvdwIAahgnMy9MnG6qZebIG0igYgb3c2bKlLyD/fgqfJfZheLV73Z0y4ryCWSybvuR"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM6PR04MB4679:",
        "X-Microsoft-Antispam-PRVS": "<AM6PR04MB4679625409B76EAE44E683ED90150@AM6PR04MB4679.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)(3231355)(944501410)(52105095)(3002001)(6055026)(149066)(150057)(6041310)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123558120)(20161123560045)(201708071742011)(7699051);\n\tSRVR:AM6PR04MB4679; BCL:0; PCL:0; RULEID:; SRVR:AM6PR04MB4679; ",
        "X-Forefront-PRVS": "08076ABC99",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(136003)(396003)(346002)(366004)(39860400002)(189003)(199004)(11346002)(50226002)(446003)(47776003)(44832011)(956004)(476003)(106356001)(486006)(2616005)(6512007)(66066001)(305945005)(7736002)(6486002)(105586002)(36756003)(86362001)(478600001)(8936002)(16526019)(81166006)(50466002)(186003)(26005)(25786009)(8676002)(55236004)(48376002)(81156014)(4326008)(3846002)(6116002)(1076002)(6666003)(52116002)(34290500001)(5009440100003)(2906002)(217873002)(16586007)(51416003)(316002)(97736004)(6506007)(76176011)(5660300001)(386003)(68736007)(14444005)(53936002)(110426005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR04MB4679;\n\tH:Tophie.ap.freescale.net; FPR:; \n\tSPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "Mx18PUU+wgd0JQyL5QteGv4IvL6996MR185cJqojxAIJSI2xRz55WqkoTspeaMByapobSqbDFE1xgj5S/2u2a3BoNdXEAOrXcu3OYGNFjCvZLJzZMVPQyQ4g87X3VatPwNDpz8w8A48q/WXMnY0UrCq1vWqCUcV8vdSysd4dE77gUOnlcHbpkprCq+FJyBzH5+jfBbfhvG53jffohvcXpIrchJZOe/ArwN0Cmv7mkWovyepV5Hi7s1U8S0+0Yfy+7S50ps7VnKcTF/EbRqVrVHg/SB50rR4jhuQQgaeMTDXI4ZpEusM1Joe9bTWRCx9ZbG6n9nGjN5+JPmNJN7mgj4YUMu/pKgyCskEfRUjaFsw=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "26 Sep 2018 18:06:16.8514\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "21798edb-5498-4e76-1d6b-08d623dac20c",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM6PR04MB4679",
        "Subject": "[dpdk-dev] [PATCH v2 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": [
        "v2",
        "14/15"
    ]
}