get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 30461,
    "url": "http://patches.dpdk.org/api/patches/30461/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1508230393-27018-1-git-send-email-pbhagavatula@caviumnetworks.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": "<1508230393-27018-1-git-send-email-pbhagavatula@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1508230393-27018-1-git-send-email-pbhagavatula@caviumnetworks.com",
    "date": "2017-10-17T08:53:11",
    "name": "[dpdk-dev,1/3] net/octeontx: add support for event Rx adapter",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "bc4ddbf172e44f4d944e635d70d93095f9eea0eb",
    "submitter": {
        "id": 768,
        "url": "http://patches.dpdk.org/api/people/768/?format=api",
        "name": "Pavan Nikhilesh",
        "email": "pbhagavatula@caviumnetworks.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1508230393-27018-1-git-send-email-pbhagavatula@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/30461/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/30461/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 8AD291B7CD;\n\tTue, 17 Oct 2017 10:53:32 +0200 (CEST)",
            "from NAM03-DM3-obe.outbound.protection.outlook.com\n\t(mail-dm3nam03on0080.outbound.protection.outlook.com [104.47.41.80])\n\tby dpdk.org (Postfix) with ESMTP id 477501B74E\n\tfor <dev@dpdk.org>; Tue, 17 Oct 2017 10:53:31 +0200 (CEST)",
            "from PBHAGAVATULA-LT.caveonetworks.com (111.93.218.67) by\n\tMWHPR07MB3470.namprd07.prod.outlook.com (10.164.192.21) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id\n\t15.20.77.7; Tue, 17 Oct 2017 08:53:27 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=y07Ohm4k3Gd4YsusS93h2IKzMmLlOY6kWarrPAWQyaE=;\n\tb=XKb+v6HFIYmp+W0tQAMeE5GBmG9MwBHnUjJQuGMpP6JuIcLUxtknpsRj7VdEmb5AadNEJlAeTDD+BPJV99ErGRymfKgLs6arXV2S1JJSE75biLZcknJMav9+JJUX+JHZBXZrKWsJrbzxGBT3jJlk4khKQA+G122n0rasqYdwplo=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Pavan.Bhagavatula@cavium.com; ",
        "From": "Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>",
        "To": "santosh.shukla@caviumnetworks.com,\n\tjerin.jacob@caviumnetworks.com",
        "Cc": "dev@dpdk.org,\n\tPavan Nikhilesh <pbhagavatula@caviumnetworks.com>",
        "Date": "Tue, 17 Oct 2017 14:23:11 +0530",
        "Message-Id": "<1508230393-27018-1-git-send-email-pbhagavatula@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[111.93.218.67]",
        "X-ClientProxiedBy": "MWHPR12CA0029.namprd12.prod.outlook.com (10.172.49.15) To\n\tMWHPR07MB3470.namprd07.prod.outlook.com (10.164.192.21)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "58e83aa3-979c-456e-0213-08d5153c897c",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(22001)(2017030254152)(2017052603199)(201703131423075)(201703031133081)(201702281549075);\n\tSRVR:MWHPR07MB3470; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; MWHPR07MB3470;\n\t3:ni6Qrm6WDgowHRPrgzUfAO8HweweAlMbt3Nn84r2rrbcLpp4E9q13QdwJRb0hnsVLl+RqIVC22snyUkrlDA+SfbXUt9m/DnMfRc0O1p/jXRz8ZpTqwpY3RPVfxZPwcLDMUxeMC9MTtcmTOJ+z1d422/xSV9rlD3MdEhjpf8ayG8pkCoez7eLnch92Sf1ik80qR8VT0nZ6pbeov/t+6RRJgy0FMP3W0ZG2YT74gmshjRNNaqSYwcA+CL34wjtpgpd;\n\t25:nUTdO5UfBUyUYBSE0tdMkYwH0YWmQRNFDFgGbGpvVQEh97jlB4RiiVVX9DvKPFN1GzBFL37Wh58L8jlu0dsDY5nQvtV699mtbRBLYq1arKt9ujonRTY1xfAYNriF3IE/hwOdfIaP5zBmoQUK6PbYIDwZJeko+l+ApzKIJf3dsR6MH4hwIcaKPNM5speTBY28+n1Lgwz5QwBqUC/xkWZlUlCMGebM0bkoQ9N5pBSJKpxKYcifvec4mukpcTVoWkVjKBasPetYKqjWN4Y9ndbe6zoV5Zn4CnTk/MEfJj7NL0MujqQgLCIX88NJT4QndpgaGiOmIPSpXZ0CWhHb3uruOg==;\n\t31:/WoPeIURNZhISwZCKECdZPaUkg98pIaJnauBrhIq0dZaKxK4K+FOYICmFgU/VrAdrT4FUaOvH+iHnQ2np141SM29OEvE0XKKmjWHKlrKYhWchpPjpjQ3g6PxYJEWM6hT8MEWexRP9E5DBlvmuuXVx0AHj1jMAA+f4f+X5hUkz7b5OHlUZ3Ridsq1ggu7MoA24ixfJlHb1I8WcoPPS5u7CasZ6K2YVYGp7Ukob7mm/ho=",
            "1; MWHPR07MB3470;\n\t20:m8auDnZwUZFW/P2ZyAv+MWQTEH9JmcMdeShBQl2pJ+yrqIL857ge4hnNkloCjE2bdjQWK5KyGvRpAIvCijBtr5FzCNdu/2W/eN5rimZohuuBKu4wOLzFxuC28pWJt40Cdp+WrZOD7rG2h9GMAMpHGSMoI2JgNRYjPQzwBsXgC8lWI9ZAJI+wJlLiGoXpWBH2g92JC3j5HDARU3zv3cHaQTgMd6rlW2C1NZxwi6pkkpEsXh8odYp1a1c8+QlxpHqUb0zHGV95Mg4SJeMRqhyBvzosfxw2WBknuArmIGIMOMDHhq2l6NLU24sWt/BCiuhLDlEGw/naZua2nlcl5vTPBddXkkKKG/uYIDlsf/OPzgArNCh+V+WtluOBCM7MJNZFC296MdINXptHf4Q+yMntFZwBnY9loyKTsFMdddyEyX+AIzPAfgPJ7Guq0PTWTPNdsKJ9SbB7cHdMXiuMXwfn38jqlKaoefVRRzuxCCMhyb1JGTWh8i6lzUQ8sgyhSVjXo5PEZtc3YpF70TL8KbMK4HMM5xB0lgAUFM0hgspfbeisC0eQ+HQwMUQVbUmCkAlCUI8gftkvc6A8SmrW6wn+A3fT2hnyX4wlxf0bYZu8FHk=;\n\t4:E/rUfGyrtwqLi1MVYirkm+WiUGzNWMoQgxh2lZ+o3gL8ZoPskkCpTsQATt47WEXejA+PV4ehUfwd3ijK+GquhEj4FV7qhe5Ls1YbvCo3suhNrmnZT0HA2BEsfPzw3JyDucn0F5Nmg7QiLByizPkei+BBUKfpdKSO55cTwe24Xj/E6mneOV87O8JVZSUSSvw54tCVblvEab1dkKuAgUqN4b8oYJ95Dgw9UA7bGHzVfarqkMzf9KRW4NmmAVXz3ysQ",
            "=?us-ascii?Q?1; MWHPR07MB3470;\n\t23:7Jr1ZWugdbyysZwYBAowreZFrYNJC+/0y6AQw2c4y?=\n\tgbT37fWm4gqm9ZkYKZ7bRXQUJkQRUjMZQngo41LaNJY64d6Ho2jpq3bTO0/Chn0zUGrmP7vGJnQ9HCEL0c4OTYSMGDDWkY3Z0U8SRBBAZSrG2bHCc2I66eJAnYr+R9vFXW5J3aZlWicJCBaFCYLmZZUw1dY7nBAUihLhAZH5+VhfhO76pf+Ano30dqv4rLtSb6Snhp4aC2XactTpj2Qb7WXORefzzJDJ4C5T18V8plq8xU7UAf76Png00SbOkU/ffHRJT4sBxQ3jSUPD54URNSAdy7jeNglboqlEFQCZZYOugo01Oisu27Pqus1BSUN6fofgZ7VYnGZpfKpJFP2bwhIaA02qDOcRMb5bYIdhjiuIlme2gez/Bnk49xRtV2v3/FQxbSeKYflvBVTAOqd/pdAUDNrGc8SxKW9P7BxndcAHIA3JArp2CZQ1WsypAA/pUt3RYUHakwgQm3zdBpf9U2zaCRp5bnHDgQg/ZrF2M+Y92DP/Z1jd/KvpiWFWbXyPxt4/TAbPxpE9berLAfpQe0f8SrcgcHoDgsochA3I2uD2Iwge0hd119J5reCl3B9/La6PBs0PlK6lOEpugy/dzE+8IgBwKAen6K2EA7K6XbsvivRDwJcAU3L4i/f2A+dgZzCBhOkUj7NGfDaKYvK4Ev7tRS9VMxCWDVsxIHrMtFQXCikuAtaoe5Vw0vJ5A12sJqyAxP8FiP/2FKAJ2y+PLPn9jCfjEfKAACmD07enRRawGA3Imq6vjSqEidDRagmalS4385kMHGjE0PmNxA4VmiuBRJ4EGS3RvGZJ8qFJhN/niZsek11uV5hYJr8IRtj5rtKwP9itELUa9/SxKLj5+lEy+LzBTDQIfgV/159PSDTwUa+baLj51pknNxlg0SqrYA7R79IzPvD1LQW/Hdk7nm2jDs7w0QLJIFwg1Gk6o12f75+W37VDrcXMTSiYMv5vBMdv1woFxBiWqLdtRN4A6ASmTL/xW6HmbSN2i2qmtYNVq9iKIAiWkA9RP5xKmEtUSZLbe4oF3ZiVgFl4MhredjnbSEFvwLuoX7ft/UG442huRzQQPselX2yyg1O4Vx0TA6gPLo1nPlrt+drn07EF0yTiCmC2c6ItOwICc6ooCkQNVTF810tDdJoM8kQiJIdjxHRBx4mO6LUpm2sJOSTXu5V8a5OsPWCCdaNBZNp7I/utA==",
            "1; MWHPR07MB3470;\n\t6:KMky7C0bFmop5fdB2Bp4EmRTMXQh0G/CkC+X0jZYNBMKBlOffKw9RBYast9wCk8V7zGFHjAtidfFDV2FMvEbP09oEr2G4LVoEx1pQyKsTPMrGvbrOGW3+bNmjFi/EUGl11sVKHsWRMCkQQabkmsKq8LsS3M6mVgwyc9RKfQMUPmi2u5Tb84aSFZk2Q9KM2p9m+VfG2ap8HRgF1J7njroCx0EPnw9DsIN/bWdSjxN4JILPXc90tZf6JO8BoTaoQ7O7GHLfmIzq5N7oOBN9PDK1i/tZTTT/awrkZoTnUKjBUwWYoCtByeHaEB+4XkuwWFASxWrH0J43ADv4nxsD8m78g==;\n\t5:yFfC8KNXUSIh3vCBzAFIcKQa4DboK9r4BxfLmvVC2gQ8N24GCVD+EbX1RHW6mfJxsKq+sJJRnlVz0k7U18ZxvXMLjcJL8mfj0YVpAI3BqveUv5j98ely5qn6pfL3detJELU2rPaOAb+zREHuGagf4w==;\n\t24:s7wYI+SysEADjhl4nUhiOLmZdqFmeVVeFHPHEcWHxBXDcAMfTqtfw1+Q7rOGnWHtzS+WDKz6LIPtHxzODnl5wlZy/mhNc8QM4hE4n2RzYGQ=;\n\t7:y/OQ+vGSEXC9Cf45Jq/wWoj9wWN4f+Tzcf9GdRfmjGimrCHkCWHxmWhh/xompNuid6v7Dpc+R2suZ4gkoVi2xCT7ti5cV28FPTJCJfQSwzIGtTp5eMzJAc1LZnDJwy5lYCF2yKtbiE2g9mOPaCAthPZsUl6E7oAM9y+pSqP2sBahzA6I/hhqMk2U04HfQzaICUv8rIJ8dLxRZ4u2vSthSFc1lWKX8OcGZrTQFN76foE="
        ],
        "X-MS-TrafficTypeDiagnostic": "MWHPR07MB3470:",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Microsoft-Antispam-PRVS": "<MWHPR07MB3470AC3B687B167E063EA66D804C0@MWHPR07MB3470.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(2401047)(5005006)(8121501046)(93006095)(10201501046)(3002001)(100000703101)(100105400095)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123564025)(20161123562025)(20161123558100)(6072148)(201708071742011)(100000704101)(100105200095)(100000705101)(100105500095);\n\tSRVR:MWHPR07MB3470; BCL:0; PCL:0;\n\tRULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);\n\tSRVR:MWHPR07MB3470; ",
        "X-Forefront-PRVS": "04631F8F77",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(6009001)(376002)(346002)(199003)(189002)(50466002)(68736007)(5009440100003)(3846002)(48376002)(16586007)(2906002)(105586002)(53416004)(101416001)(8936002)(106356001)(6116002)(5660300001)(81166006)(305945005)(81156014)(50226002)(5003940100001)(69596002)(33646002)(8676002)(7736002)(6306002)(25786009)(6512007)(107886003)(6506006)(4326008)(53376002)(53936002)(42882006)(36756003)(189998001)(6486002)(966005)(478600001)(6666003)(47776003)(50986999)(316002)(66066001)(97736004)(6636002)(85306007)(16526018)(72206003)(42262002);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3470;\n\tH:PBHAGAVATULA-LT.caveonetworks.com; FPR:; SPF:None; PTR:InfoNoRecords;\n\tA:1; MX:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "17 Oct 2017 08:53:27.8650\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "MWHPR07MB3470",
        "Subject": "[dpdk-dev] [PATCH 1/3] net/octeontx: add support for event Rx\n\tadapter",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Add functions to modify and delete qos responsible for mapping eth queues\nto event queues used for configuring event Rx adapter.\nThe mbox functions have been moved from octeontx_pkivf.c to\nocteontx_pkivf.h to allow event_octeontx to access them.\n\nSigned-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com>\n---\n\nThis patch set depends on the series http://dpdk.org/dev/patchwork/patch/30430/\n\n drivers/net/octeontx/base/octeontx_pkivf.c |  65 ---------------\n drivers/net/octeontx/base/octeontx_pkivf.h | 126 ++++++++++++++++++++++++++++-\n drivers/net/octeontx/octeontx_ethdev.c     |   3 +-\n drivers/net/octeontx/octeontx_rxtx.c       | 108 +------------------------\n drivers/net/octeontx/octeontx_rxtx.h       |  89 ++++++++++++++++++++\n 5 files changed, 216 insertions(+), 175 deletions(-)\n\n--\n2.7.4",
    "diff": "diff --git a/drivers/net/octeontx/base/octeontx_pkivf.c b/drivers/net/octeontx/base/octeontx_pkivf.c\nindex afae6a3..f9e4053 100644\n--- a/drivers/net/octeontx/base/octeontx_pkivf.c\n+++ b/drivers/net/octeontx/base/octeontx_pkivf.c\n@@ -111,71 +111,6 @@ octeontx_pki_port_create_qos(int port, pki_qos_cfg_t *qos_cfg)\n \treturn res;\n }\n\n-int\n-octeontx_pki_port_close(int port)\n-{\n-\tstruct octeontx_mbox_hdr hdr;\n-\tint res;\n-\n-\tmbox_pki_port_t ptype;\n-\tint len = sizeof(mbox_pki_port_t);\n-\tmemset(&ptype, 0, len);\n-\tptype.port_type = OCTTX_PORT_TYPE_NET;\n-\n-\thdr.coproc = OCTEONTX_PKI_COPROC;\n-\thdr.msg = MBOX_PKI_PORT_CLOSE;\n-\thdr.vfid = port;\n-\n-\tres = octeontx_ssovf_mbox_send(&hdr, &ptype, len, NULL, 0);\n-\tif (res < 0)\n-\t\treturn -EACCES;\n-\n-\treturn res;\n-}\n-\n-int\n-octeontx_pki_port_start(int port)\n-{\n-\tstruct octeontx_mbox_hdr hdr;\n-\tint res;\n-\n-\tmbox_pki_port_t ptype;\n-\tint len = sizeof(mbox_pki_port_t);\n-\tmemset(&ptype, 0, len);\n-\tptype.port_type = OCTTX_PORT_TYPE_NET;\n-\n-\thdr.coproc = OCTEONTX_PKI_COPROC;\n-\thdr.msg = MBOX_PKI_PORT_START;\n-\thdr.vfid = port;\n-\n-\tres = octeontx_ssovf_mbox_send(&hdr, &ptype, len, NULL, 0);\n-\tif (res < 0)\n-\t\treturn -EACCES;\n-\n-\treturn res;\n-}\n-\n-int\n-octeontx_pki_port_stop(int port)\n-{\n-\tstruct octeontx_mbox_hdr hdr;\n-\tint res;\n-\n-\tmbox_pki_port_t ptype;\n-\tint len = sizeof(mbox_pki_port_t);\n-\tmemset(&ptype, 0, len);\n-\tptype.port_type = OCTTX_PORT_TYPE_NET;\n-\n-\thdr.coproc = OCTEONTX_PKI_COPROC;\n-\thdr.msg = MBOX_PKI_PORT_STOP;\n-\thdr.vfid = port;\n-\n-\tres = octeontx_ssovf_mbox_send(&hdr, &ptype, len, NULL, 0);\n-\tif (res < 0)\n-\t\treturn -EACCES;\n-\n-\treturn res;\n-}\n\n int\n octeontx_pki_port_errchk_config(int port, pki_errchk_cfg_t *cfg)\ndiff --git a/drivers/net/octeontx/base/octeontx_pkivf.h b/drivers/net/octeontx/base/octeontx_pkivf.h\nindex 7cf8332..004dedc 100644\n--- a/drivers/net/octeontx/base/octeontx_pkivf.h\n+++ b/drivers/net/octeontx/base/octeontx_pkivf.h\n@@ -240,10 +240,18 @@ typedef struct mbox_pki_port_modify_qos_entry {\n \t\tuint8_t f_gaura:1;\n \t\tuint8_t f_grptag_ok:1;\n \t\tuint8_t f_grptag_bad:1;\n+\t\tuint8_t f_tag_type:1;\n \t} mmask;\n+\tuint8_t tag_type;\n \tstruct mbox_pki_qos_entry qos_entry;\n } mbox_pki_mod_qos_t;\n\n+/* pki flow/style enable qos */\n+typedef struct mbox_pki_port_delete_qos_entry {\n+\tuint8_t port_type;\n+\tuint16_t index;\n+} mbox_pki_del_qos_t;\n+\n /* PKI maximum constants */\n #define PKI_VF_MAX\t\t\t(1)\n #define PKI_MAX_PKTLEN\t\t\t(32768)\n@@ -407,6 +415,12 @@ typedef struct pki_port_create_qos {\n } pki_qos_cfg_t;\n\n /* pki flow/style enable qos */\n+typedef struct pki_port_delete_qos_entry {\n+\tuint8_t port_type;\n+\tuint16_t index;\n+} pki_del_qos_t;\n+\n+/* pki flow/style enable qos */\n typedef struct pki_port_modify_qos_entry {\n \tuint8_t port_type;\n \tuint16_t index;\n@@ -415,17 +429,125 @@ typedef struct pki_port_modify_qos_entry {\n \t\tuint8_t f_grp_ok:1;\n \t\tuint8_t f_grp_bad:1;\n \t\tuint8_t f_gaura:1;\n+\t\tuint8_t f_grptag_ok:1;\n+\t\tuint8_t f_grptag_bad:1;\n+\t\tuint8_t f_tag_type:1;\n \t} mmask;\n+\tuint8_t tag_type;\n \tstruct pki_qos_entry qos_entry;\n } pki_mod_qos_t;\n\n+static inline int\n+octeontx_pki_port_modify_qos(int port, pki_mod_qos_t *qos_cfg)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint res;\n+\n+\tmbox_pki_mod_qos_t q_cfg = *(mbox_pki_mod_qos_t *)qos_cfg;\n+\tint len = sizeof(mbox_pki_mod_qos_t);\n+\n+\thdr.coproc = OCTEONTX_PKI_COPROC;\n+\thdr.msg = MBOX_PKI_PORT_MODIFY_QOS;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, &q_cfg, len, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n+static inline int\n+octeontx_pki_port_delete_qos(int port, pki_del_qos_t *qos_cfg)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint res;\n+\n+\tmbox_pki_del_qos_t q_cfg = *(mbox_pki_del_qos_t *)qos_cfg;\n+\tint len = sizeof(mbox_pki_del_qos_t);\n+\n+\thdr.coproc = OCTEONTX_PKI_COPROC;\n+\thdr.msg = MBOX_PKI_PORT_DELETE_QOS;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, &q_cfg, len, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n+static inline int\n+octeontx_pki_port_close(int port)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint res;\n+\n+\tmbox_pki_port_t ptype;\n+\tint len = sizeof(mbox_pki_port_t);\n+\tmemset(&ptype, 0, len);\n+\tptype.port_type = OCTTX_PORT_TYPE_NET;\n+\n+\thdr.coproc = OCTEONTX_PKI_COPROC;\n+\thdr.msg = MBOX_PKI_PORT_CLOSE;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, &ptype, len, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n+static inline int\n+octeontx_pki_port_start(int port)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint res;\n+\n+\tmbox_pki_port_t ptype;\n+\tint len = sizeof(mbox_pki_port_t);\n+\tmemset(&ptype, 0, len);\n+\tptype.port_type = OCTTX_PORT_TYPE_NET;\n+\n+\thdr.coproc = OCTEONTX_PKI_COPROC;\n+\thdr.msg = MBOX_PKI_PORT_START;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, &ptype, len, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n+static inline int\n+octeontx_pki_port_stop(int port)\n+{\n+\tstruct octeontx_mbox_hdr hdr;\n+\tint res;\n+\n+\tmbox_pki_port_t ptype;\n+\tint len = sizeof(mbox_pki_port_t);\n+\tmemset(&ptype, 0, len);\n+\tptype.port_type = OCTTX_PORT_TYPE_NET;\n+\n+\thdr.coproc = OCTEONTX_PKI_COPROC;\n+\thdr.msg = MBOX_PKI_PORT_STOP;\n+\thdr.vfid = port;\n+\n+\tres = octeontx_ssovf_mbox_send(&hdr, &ptype, len, NULL, 0);\n+\tif (res < 0)\n+\t\treturn -EACCES;\n+\n+\treturn res;\n+}\n+\n int octeontx_pki_port_open(int port);\n int octeontx_pki_port_hash_config(int port, pki_hash_cfg_t *hash_cfg);\n int octeontx_pki_port_pktbuf_config(int port, pki_pktbuf_cfg_t *buf_cfg);\n int octeontx_pki_port_create_qos(int port, pki_qos_cfg_t *qos_cfg);\n int octeontx_pki_port_close(int port);\n-int octeontx_pki_port_start(int port);\n-int octeontx_pki_port_stop(int port);\n int octeontx_pki_port_errchk_config(int port, pki_errchk_cfg_t *cfg);\n\n #endif /* __OCTEONTX_PKI_H__ */\ndiff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c\nindex 82e38c2..86de5d1 100644\n--- a/drivers/net/octeontx/octeontx_ethdev.c\n+++ b/drivers/net/octeontx/octeontx_ethdev.c\n@@ -930,6 +930,7 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,\n \t\t\tpki_hash.tag_slc = 1;\n \t\t\tpki_hash.tag_dlf = 1;\n \t\t\tpki_hash.tag_slf = 1;\n+\t\t\tpki_hash.tag_prt = 1;\n \t\t\tocteontx_pki_port_hash_config(port, &pki_hash);\n \t\t}\n\n@@ -941,7 +942,7 @@ octeontx_dev_rx_queue_setup(struct rte_eth_dev *dev, uint16_t qidx,\n \t\tpki_qos.qpg_qos = PKI_QPG_QOS_NONE;\n \t\tpki_qos.num_entry = 1;\n \t\tpki_qos.drop_policy = 0;\n-\t\tpki_qos.tag_type = 2L;\n+\t\tpki_qos.tag_type = 0L;\n \t\tpki_qos.qos_entry[0].port_add = 0;\n \t\tpki_qos.qos_entry[0].gaura = gaura;\n \t\tpki_qos.qos_entry[0].ggrp_ok = ev_queues;\ndiff --git a/drivers/net/octeontx/octeontx_rxtx.c b/drivers/net/octeontx/octeontx_rxtx.c\nindex 0b15833..99531cd 100644\n--- a/drivers/net/octeontx/octeontx_rxtx.c\n+++ b/drivers/net/octeontx/octeontx_rxtx.c\n@@ -47,94 +47,6 @@\n #include \"octeontx_rxtx.h\"\n #include \"octeontx_logs.h\"\n\n-/* Packet type table */\n-#define PTYPE_SIZE\tOCCTX_PKI_LTYPE_LAST\n-\n-static const uint32_t __rte_cache_aligned\n-ptype_table[PTYPE_SIZE][PTYPE_SIZE][PTYPE_SIZE] = {\n-\t[LC_NONE][LE_NONE][LF_NONE] = RTE_PTYPE_UNKNOWN,\n-\t[LC_NONE][LE_NONE][LF_IPSEC_ESP] = RTE_PTYPE_UNKNOWN,\n-\t[LC_NONE][LE_NONE][LF_IPFRAG] = RTE_PTYPE_L4_FRAG,\n-\t[LC_NONE][LE_NONE][LF_IPCOMP] = RTE_PTYPE_UNKNOWN,\n-\t[LC_NONE][LE_NONE][LF_TCP] = RTE_PTYPE_L4_TCP,\n-\t[LC_NONE][LE_NONE][LF_UDP] = RTE_PTYPE_L4_UDP,\n-\t[LC_NONE][LE_NONE][LF_GRE] = RTE_PTYPE_TUNNEL_GRE,\n-\t[LC_NONE][LE_NONE][LF_UDP_GENEVE] = RTE_PTYPE_TUNNEL_GENEVE,\n-\t[LC_NONE][LE_NONE][LF_UDP_VXLAN] = RTE_PTYPE_TUNNEL_VXLAN,\n-\t[LC_NONE][LE_NONE][LF_NVGRE] = RTE_PTYPE_TUNNEL_NVGRE,\n-\n-\t[LC_IPV4][LE_NONE][LF_NONE] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV4][LE_NONE][LF_IPSEC_ESP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_L3_IPV4,\n-\t[LC_IPV4][LE_NONE][LF_IPFRAG] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_FRAG,\n-\t[LC_IPV4][LE_NONE][LF_IPCOMP] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV4][LE_NONE][LF_TCP] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,\n-\t[LC_IPV4][LE_NONE][LF_UDP] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,\n-\t[LC_IPV4][LE_NONE][LF_GRE] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_GRE,\n-\t[LC_IPV4][LE_NONE][LF_UDP_GENEVE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_GENEVE,\n-\t[LC_IPV4][LE_NONE][LF_UDP_VXLAN] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_VXLAN,\n-\t[LC_IPV4][LE_NONE][LF_NVGRE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_NVGRE,\n-\n-\t[LC_IPV4_OPT][LE_NONE][LF_NONE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV4_OPT][LE_NONE][LF_IPSEC_ESP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L3_IPV4,\n-\t[LC_IPV4_OPT][LE_NONE][LF_IPFRAG] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_FRAG,\n-\t[LC_IPV4_OPT][LE_NONE][LF_IPCOMP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV4_OPT][LE_NONE][LF_TCP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_TCP,\n-\t[LC_IPV4_OPT][LE_NONE][LF_UDP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_UDP,\n-\t[LC_IPV4_OPT][LE_NONE][LF_GRE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_GRE,\n-\t[LC_IPV4_OPT][LE_NONE][LF_UDP_GENEVE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_GENEVE,\n-\t[LC_IPV4_OPT][LE_NONE][LF_UDP_VXLAN] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_VXLAN,\n-\t[LC_IPV4_OPT][LE_NONE][LF_NVGRE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_NVGRE,\n-\n-\t[LC_IPV6][LE_NONE][LF_NONE] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV6][LE_NONE][LF_IPSEC_ESP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_L3_IPV4,\n-\t[LC_IPV6][LE_NONE][LF_IPFRAG] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_FRAG,\n-\t[LC_IPV6][LE_NONE][LF_IPCOMP] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV6][LE_NONE][LF_TCP] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,\n-\t[LC_IPV6][LE_NONE][LF_UDP] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,\n-\t[LC_IPV6][LE_NONE][LF_GRE] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_TUNNEL_GRE,\n-\t[LC_IPV6][LE_NONE][LF_UDP_GENEVE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_TUNNEL_GENEVE,\n-\t[LC_IPV6][LE_NONE][LF_UDP_VXLAN] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_TUNNEL_VXLAN,\n-\t[LC_IPV6][LE_NONE][LF_NVGRE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_NVGRE,\n-\t[LC_IPV6_OPT][LE_NONE][LF_NONE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV6_OPT][LE_NONE][LF_IPSEC_ESP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L3_IPV4,\n-\t[LC_IPV6_OPT][LE_NONE][LF_IPFRAG] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_FRAG,\n-\t[LC_IPV6_OPT][LE_NONE][LF_IPCOMP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_UNKNOWN,\n-\t[LC_IPV6_OPT][LE_NONE][LF_TCP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,\n-\t[LC_IPV6_OPT][LE_NONE][LF_UDP] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,\n-\t[LC_IPV6_OPT][LE_NONE][LF_GRE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_GRE,\n-\t[LC_IPV6_OPT][LE_NONE][LF_UDP_GENEVE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_GENEVE,\n-\t[LC_IPV6_OPT][LE_NONE][LF_UDP_VXLAN] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_VXLAN,\n-\t[LC_IPV6_OPT][LE_NONE][LF_NVGRE] =\n-\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_NVGRE,\n-\n-};\n\n static __rte_always_inline uint16_t __hot\n __octeontx_xmit_pkts(void *lmtline_va, void *ioreg_va, int64_t *fc_status_va,\n@@ -195,10 +107,8 @@ octeontx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\n uint16_t __hot\n octeontx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)\n {\n-\tstruct rte_mbuf *mbuf;\n \tstruct octeontx_rxq *rxq;\n \tstruct rte_event ev;\n-\tocttx_wqe_t *wqe;\n \tsize_t count;\n \tuint16_t valid_event;\n\n@@ -210,23 +120,7 @@ octeontx_recv_pkts(void *rx_queue, struct rte_mbuf **rx_pkts, uint16_t nb_pkts)\n \t\t\t\t\t\t\t1, 0);\n \t\tif (!valid_event)\n \t\t\tbreak;\n-\n-\t\twqe = (octtx_wqe_t *)(uintptr_t)ev.u64;\n-\t\trte_prefetch_non_temporal(wqe);\n-\n-\t\t/* Get mbuf from wqe */\n-\t\tmbuf = (struct rte_mbuf *)((uintptr_t)wqe -\n-\t\t\t\t\t\tOCTTX_PACKET_WQE_SKIP);\n-\t\tmbuf->packet_type =\n-\t\tptype_table[wqe->s.w2.lcty][wqe->s.w2.lety][wqe->s.w2.lfty];\n-\t\tmbuf->data_off = RTE_PTR_DIFF(wqe->s.w3.addr, mbuf->buf_addr);\n-\t\tmbuf->pkt_len = wqe->s.w1.len;\n-\t\tmbuf->data_len = mbuf->pkt_len;\n-\t\tmbuf->nb_segs = 1;\n-\t\tmbuf->ol_flags = 0;\n-\t\tmbuf->port = rxq->port_id;\n-\t\trte_mbuf_refcnt_set(mbuf, 1);\n-\t\trx_pkts[count++] = mbuf;\n+\t\trx_pkts[count++] = (struct rte_mbuf *)ev.u64;\n \t}\n\n \treturn count; /* return number of pkts received */\ndiff --git a/drivers/net/octeontx/octeontx_rxtx.h b/drivers/net/octeontx/octeontx_rxtx.h\nindex 1f91532..382ff2b 100644\n--- a/drivers/net/octeontx/octeontx_rxtx.h\n+++ b/drivers/net/octeontx/octeontx_rxtx.h\n@@ -39,6 +39,95 @@\n #define __hot\t__attribute__((hot))\n #endif\n\n+/* Packet type table */\n+#define PTYPE_SIZE\tOCCTX_PKI_LTYPE_LAST\n+\n+static const uint32_t __rte_cache_aligned\n+ptype_table[PTYPE_SIZE][PTYPE_SIZE][PTYPE_SIZE] = {\n+\t[LC_NONE][LE_NONE][LF_NONE] = RTE_PTYPE_UNKNOWN,\n+\t[LC_NONE][LE_NONE][LF_IPSEC_ESP] = RTE_PTYPE_UNKNOWN,\n+\t[LC_NONE][LE_NONE][LF_IPFRAG] = RTE_PTYPE_L4_FRAG,\n+\t[LC_NONE][LE_NONE][LF_IPCOMP] = RTE_PTYPE_UNKNOWN,\n+\t[LC_NONE][LE_NONE][LF_TCP] = RTE_PTYPE_L4_TCP,\n+\t[LC_NONE][LE_NONE][LF_UDP] = RTE_PTYPE_L4_UDP,\n+\t[LC_NONE][LE_NONE][LF_GRE] = RTE_PTYPE_TUNNEL_GRE,\n+\t[LC_NONE][LE_NONE][LF_UDP_GENEVE] = RTE_PTYPE_TUNNEL_GENEVE,\n+\t[LC_NONE][LE_NONE][LF_UDP_VXLAN] = RTE_PTYPE_TUNNEL_VXLAN,\n+\t[LC_NONE][LE_NONE][LF_NVGRE] = RTE_PTYPE_TUNNEL_NVGRE,\n+\n+\t[LC_IPV4][LE_NONE][LF_NONE] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV4][LE_NONE][LF_IPSEC_ESP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_L3_IPV4,\n+\t[LC_IPV4][LE_NONE][LF_IPFRAG] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_FRAG,\n+\t[LC_IPV4][LE_NONE][LF_IPCOMP] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV4][LE_NONE][LF_TCP] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,\n+\t[LC_IPV4][LE_NONE][LF_UDP] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,\n+\t[LC_IPV4][LE_NONE][LF_GRE] = RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_GRE,\n+\t[LC_IPV4][LE_NONE][LF_UDP_GENEVE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_GENEVE,\n+\t[LC_IPV4][LE_NONE][LF_UDP_VXLAN] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_VXLAN,\n+\t[LC_IPV4][LE_NONE][LF_NVGRE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_NVGRE,\n+\n+\t[LC_IPV4_OPT][LE_NONE][LF_NONE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV4_OPT][LE_NONE][LF_IPSEC_ESP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L3_IPV4,\n+\t[LC_IPV4_OPT][LE_NONE][LF_IPFRAG] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_FRAG,\n+\t[LC_IPV4_OPT][LE_NONE][LF_IPCOMP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV4_OPT][LE_NONE][LF_TCP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_TCP,\n+\t[LC_IPV4_OPT][LE_NONE][LF_UDP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_UDP,\n+\t[LC_IPV4_OPT][LE_NONE][LF_GRE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_GRE,\n+\t[LC_IPV4_OPT][LE_NONE][LF_UDP_GENEVE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_GENEVE,\n+\t[LC_IPV4_OPT][LE_NONE][LF_UDP_VXLAN] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_VXLAN,\n+\t[LC_IPV4_OPT][LE_NONE][LF_NVGRE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_NVGRE,\n+\n+\t[LC_IPV6][LE_NONE][LF_NONE] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV6][LE_NONE][LF_IPSEC_ESP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_L3_IPV4,\n+\t[LC_IPV6][LE_NONE][LF_IPFRAG] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_FRAG,\n+\t[LC_IPV6][LE_NONE][LF_IPCOMP] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV6][LE_NONE][LF_TCP] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,\n+\t[LC_IPV6][LE_NONE][LF_UDP] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,\n+\t[LC_IPV6][LE_NONE][LF_GRE] = RTE_PTYPE_L3_IPV6 | RTE_PTYPE_TUNNEL_GRE,\n+\t[LC_IPV6][LE_NONE][LF_UDP_GENEVE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_TUNNEL_GENEVE,\n+\t[LC_IPV6][LE_NONE][LF_UDP_VXLAN] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6 | RTE_PTYPE_TUNNEL_VXLAN,\n+\t[LC_IPV6][LE_NONE][LF_NVGRE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_NVGRE,\n+\t[LC_IPV6_OPT][LE_NONE][LF_NONE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV6_OPT][LE_NONE][LF_IPSEC_ESP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L3_IPV4,\n+\t[LC_IPV6_OPT][LE_NONE][LF_IPFRAG] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_FRAG,\n+\t[LC_IPV6_OPT][LE_NONE][LF_IPCOMP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_UNKNOWN,\n+\t[LC_IPV6_OPT][LE_NONE][LF_TCP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,\n+\t[LC_IPV6_OPT][LE_NONE][LF_UDP] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,\n+\t[LC_IPV6_OPT][LE_NONE][LF_GRE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_GRE,\n+\t[LC_IPV6_OPT][LE_NONE][LF_UDP_GENEVE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_GENEVE,\n+\t[LC_IPV6_OPT][LE_NONE][LF_UDP_VXLAN] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_VXLAN,\n+\t[LC_IPV6_OPT][LE_NONE][LF_NVGRE] =\n+\t\t\t\tRTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_TUNNEL_NVGRE,\n+\n+};\n+\n uint16_t\n octeontx_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts);\n\n",
    "prefixes": [
        "dpdk-dev",
        "1/3"
    ]
}