get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 93804,
    "url": "http://patchwork.dpdk.org/api/patches/93804/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1622649385-22652-9-git-send-email-anoobj@marvell.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": "<1622649385-22652-9-git-send-email-anoobj@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1622649385-22652-9-git-send-email-anoobj@marvell.com",
    "date": "2021-06-02T15:56:22",
    "name": "[08/11] common/cnxk: add IE microcode defines",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "87ed0994d17c330667bc315981b20c5a0f6675f4",
    "submitter": {
        "id": 1205,
        "url": "http://patchwork.dpdk.org/api/people/1205/?format=api",
        "name": "Anoob Joseph",
        "email": "anoobj@marvell.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patchwork.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1622649385-22652-9-git-send-email-anoobj@marvell.com/mbox/",
    "series": [
        {
            "id": 17212,
            "url": "http://patchwork.dpdk.org/api/series/17212/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=17212",
            "date": "2021-06-02T15:56:14",
            "name": "Add CPT in Marvell CNXK common driver",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/17212/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/93804/comments/",
    "check": "warning",
    "checks": "http://patchwork.dpdk.org/api/patches/93804/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 D12ACA0524;\n\tWed,  2 Jun 2021 17:57:44 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id D277740FDF;\n\tWed,  2 Jun 2021 17:57:28 +0200 (CEST)",
            "from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com\n [67.231.156.173])\n by mails.dpdk.org (Postfix) with ESMTP id 0A30B410E5\n for <dev@dpdk.org>; Wed,  2 Jun 2021 17:57:26 +0200 (CEST)",
            "from pps.filterd (m0045851.ppops.net [127.0.0.1])\n by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id\n 152FpLdg019794; Wed, 2 Jun 2021 08:57:26 -0700",
            "from dc5-exch02.marvell.com ([199.233.59.182])\n by mx0b-0016f401.pphosted.com with ESMTP id 38wufguhes-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Wed, 02 Jun 2021 08:57:26 -0700",
            "from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com\n (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2;\n Wed, 2 Jun 2021 08:57:24 -0700",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.2 via Frontend\n Transport; Wed, 2 Jun 2021 08:57:23 -0700",
            "from HY-LT1002.marvell.com (unknown [10.193.70.1])\n by maili.marvell.com (Postfix) with ESMTP id A512C3F703F;\n Wed,  2 Jun 2021 08:57:20 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0220;\n bh=Cv8HOXez++Is9Wb6clDSpv0IeZF1w9a8zlfYdtw8Mdw=;\n b=ODQpzL4fp0TFHwAlkyQmWPvRYqtKohZjVmeS/TmXUFCuia9rhujoHawp7B8WPXrskBY8\n qRd3DMv5QVqaktaUcWjuRipEIpyeMHSgjuKzClCiRyRz0I7qrIjWRzKCoeeuMZDAAA4n\n dKs16BYiDFIzvOQU3Y8nF4HvI7iPkuXPxVT5bNxQ88U38P/ge3a8hiC0kpXwx3Eo+zy4\n Bbvr/4rgHHwqo7LYujzLBK5SCWXibY2JH4y47cQOzRqG35zW6v6KYupZsAg5b/mdg+aB\n 62bFhrHRhG/oS210fziv5qKxDmScA1TTvpgoRWi4ybyxY+tXB7C0fsuf5ZCf/4Mdyva2 AA==",
        "From": "Anoob Joseph <anoobj@marvell.com>",
        "To": "Akhil Goyal <gakhil@marvell.com>, Thomas Monjalon <thomas@monjalon.net>",
        "CC": "Srujana Challa <schalla@marvell.com>, Jerin Jacob <jerinj@marvell.com>,\n Ankur Dwivedi <adwivedi@marvell.com>, Tejasree Kondoj\n <ktejasree@marvell.com>, <dev@dpdk.org>, Anoob Joseph <anoobj@marvell.com>",
        "Date": "Wed, 2 Jun 2021 21:26:22 +0530",
        "Message-ID": "<1622649385-22652-9-git-send-email-anoobj@marvell.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1622649385-22652-1-git-send-email-anoobj@marvell.com>",
        "References": "<1622649385-22652-1-git-send-email-anoobj@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-ORIG-GUID": "YmLpha2PF9lZVte71csXRhlD6K59GmwF",
        "X-Proofpoint-GUID": "YmLpha2PF9lZVte71csXRhlD6K59GmwF",
        "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761\n definitions=2021-06-02_08:2021-06-02,\n 2021-06-02 signatures=0",
        "Subject": "[dpdk-dev] [PATCH 08/11] common/cnxk: add IE microcode defines",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Srujana Challa <schalla@marvell.com>\n\nMicrocode IE opcodes support IPsec operations. Add defines\nand structs defined by microcode.\n\nSigned-off-by: Anoob Joseph <anoobj@marvell.com>\nSigned-off-by: Srujana Challa <schalla@marvell.com>\nSigned-off-by: Tejasree Kondoj <ktejasree@marvell.com>\n---\n drivers/common/cnxk/roc_api.h      |   2 +\n drivers/common/cnxk/roc_ie.h       |  19 ++\n drivers/common/cnxk/roc_ie_on.h    |  18 ++\n drivers/common/cnxk/roc_ie_ot.h    | 588 +++++++++++++++++++++++++++++++++++++\n drivers/common/cnxk/roc_platform.h |   1 +\n 5 files changed, 628 insertions(+)\n create mode 100644 drivers/common/cnxk/roc_ie.h\n create mode 100644 drivers/common/cnxk/roc_ie_on.h\n create mode 100644 drivers/common/cnxk/roc_ie_ot.h",
    "diff": "diff --git a/drivers/common/cnxk/roc_api.h b/drivers/common/cnxk/roc_api.h\nindex 6511614..d545bb9 100644\n--- a/drivers/common/cnxk/roc_api.h\n+++ b/drivers/common/cnxk/roc_api.h\n@@ -110,6 +110,8 @@\n #include \"roc_cpt.h\"\n \n /* CPT microcode */\n+#include \"roc_ie_on.h\"\n+#include \"roc_ie_ot.h\"\n #include \"roc_se.h\"\n \n #endif /* _ROC_API_H_ */\ndiff --git a/drivers/common/cnxk/roc_ie.h b/drivers/common/cnxk/roc_ie.h\nnew file mode 100644\nindex 0000000..a330ea1\n--- /dev/null\n+++ b/drivers/common/cnxk/roc_ie.h\n@@ -0,0 +1,19 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2021 Marvell.\n+ */\n+\n+#ifndef __ROC_IE_H__\n+#define __ROC_IE_H__\n+\n+/* CNXK IPSEC helper macros */\n+#define ROC_IE_AH_HDR_LEN      12\n+#define ROC_IE_AES_GCM_IV_LEN  8\n+#define ROC_IE_AES_GCM_MAC_LEN 16\n+#define ROC_IE_AES_CBC_IV_LEN  16\n+#define ROC_IE_SHA1_HMAC_LEN   12\n+#define ROC_IE_AUTH_KEY_LEN_MAX 64\n+\n+#define ROC_IE_AES_GCM_ROUNDUP_BYTE_LEN 4\n+#define ROC_IE_AES_CBC_ROUNDUP_BYTE_LEN 16\n+\n+#endif /* __ROC_IE_H__ */\ndiff --git a/drivers/common/cnxk/roc_ie_on.h b/drivers/common/cnxk/roc_ie_on.h\nnew file mode 100644\nindex 0000000..72ea037\n--- /dev/null\n+++ b/drivers/common/cnxk/roc_ie_on.h\n@@ -0,0 +1,18 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2021 Marvell.\n+ */\n+\n+#ifndef __ROC_IE_ON_H__\n+#define __ROC_IE_ON_H__\n+\n+/* CN9K IPSEC LA opcodes */\n+#define ROC_IE_ONL_MAJOR_OP_WRITE_IPSEC_OUTBOUND   0x20\n+#define ROC_IE_ONL_MAJOR_OP_WRITE_IPSEC_INBOUND\t   0x21\n+#define ROC_IE_ONL_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x23\n+#define ROC_IE_ONL_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x24\n+\n+/* CN9K IPSEC FP opcodes */\n+#define ROC_IE_ONF_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x25\n+#define ROC_IE_ONF_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x26\n+\n+#endif /* __ROC_IE_ON_H__ */\ndiff --git a/drivers/common/cnxk/roc_ie_ot.h b/drivers/common/cnxk/roc_ie_ot.h\nnew file mode 100644\nindex 0000000..1b382de\n--- /dev/null\n+++ b/drivers/common/cnxk/roc_ie_ot.h\n@@ -0,0 +1,588 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2021 Marvell.\n+ */\n+\n+#ifndef __ROC_IE_OT_H__\n+#define __ROC_IE_OT_H__\n+\n+/* CN10K IPSEC opcodes */\n+#define ROC_IE_OT_MAJOR_OP_PROCESS_OUTBOUND_IPSEC 0x28\n+#define ROC_IE_OT_MAJOR_OP_PROCESS_INBOUND_IPSEC  0x29\n+\n+enum roc_ie_ot_ucc_ipsec {\n+\tROC_IE_OT_UCC_SUCCESS = 0x00,\n+\tROC_IE_OT_UCC_SUCCESS_PKT_IP_GOODCSUM = 0x02,\n+\tROC_IE_OT_UCC_ERR_SA_INVAL = 0x03,\n+\tROC_IE_OT_UCC_SUCCESS_PKT_IP_BADCSUM = 0x04,\n+\tROC_IE_OT_UCC_ERR_SA_EXPIRED = 0x05,\n+\tROC_IE_OT_UCC_SUCCESS_PKT_L4_GOODCSUM = 0x06,\n+\tROC_IE_OT_UCC_ERR_SA_OVERFLOW = 0x07,\n+\tROC_IE_OT_UCC_SUCCESS_PKT_L4_BADCSUM = 0x08,\n+\tROC_IE_OT_UCC_ERR_SA_ESP_BAD_ALGO = 0x09,\n+\tROC_IE_OT_UCC_SUCCESS_PKT_UDPESP_NZCSUM = 0x0a,\n+\tROC_IE_OT_UCC_ERR_SA_ESP_BAD_KEYS = 0x0b,\n+\tROC_IE_OT_UCC_SUCCESS_SA_SOFTEXP_FIRST = 0x0c,\n+\tROC_IE_OT_UCC_ERR_SA_AH_BAD_ALGO = 0x0d,\n+\tROC_IE_OT_UCC_SUCCESS_SA_SOFTEXP_AGAIN = 0x0e,\n+\tROC_IE_OT_UCC_ERR_SA_AH_BAD_KEYS = 0x0f,\n+\tROC_IE_OT_UCC_ERR_SA_BAD_IP = 0x11,\n+\tROC_IE_OT_UCC_ERR_SA_BAD_CTX = 0x13,\n+\tROC_IE_OT_UCC_ERR_AOP_IPSEC = 0x17,\n+\tROC_IE_OT_UCC_ERR_PKT_IP = 0x23,\n+\tROC_IE_OT_UCC_ERR_PKT_IP6_BAD_EXT = 0x25,\n+\tROC_IE_OT_UCC_ERR_PKT_IP6_HBH = 0x27,\n+\tROC_IE_OT_UCC_ERR_PKT_IP6_BIGEXT = 0x29,\n+\tROC_IE_OT_UCC_ERR_PKT_IP_FRAG = 0x2b,\n+\tROC_IE_OT_UCC_ERR_PKT_IP_ULP = 0x2d,\n+\tROC_IE_OT_UCC_ERR_PKT_SA_MISMATCH = 0x2f,\n+\tROC_IE_OT_UCC_ERR_PKT_SPI_MISMATCH = 0x31,\n+\tROC_IE_OT_UCC_ERR_PKT_ESP_BADPAD = 0x33,\n+\tROC_IE_OT_UCC_ERR_PKT_BADICV = 0x35,\n+\tROC_IE_OT_UCC_ERR_PKT_REPLAY_SEQ = 0x37,\n+\tROC_IE_OT_UCC_ERR_PKT_REPLAY_WINDOW = 0x39,\n+\tROC_IE_OT_UCC_ERR_PKT_BADNH = 0x3b,\n+\tROC_IE_OT_UCC_ERR_PKT_SA_PORT_MISMATCH = 0x3d,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_AR_WIN_DISABLED = 0,\n+\tROC_IE_OT_SA_AR_WIN_64 = 1,\n+\tROC_IE_OT_SA_AR_WIN_128 = 2,\n+\tROC_IE_OT_SA_AR_WIN_256 = 3,\n+\tROC_IE_OT_SA_AR_WIN_512 = 4,\n+\tROC_IE_OT_SA_AR_WIN_1024 = 5,\n+\tROC_IE_OT_SA_AR_WIN_2048 = 6,\n+\tROC_IE_OT_SA_AR_WIN_4096 = 7,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_PKT_FMT_FULL = 0,\n+\tROC_IE_OT_SA_PKT_FMT_META = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_PKT_OUTPUT_DECRYPTED = 0,\n+\tROC_IE_OT_SA_PKT_OUTPUT_NO_FRAG = 1,\n+\tROC_IE_OT_SA_PKT_OUTPUT_HW_BASED_DEFRAG = 2,\n+\tROC_IE_OT_SA_PKT_OUTPUT_UCODE_BASED_DEFRAG = 3,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_DEFRAG_ALL = 0,\n+\tROC_IE_OT_SA_DEFRAG_IN_ORDER = 1,\n+\tROC_IE_OT_SA_DEFRAG_IN_REV_ORDER = 2,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_IV_SRC_DEFAULT = 0,\n+\tROC_IE_OT_SA_IV_SRC_ENC_CTR = 1,\n+\tROC_IE_OT_SA_IV_SRC_FROM_SA = 2,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_COPY_FROM_SA = 0,\n+\tROC_IE_OT_SA_COPY_FROM_INNER_IP_HDR = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_DIR_INBOUND = 0,\n+\tROC_IE_OT_SA_DIR_OUTBOUND = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_IP_VERSION_4 = 0,\n+\tROC_IE_OT_SA_IP_VERSION_6 = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_MODE_TRANSPORT = 0,\n+\tROC_IE_OT_SA_MODE_TUNNEL = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_PROTOCOL_AH = 0,\n+\tROC_IE_OT_SA_PROTOCOL_ESP = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_AES_KEY_LEN_128 = 1,\n+\tROC_IE_OT_SA_AES_KEY_LEN_192 = 2,\n+\tROC_IE_OT_SA_AES_KEY_LEN_256 = 3,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_ENC_NULL = 0,\n+\tROC_IE_OT_SA_ENC_3DES_CBC = 2,\n+\tROC_IE_OT_SA_ENC_AES_CBC = 3,\n+\tROC_IE_OT_SA_ENC_AES_CTR = 4,\n+\tROC_IE_OT_SA_ENC_AES_GCM = 5,\n+\tROC_IE_OT_SA_ENC_AES_CCM = 6,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_AUTH_NULL = 0,\n+\tROC_IE_OT_SA_AUTH_SHA1 = 2,\n+\tROC_IE_OT_SA_AUTH_SHA2_256 = 4,\n+\tROC_IE_OT_SA_AUTH_SHA2_384 = 5,\n+\tROC_IE_OT_SA_AUTH_SHA2_512 = 6,\n+\tROC_IE_OT_SA_AUTH_AES_GMAC = 7,\n+\tROC_IE_OT_SA_AUTH_AES_XCBC_128 = 8,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_ENCAP_NONE = 0,\n+\tROC_IE_OT_SA_ENCAP_UDP = 1,\n+\tROC_IE_OT_SA_ENCAP_TCP = 2,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_LIFE_UNIT_OCTETS = 0,\n+\tROC_IE_OT_SA_LIFE_UNIT_PKTS = 1,\n+};\n+\n+enum {\n+\tROC_IE_OT_SA_IP_HDR_VERIFY_DISABLED = 0,\n+\tROC_IE_OT_SA_IP_HDR_VERIFY_DST_ADDR = 1,\n+\tROC_IE_OT_SA_IP_HDR_VERIFY_SRC_DST_ADDR = 2,\n+};\n+\n+enum {\n+\tROC_IE_OT_REAS_STS_SUCCESS = 0,\n+\tROC_IE_OT_REAS_STS_TIMEOUT = 1,\n+\tROC_IE_OT_REAS_STS_EVICT = 2,\n+\tROC_IE_OT_REAS_STS_BAD_ORDER = 3,\n+\tROC_IE_OT_REAS_STS_TOO_MANY = 4,\n+\tROC_IE_OT_REAS_STS_HSH_EVICT = 5,\n+\tROC_IE_OT_REAS_STS_OVERLAP = 6,\n+\tROC_IE_OT_REAS_STS_ZOMBIE = 7,\n+\tROC_IE_OT_REAS_STS_L3P_ERR = 8,\n+\tROC_IE_OT_REAS_STS_MAX = 9\n+};\n+/* Context units in bytes */\n+#define ROC_CTX_UNIT_8B\t\t  8\n+#define ROC_CTX_UNIT_128B\t  128\n+#define ROC_CTX_MAX_CKEY_LEN\t  32\n+#define ROC_CTX_MAX_OPAD_IPAD_LEN 128\n+\n+/* Anti reply window size supported */\n+#define ROC_AR_WIN_SIZE_MIN\t   64\n+#define ROC_AR_WIN_SIZE_MAX\t   4096\n+#define ROC_LOG_MIN_AR_WIN_SIZE_M1 5\n+\n+/* u64 array size to fit anti replay window bits */\n+#define ROC_AR_WINBITS_SZ                                                      \\\n+\t(PLT_ALIGN_CEIL(ROC_AR_WIN_SIZE_MAX, BITS_PER_LONG_LONG) /             \\\n+\t BITS_PER_LONG_LONG)\n+\n+/* Common bit fields between inbound and outbound SA */\n+union roc_ot_ipsec_sa_word2 {\n+\tstruct {\n+\t\tuint64_t valid : 1;\n+\t\tuint64_t dir : 1;\n+\t\tuint64_t outer_ip_ver : 1;\n+\t\tuint64_t rsvd0 : 1;\n+\t\tuint64_t mode : 1;\n+\t\tuint64_t protocol : 1;\n+\t\tuint64_t aes_key_len : 2;\n+\n+\t\tuint64_t enc_type : 3;\n+\t\tuint64_t life_unit : 1;\n+\t\tuint64_t auth_type : 4;\n+\n+\t\tuint64_t encap_type : 2;\n+\t\tuint64_t rsvd1 : 6;\n+\n+\t\tuint64_t rsvd2 : 7;\n+\t\tuint64_t async_mode : 1;\n+\n+\t\tuint64_t spi : 32;\n+\t} s;\n+\tuint64_t u64;\n+};\n+\n+PLT_STATIC_ASSERT(sizeof(union roc_ot_ipsec_sa_word2) == 1 * sizeof(uint64_t));\n+\n+union roc_ot_ipsec_outer_ip_hdr {\n+\tstruct {\n+\t\tuint32_t dst_addr;\n+\t\tuint32_t src_addr;\n+\t} ipv4;\n+\tstruct {\n+\t\tuint8_t src_addr[16];\n+\t\tuint8_t dst_addr[16];\n+\t} ipv6;\n+};\n+\n+struct roc_ot_ipsec_inb_ctx_update_reg {\n+\tuint64_t ar_base;\n+\tuint64_t ar_valid_mask;\n+\tuint64_t hard_life;\n+\tuint64_t soft_life;\n+\tuint64_t mib_octs;\n+\tuint64_t mib_pkts;\n+\tuint64_t ar_winbits[ROC_AR_WINBITS_SZ];\n+};\n+\n+union roc_ot_ipsec_outb_iv {\n+\tuint64_t u64[2];\n+\tuint8_t iv_dbg[16];\n+\tstruct {\n+\t\tuint8_t iv_dbg1[4];\n+\t\tuint8_t salt[4];\n+\n+\t\tuint32_t rsvd;\n+\t\tuint8_t iv_dbg2[4];\n+\t} s;\n+};\n+\n+struct roc_ot_ipsec_outb_ctx_update_reg {\n+\tuint64_t rsvd;\n+\tuint64_t esn_val;\n+\tuint64_t hard_life;\n+\tuint64_t soft_life;\n+\tuint64_t mib_octs;\n+\tuint64_t mib_pkts;\n+};\n+\n+struct roc_ot_ipsec_inb_sa {\n+\t/* Word0 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t ar_win : 3;\n+\t\t\tuint64_t hard_life_dec : 1;\n+\t\t\tuint64_t soft_life_dec : 1;\n+\t\t\tuint64_t count_glb_octets : 1;\n+\t\t\tuint64_t count_glb_pkts : 1;\n+\t\t\tuint64_t count_mib_bytes : 1;\n+\n+\t\t\tuint64_t count_mib_pkts : 1;\n+\t\t\tuint64_t hw_ctx_off : 7;\n+\n+\t\t\tuint64_t ctx_id : 16;\n+\n+\t\t\tuint64_t orig_pkt_fabs : 1;\n+\t\t\tuint64_t orig_pkt_free : 1;\n+\t\t\tuint64_t pkind : 6;\n+\n+\t\t\tuint64_t rsvd0 : 1;\n+\t\t\tuint64_t et_ovrwr : 1;\n+\t\t\tuint64_t pkt_output : 2;\n+\t\t\tuint64_t pkt_format : 1;\n+\t\t\tuint64_t defrag_opt : 2;\n+\t\t\tuint64_t x2p_dst : 1;\n+\n+\t\t\tuint64_t ctx_push_size : 7;\n+\t\t\tuint64_t rsvd1 : 1;\n+\n+\t\t\tuint64_t ctx_hdr_size : 2;\n+\t\t\tuint64_t aop_valid : 1;\n+\t\t\tuint64_t rsvd2 : 1;\n+\t\t\tuint64_t ctx_size : 4;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w0;\n+\n+\t/* Word1 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t orig_pkt_aura : 20;\n+\t\t\tuint64_t rsvd3 : 4;\n+\t\t\tuint64_t orig_pkt_foff : 8;\n+\t\t\tuint64_t cookie : 32;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w1;\n+\n+\t/* Word 2 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t valid : 1;\n+\t\t\tuint64_t dir : 1;\n+\t\t\tuint64_t outer_ip_ver : 1;\n+\t\t\tuint64_t rsvd4 : 1;\n+\t\t\tuint64_t ipsec_mode : 1;\n+\t\t\tuint64_t ipsec_protocol : 1;\n+\t\t\tuint64_t aes_key_len : 2;\n+\n+\t\t\tuint64_t enc_type : 3;\n+\t\t\tuint64_t life_unit : 1;\n+\t\t\tuint64_t auth_type : 4;\n+\n+\t\t\tuint64_t encap_type : 2;\n+\t\t\tuint64_t et_ovrwr_ddr_en : 1;\n+\t\t\tuint64_t esn_en : 1;\n+\t\t\tuint64_t tport_l4_incr_csum : 1;\n+\t\t\tuint64_t ip_hdr_verify : 2;\n+\t\t\tuint64_t rsvd5 : 1;\n+\n+\t\t\tuint64_t rsvd6 : 7;\n+\t\t\tuint64_t async_mode : 1;\n+\n+\t\t\tuint64_t spi : 32;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w2;\n+\n+\t/* Word3 */\n+\tuint64_t rsvd7;\n+\n+\t/* Word4 - Word7 */\n+\tuint8_t cipher_key[ROC_CTX_MAX_CKEY_LEN];\n+\n+\t/* Word8 - Word9 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint32_t rsvd8;\n+\t\t\tuint8_t salt[4];\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w8;\n+\tuint64_t rsvd9;\n+\n+\t/* Word10 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t rsvd10 : 32;\n+\t\t\tuint64_t udp_src_port : 16;\n+\t\t\tuint64_t udp_dst_port : 16;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w10;\n+\n+\t/* Word11 - Word14 */\n+\tunion roc_ot_ipsec_outer_ip_hdr outer_hdr;\n+\n+\t/* Word15 - Word30 */\n+\tuint8_t hmac_opad_ipad[ROC_CTX_MAX_OPAD_IPAD_LEN];\n+\n+\t/* Word31 - Word100 */\n+\tstruct roc_ot_ipsec_inb_ctx_update_reg ctx;\n+};\n+\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, w1) ==\n+\t\t  1 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, w2) ==\n+\t\t  2 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, cipher_key) ==\n+\t\t  4 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, w8) ==\n+\t\t  8 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, w10) ==\n+\t\t  10 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, outer_hdr) ==\n+\t\t  11 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, hmac_opad_ipad) ==\n+\t\t  15 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_inb_sa, ctx) ==\n+\t\t  31 * sizeof(uint64_t));\n+\n+struct roc_ot_ipsec_outb_sa {\n+\t/* Word0 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t esn_en : 1;\n+\t\t\tuint64_t ip_id : 1;\n+\t\t\tuint64_t rsvd0 : 1;\n+\t\t\tuint64_t hard_life_dec : 1;\n+\t\t\tuint64_t soft_life_dec : 1;\n+\t\t\tuint64_t count_glb_octets : 1;\n+\t\t\tuint64_t count_glb_pkts : 1;\n+\t\t\tuint64_t count_mib_bytes : 1;\n+\n+\t\t\tuint64_t count_mib_pkts : 1;\n+\t\t\tuint64_t hw_ctx_off : 7;\n+\n+\t\t\tuint64_t rsvd1 : 32;\n+\n+\t\t\tuint64_t ctx_push_size : 7;\n+\t\t\tuint64_t rsvd2 : 1;\n+\n+\t\t\tuint64_t ctx_hdr_size : 2;\n+\t\t\tuint64_t aop_valid : 1;\n+\t\t\tuint64_t rsvd3 : 1;\n+\t\t\tuint64_t ctx_size : 4;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w0;\n+\n+\t/* Word1 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t rsvd4 : 32;\n+\t\t\tuint64_t cookie : 32;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w1;\n+\n+\t/* Word 2 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t valid : 1;\n+\t\t\tuint64_t dir : 1;\n+\t\t\tuint64_t outer_ip_ver : 1;\n+\t\t\tuint64_t rsvd5 : 1;\n+\t\t\tuint64_t ipsec_mode : 1;\n+\t\t\tuint64_t ipsec_protocol : 1;\n+\t\t\tuint64_t aes_key_len : 2;\n+\n+\t\t\tuint64_t enc_type : 3;\n+\t\t\tuint64_t life_unit : 1;\n+\t\t\tuint64_t auth_type : 4;\n+\n+\t\t\tuint64_t encap_type : 2;\n+\t\t\tuint64_t ipv4_df_src_or_ipv6_flw_lbl_src : 1;\n+\t\t\tuint64_t dscp_src : 1;\n+\t\t\tuint64_t iv_src : 2;\n+\t\t\tuint64_t ipid_gen : 1;\n+\t\t\tuint64_t rsvd6 : 1;\n+\n+\t\t\tuint64_t rsvd7 : 7;\n+\t\t\tuint64_t async_mode : 1;\n+\n+\t\t\tuint64_t spi : 32;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w2;\n+\n+\t/* Word3 */\n+\tuint64_t rsvd8;\n+\n+\t/* Word4 - Word7 */\n+\tuint8_t cipher_key[ROC_CTX_MAX_CKEY_LEN];\n+\n+\t/* Word8 - Word9 */\n+\tunion roc_ot_ipsec_outb_iv iv;\n+\n+\t/* Word10 */\n+\tunion {\n+\t\tstruct {\n+\t\t\tuint64_t rsvd9 : 4;\n+\t\t\tuint64_t ipv4_df_or_ipv6_flw_lbl : 20;\n+\n+\t\t\tuint64_t dscp : 6;\n+\t\t\tuint64_t rsvd10 : 2;\n+\n+\t\t\tuint64_t udp_dst_port : 16;\n+\n+\t\t\tuint64_t udp_src_port : 16;\n+\t\t} s;\n+\t\tuint64_t u64;\n+\t} w10;\n+\n+\t/* Word11 - Word14 */\n+\tunion roc_ot_ipsec_outer_ip_hdr outer_hdr;\n+\n+\t/* Word15 - Word30 */\n+\tuint8_t hmac_opad_ipad[ROC_CTX_MAX_OPAD_IPAD_LEN];\n+\n+\t/* Word31 - Word36 */\n+\tstruct roc_ot_ipsec_outb_ctx_update_reg ctx;\n+};\n+\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, w1) ==\n+\t\t  1 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, w2) ==\n+\t\t  2 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, cipher_key) ==\n+\t\t  4 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, iv) ==\n+\t\t  8 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, w10) ==\n+\t\t  10 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, outer_hdr) ==\n+\t\t  11 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, hmac_opad_ipad) ==\n+\t\t  15 * sizeof(uint64_t));\n+PLT_STATIC_ASSERT(offsetof(struct roc_ot_ipsec_outb_sa, ctx) ==\n+\t\t  31 * sizeof(uint64_t));\n+\n+struct roc_ot_cpt_parse_hdr_s {\n+\t/* WORD 0 */\n+\tunion {\n+\t\tuint64_t u64;\n+\t\tstruct {\n+\t\t\tuint8_t pad_len : 3;\n+\t\t\tuint8_t num_frags : 3;\n+\t\t\tuint8_t pkt_out : 2;\n+\n+\t\t\tuint8_t err_sum : 1;\n+\t\t\tuint8_t reas_sts : 4;\n+\t\t\tuint8_t reserved_53 : 1;\n+\t\t\tuint8_t et_owr : 1;\n+\t\t\tuint8_t pkt_fmt : 1;\n+\n+\t\t\tuint16_t match_id : 16;\n+\n+\t\t\tuint32_t cookie : 32;\n+\t\t};\n+\t} w0;\n+\n+\t/* WORD 1 */\n+\tuint64_t wqe_ptr;\n+\n+\t/* WORD 2 */\n+\tunion {\n+\t\tuint64_t u64;\n+\t\tstruct {\n+\t\t\tuint8_t fi_pad : 3;\n+\t\t\tuint8_t fi_offset : 5;\n+\t\t\tuint8_t il3_off;\n+\t\t\tuint16_t orig_pf_func;\n+\t\t\tuint16_t reserved_145_160;\n+\t\t\tuint16_t frag_age;\n+\t\t};\n+\t} w2;\n+\n+\t/* WORD 3 */\n+\tunion {\n+\t\tuint64_t u64;\n+\t\tstruct {\n+\t\t\tuint32_t spi;\n+\t\t\tuint16_t reserved_209_224;\n+\t\t\tuint8_t uc_ccode;\n+\t\t\tuint8_t hw_ccode;\n+\t\t};\n+\t} w3;\n+\n+\t/* WORD 4 */\n+\tunion {\n+\t\tuint64_t u64;\n+\t\tuint64_t esn;\n+\t\tuint64_t frag1_wqe_ptr;\n+\t};\n+};\n+\n+union roc_ot_frag_info {\n+\tuint16_t info;\n+\tstruct {\n+\t\tuint16_t f_off : 13;\n+\t\tuint16_t f_mf : 1;\n+\t\tuint16_t f_rsv : 2;\n+\t};\n+};\n+\n+struct roc_ot_cpt_frag_info_s {\n+\t/* WORD 0 */\n+\tunion {\n+\t\tuint64_t u64;\n+\t\tstruct {\n+\t\t\tunion roc_ot_frag_info f3;\n+\t\t\tunion roc_ot_frag_info f2;\n+\t\t\tunion roc_ot_frag_info f1;\n+\t\t\tunion roc_ot_frag_info f0;\n+\t\t};\n+\t} w0;\n+\n+\t/* WORD 1 */\n+\tunion {\n+\t\tuint64_t u64;\n+\t\tstruct {\n+\t\t\tuint16_t frag_size3;\n+\t\t\tuint16_t frag_size2;\n+\t\t\tuint16_t frag_size1;\n+\t\t\tuint16_t frag_size0;\n+\t\t};\n+\t} w1;\n+};\n+\n+#endif /* __ROC_IE_OT_H__ */\ndiff --git a/drivers/common/cnxk/roc_platform.h b/drivers/common/cnxk/roc_platform.h\nindex 524585f..97da87a 100644\n--- a/drivers/common/cnxk/roc_platform.h\n+++ b/drivers/common/cnxk/roc_platform.h\n@@ -49,6 +49,7 @@\n #define PLT_MODEL_MZ_NAME\t \"roc_model_mz\"\n #define PLT_CACHE_LINE_SIZE      RTE_CACHE_LINE_SIZE\n #define BITMASK_ULL\t\t GENMASK_ULL\n+#define PLT_ALIGN_CEIL\t\t RTE_ALIGN_CEIL\n \n /** Divide ceil */\n #define PLT_DIV_CEIL(x, y)\t\t\t\\\n",
    "prefixes": [
        "08/11"
    ]
}