get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 44185,
    "url": "http://patches.dpdk.org/api/patches/44185/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1536033560-21541-11-git-send-email-ajoseph@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": "<1536033560-21541-11-git-send-email-ajoseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1536033560-21541-11-git-send-email-ajoseph@caviumnetworks.com",
    "date": "2018-09-04T03:58:57",
    "name": "[v2,10/33] common/cpt: add PMD ops helper functions",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "58f08591bd496e337e4e3f8ea9f7fda7a30b835d",
    "submitter": {
        "id": 891,
        "url": "http://patches.dpdk.org/api/people/891/?format=api",
        "name": "Anoob Joseph",
        "email": "ajoseph@caviumnetworks.com"
    },
    "delegate": {
        "id": 6690,
        "url": "http://patches.dpdk.org/api/users/6690/?format=api",
        "username": "akhil",
        "first_name": "akhil",
        "last_name": "goyal",
        "email": "gakhil@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1536033560-21541-11-git-send-email-ajoseph@caviumnetworks.com/mbox/",
    "series": [
        {
            "id": 1164,
            "url": "http://patches.dpdk.org/api/series/1164/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=1164",
            "date": "2018-09-04T03:58:47",
            "name": "Adding Cavium's OcteonTX crypto PMD",
            "version": 2,
            "mbox": "http://patches.dpdk.org/series/1164/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/44185/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/44185/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 AA8455B2A;\n\tTue,  4 Sep 2018 06:03:21 +0200 (CEST)",
            "from NAM02-CY1-obe.outbound.protection.outlook.com\n\t(mail-cys01nam02on0060.outbound.protection.outlook.com\n\t[104.47.37.60]) by dpdk.org (Postfix) with ESMTP id 0AB862C38\n\tfor <dev@dpdk.org>; Tue,  4 Sep 2018 06:03:08 +0200 (CEST)",
            "from ajoseph83.caveonetworks.com.com (115.113.156.2) by\n\tBYAPR07MB4902.namprd07.prod.outlook.com (2603:10b6:a02:ef::25) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.1101.15; Tue, 4 Sep 2018 04:02:26 +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:X-MS-Exchange-SenderADCheck;\n\tbh=oBCme9E2QkYY2AxGWNfLfO+l62sP42U+orw8P7wsA2Q=;\n\tb=lWruA2uN7NE7k3SvC50ImP+XiDyP8zMP4oY/6lJX9a/eRrNtkDAHIQxMxJMsxc5iN146gNjkOvBKfH4V5LwKXK8oMwbf/q4wnQMTVKkh6LS5AEY4V5iVtWCUpGU652+j45PAYKvWrXzQcRzyLw0YjbxXPgr1UAxQwCtz8Iw46Kk=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Anoob.Joseph@cavium.com; ",
        "From": "Anoob Joseph <ajoseph@caviumnetworks.com>",
        "To": "Akhil Goyal <akhil.goyal@nxp.com>,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>,\n\tThomas Monjalon <thomas@monjalon.net>",
        "Cc": "Murthy NSSR <nidadavolu.murthy@caviumnetworks.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tNarayana Prasad <narayanaprasad.athreya@caviumnetworks.com>,\n\tdev@dpdk.org, Ankur Dwivedi <ankur.dwivedi@caviumnetworks.com>,\n\tAnoob Joseph <anoob.joseph@caviumnetworks.com>,\n\tNithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>,\n\tRagothaman Jayaraman <rjayaraman@caviumnetworks.com>,\n\tSrisivasubramanian S <ssrinivasan@caviumnetworks.com>,\n\tTejasree Kondoj <kondoj.tejasree@caviumnetworks.com>",
        "Date": "Tue,  4 Sep 2018 09:28:57 +0530",
        "Message-Id": "<1536033560-21541-11-git-send-email-ajoseph@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1536033560-21541-1-git-send-email-ajoseph@caviumnetworks.com>",
        "References": "<1528476325-15585-1-git-send-email-anoob.joseph@caviumnetworks.com>\n\t<1536033560-21541-1-git-send-email-ajoseph@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[115.113.156.2]",
        "X-ClientProxiedBy": "BMXPR01CA0023.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:d::33) To BYAPR07MB4902.namprd07.prod.outlook.com\n\t(2603:10b6:a02:ef::25)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "ed736a39-347a-48e6-7177-08d6121b3c05",
        "X-Microsoft-Antispam": "BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989137)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(2017052603328)(7153060)(7193020);\n\tSRVR:BYAPR07MB4902; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BYAPR07MB4902;\n\t3:ytN8nWBqArBDOi8CYqlaADObkbCyjNjT6oLvsb+6k2yYKVVGPe8U5GTsB0IODHRH30QDRQIIXBEhZhEZ7Lmc3LGFqR1eM4C6D3noiyfXGkQ8+iTPRRbNiPG9708IP/+H5Yt0XBilQn3tqeJ6UC8ytnh5MhNzJn3Laj5Vy+sMPxxKfXjCn+mVDFgG22+s1NDgp+RNnuuRYKdCFuMsuF10xQrAmS9eWJS70mwUDCdcss07BI8VDmM9sY0e54NZ+3hn;\n\t25:Xt2Y4Gmvn9TA975Wk9AKpA+Z9LSLEpqMaoD98ESWQQ2tGox/uOgm0t/geqLfxriqIPo2PHavNkcHrCPFaYZ+ROvD/ZZOERFHsRGENe5V2AXOmgtGX6x20drYiTbN9/XoIRtbHBvc2oxGaQSpP/tqiMvEsIEGIOFrlMufwYP10hE6zWs83/3rRh+zy8pgJiE63pCTKOxWMl/n5ETanWnXjRDMHY1KGbeA1ocGYTxzbZ3zYO25B+ShudTBP3yUfBgo4DCE7o01fOThgRSCvRgc/xS0WhVgDTB+B/UPbIswtenh3FyJZo7UKqEJMu77IEHXdlYUGceOnGd8EbMXKv2eQA==;\n\t31:o2fwUT2St52csHa3xLCW9f/3TeUVzCIeorp2TjwAaCjG/hA1ndGSIJaX2EfDb+TP8pWdCWPHJZvq0b/rNNIy7CQafxasN8cW16azcahqHSw5lVTwa75ia4Ls8eFXrJPuIpggQSre8hVYyGh+678Vwi6kKGByFR2WxAmJwEJC47afxmNqlRhc76YV9OHfy232UnIBHwbB8T1VgVIzsWi215SomxaoKGf4yPQpyDJAyfc=",
            "1; BYAPR07MB4902;\n\t20:Osw40d0GIpMrfmA8cXOYtpc67cNkWRlYYaXBhXsN3o+8jffZmOoTYuh1u2k5hnsIvFGMagc+5U7NpYsfI34OEPi5HqqiirK0J78Cl++rm2kft3xaEKIhgvGsbC8Pf/Sp7iBPPp6THSpnAWF76nc+3YitcIrtcUkZOXO0dYMs7dGqpNF36fIEMkQws27QlUrGGhJta4tbo/VccN3YSpKObKlKXV/vFXCl1SywTD+wAdz4Osr0EhCn8k015wC4JTG96Flz5x2qb9hkl9RNe74C6I71nvj57+fp1sh1a/QwsOFziMbD1Sp4UP2p37/3XgfSvASRJNw2F8InE0VLMCtlHrwDhn+j7n+jBTIhzMB/rqHWBYVhVY7mYA7g9eY0VG3hjmGYX+DKlTduV3u5QCr9OeMJwXVpTjWGuJ3QBDah/jOg/GMD7C13YuJoT8kbFXyq1wS9lp3vZlrpv/Ib5FoPQYl7Vs3ec7ttZtkJUrov55r6/+SiXfj/JyEO7Tm0PPVLWdjPyEKIwdFq2lZ0Se70gQArUj5/qMWA3BXxcWenPfQFE/I+LaUgL7MbRIms4kqAuxOcGURjLa7tINpzWL0rhW/E5tEji41wcrBYxEn5bYE=;\n\t4:m4H/bU7GO2ul2wxUfdARMRDMolix0v2DWUn95g7cexf/MJU/3rrmFXuTx1qIVMCqmAikPZ8MvwyXsE8i2WlfUabnXDd0MtiKVsS6aPMzYLrMk+Vq6Jo8lZeAmnbLKs+4SllSK/h1mDyzgNe9acECxHtQrnWsKp6I2+24qUk1HRH9ufC3+wL+Wz1+kdT4A7sYP20ZsyBrDkDN+5YlSvy3bXI2Ei0la+6cZdCyG9giW6qVEk9F+fBT55l0WFoiw7nSQwEmE7E4Xfw34CeXUeFIUg==",
            "=?us-ascii?Q?1; BYAPR07MB4902;\n\t23:q5gpJWrxQOVL09fkvxJMBY/lH2FOXuqCN1ENRXKhK?=\n\tMZ5YyPy15QlQmwhxeHp4rzBX4fe8UZg4HzQQvwRsZbn6M86qzjD8zaltBMyRgRHaR4RZHWPJCY/rqQtUJPNgDdRJQVNQc0I5Gq3UEeL0APaJ8cEyci7nUO3BpfwrtNmPCyd0LiAuFK9kv/IexV96rCWGjoi5LjtahlKWdDd5LpRhFPGyqOaHMv2GtKj+9Lkp6B3sImwk6+dusX4NyK6jpiYu4KE7H70zsNLZmWa7Jms2lV19/41qKOhgcS1tYNuVplyTkgFi309ZM1SEDYp80wHnzXKuY8fLvZes4IdJOuI7xTBiqJFxLW/cZBF9/wtaIvQQRCzrpnOoE497p1X1uHjsuJNU6OWwH3FqnNgOQb3WNgU29nB/bYR3Agb4hvvHxPX1JkqJMNZeptZpzERJFemH66s2UA9ivkVtTWyCkwch3eXdSBSBfHulLNYZvgxS4SaDGpp5X1zer6XuY8RsclD+QFekO9K9qqE56DMedrf0/pcsaPiC+Gu+5DF0cKYExVyhcJ7tQgWXciPPc2wpOIa8GRJDZ40CJ50/pJ8lyToHUA0bhsIF88Sw9Hl9/oihVMn4RU3VGRDx2ShB6BRxvei8uO5HFTpw1r7epJllU0U0rw9FuGcy6xcjxsNEvO8mvfICRgMEFZOG6ImZIHcFgBNE3vY+KWJZTCwgqvrxzcpqmBRjXzrM062YVJx7jsskILnbDcuskN1ErymXSmf6T0bT+IDt/flMjHOt98rZgMAa2TVMuAZAzbIVNvcPB34ja2rx2ZMfJu/UAR7bfiyZXxKOKl06WfL3tcSlkupoQ+u++IOMdoD43vXvBbrGZB2sK5zFw5l52WN3Mf/AEXx88EzUSKkW4HpeHjsGHFpC8RG8ogqMMjY1C04hjgoP2OlByWUBMFk420E2iPK4ZvAPQrEo/CdSCeOOce09SaYjq3kNiR4XOvmTpwDeNb70qoRkvwfa6SFu27gzbpLcsQIvhJtOBWVdjUOCaMzUWo8jIBCWOoPl5nErRASdQ1sO0JgSK8iK4kWGqiDBSj+Y9WWfk+LHa7nQayRzk1kTvU/bTBYUhXe0L7mTJI+19n1EpRRUWwG+dW99TZcVoIdSiWyfqEwWopWEK7nEVGvW63MHWC+pm9nXnRGGrKsnRFJHcuocyavoxNPfROKAWlinNd8e0jNusngp0+n/0977vjJDOffyG3Qdxk8QhtPv/7YfnZyXd8=",
            "1; BYAPR07MB4902;\n\t6:1MbevLMQyUXIsqDLOVe3ajhw9ttD3oX7j14LX6/yf500WXr/MryC17skp2PY7z/POI/IVCWpxywaQ6LMQKrzStd0m5AWFqpfF59dGYgLGyBm+X2VJi0wrIsTOOdoS+dfZRJzpyCTYnyEqHOr4ZVR/Y3eBfG7U1YJNfUglEsGsuSYGGYsKciOSEzSNnsMWDFvEMo0koMr4BfHci1UzFw3g+512snpKfbbxMrEHyCF4fsyYk5h+OYXZj5blHDvV/0dlsaM7AZnskpQM9MwyZx4lZ7bE7MRTUxG3N13Q55zaBy89UABu3fFkMsNzgvQMKv2U9YX3DZd+qbeRR6GThDqgAqt4hzNmgwWT8hZ3Me0BOyc/bH2CloDhsHUiKCh1jKsod5kqnktLvmG89fXpIJscjWP8I5AVqz8DmPlCGpfeTZGJNpoM0RmDQ+P4huDdcUWhGzTXTBHOAXXzTsaJYaoVA==;\n\t5:DdBIoA9xyDcpG0OsNJUqkBmaAnGAIkIzxDQnbzR2xQjAI05wft8TI8girQIAVAAOmv1e6QW2iQSWipg8Rbd8Xg7421ZvnyB5UH2qegCjNnkRgM3yLgw4TPfg0K6uzI0Ppi53zUJ7tA/vmEb/SfYtFB1VQE4jkhWh/FEdWlFQAYI=;\n\t7:vfuQ/puKHPwRtav9+rXm+Kj/LgSXLFuhU7mKJfwwa+6IJKRTbqKXFN0NsH6Rh15yxLUJxFu+2jVIaTqiKbWxZQDdswnQAGtEU5CjnyIj6MYMfIK8f7rVdkFd7PObiqeTv1yJpAM/32kj2tlTPmA2Vk+BVV6hKBPtpCA1G298JTp1WIl6LIRtjUBSWwFX31OeGOCTLc4oHpgcMb8fmB/rd7Hoa+58QWTfsLtKNXCp5J3bcP2311pjFYyxeWHYqJ86"
        ],
        "X-MS-TrafficTypeDiagnostic": "BYAPR07MB4902:",
        "X-Microsoft-Antispam-PRVS": "<BYAPR07MB490212618D869F151DD76A67F8030@BYAPR07MB4902.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(93006095)(3231311)(944501410)(52105095)(3002001)(149027)(150027)(6041310)(20161123562045)(20161123564045)(20161123560045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(201708071742011)(7699016);\n\tSRVR:BYAPR07MB4902; BCL:0; PCL:0; RULEID:; SRVR:BYAPR07MB4902; ",
        "X-Forefront-PRVS": "0785459C39",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(366004)(396003)(136003)(346002)(376002)(39860400002)(199004)(189003)(26005)(51416003)(52116002)(76176011)(81166006)(305945005)(81156014)(7736002)(105586002)(316002)(6506007)(106356001)(6512007)(8936002)(446003)(54906003)(25786009)(6666003)(68736007)(50226002)(110136005)(53936002)(16586007)(42882007)(386003)(5660300001)(2906002)(72206003)(50466002)(6486002)(36756003)(6116002)(107886003)(2616005)(14444005)(186003)(3846002)(478600001)(66066001)(476003)(8676002)(47776003)(486006)(956004)(48376002)(11346002)(4326008)(97736004)(16526019);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BYAPR07MB4902;\n\tH:ajoseph83.caveonetworks.com.com; FPR:; SPF:None; LANG:en;\n\tPTR:InfoNoRecords; A:1; MX:1; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "SJOe9eJ6k1oFqw8w00q9a0xhU+Rqq5tK9deIVg2jR5etVfFnd//9d7vdBTRnVokAo9K7q6M7Wp8W7H+PVYfXFcwUUczYTtbWiGiqhrzNhDxKnwFhf5beNicmAtF8AlB9JvR7Y3XSe9cg1Xv5wOWoRPZRhhG7l3Qf+Mbc4enpeblMVaYicTNHdgPFopbWWRdfueIdoM+SmUh47ahGvM25XOyB/Jxs8LOGCvzg9YHuOEcUXuZG0VSRiQU2HLbHAytCO6F0R40a3J9Hfc6JdVUhwDk5xAZ1nc1gYwswC/5KMa93UiL2n1XHbITfi/ukaTx1AVCBcadbqEcy/PFXVLHgnso9+bka7PdX+bq9FbX8wi0=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Sep 2018 04:02:26.1629\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "ed736a39-347a-48e6-7177-08d6121b3c05",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BYAPR07MB4902",
        "Subject": "[dpdk-dev] [PATCH v2 10/33] common/cpt: add PMD ops helper functions",
        "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: Murthy NSSR <nidadavolu.murthy@caviumnetworks.com>\n\nAdding pmd ops helper functions. Control path accessed APIs would be\nadded as helper functions. Adding microcode defined macros etc as\ndependencies to the helper functions.\n\nSigned-off-by: Ankur Dwivedi <ankur.dwivedi@caviumnetworks.com>\nSigned-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\nSigned-off-by: Murthy NSSR <nidadavolu.murthy@caviumnetworks.com>\nSigned-off-by: Nithin Dabilpuram <nithin.dabilpuram@caviumnetworks.com>\nSigned-off-by: Ragothaman Jayaraman <rjayaraman@caviumnetworks.com>\nSigned-off-by: Srisivasubramanian S <ssrinivasan@caviumnetworks.com>\nSigned-off-by: Tejasree Kondoj <kondoj.tejasree@caviumnetworks.com>\n---\n drivers/common/Makefile                       |  4 +++\n drivers/common/cpt/Makefile                   | 25 ++++++++++++++++\n drivers/common/cpt/cpt_common.h               | 41 +++++++++++++++++++++++++++\n drivers/common/cpt/cpt_mcode_defines.h        | 38 +++++++++++++++++++++++++\n drivers/common/cpt/cpt_pmd_ops_helper.c       | 41 +++++++++++++++++++++++++++\n drivers/common/cpt/cpt_pmd_ops_helper.h       | 34 ++++++++++++++++++++++\n drivers/common/cpt/meson.build                |  8 ++++++\n drivers/common/cpt/rte_common_cpt_version.map |  6 ++++\n drivers/common/meson.build                    |  2 +-\n mk/rte.app.mk                                 |  4 +++\n 10 files changed, 202 insertions(+), 1 deletion(-)\n create mode 100644 drivers/common/cpt/Makefile\n create mode 100644 drivers/common/cpt/cpt_mcode_defines.h\n create mode 100644 drivers/common/cpt/cpt_pmd_ops_helper.c\n create mode 100644 drivers/common/cpt/cpt_pmd_ops_helper.h\n create mode 100644 drivers/common/cpt/meson.build\n create mode 100644 drivers/common/cpt/rte_common_cpt_version.map",
    "diff": "diff --git a/drivers/common/Makefile b/drivers/common/Makefile\nindex 0fd2237..ca4e854 100644\n--- a/drivers/common/Makefile\n+++ b/drivers/common/Makefile\n@@ -8,4 +8,8 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOO\n DIRS-y += octeontx\n endif\n \n+ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO),y)\n+DIRS-y += cpt\n+endif\n+\n include $(RTE_SDK)/mk/rte.subdir.mk\ndiff --git a/drivers/common/cpt/Makefile b/drivers/common/cpt/Makefile\nnew file mode 100644\nindex 0000000..2340aa9\n--- /dev/null\n+++ b/drivers/common/cpt/Makefile\n@@ -0,0 +1,25 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2018 Cavium, Inc\n+#\n+\n+include $(RTE_SDK)/mk/rte.vars.mk\n+\n+#\n+# library name\n+#\n+LIB = librte_common_cpt.a\n+\n+CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -I$(RTE_SDK)/drivers/bus/pci\n+EXPORT_MAP := rte_common_cpt_version.map\n+\n+LIBABIVER := 1\n+\n+#\n+# all source are stored in SRCS-y\n+#\n+SRCS-y += cpt_pmd_ops_helper.c\n+\n+LDLIBS += -lrte_eal\n+\n+include $(RTE_SDK)/mk/rte.lib.mk\ndiff --git a/drivers/common/cpt/cpt_common.h b/drivers/common/cpt/cpt_common.h\nindex feca5fe..1f78d42 100644\n--- a/drivers/common/cpt/cpt_common.h\n+++ b/drivers/common/cpt/cpt_common.h\n@@ -18,6 +18,24 @@\n #define AE_TYPE 1\n #define SE_TYPE 2\n \n+#ifndef ROUNDUP4\n+#define ROUNDUP4(val)\t(((val) + 3) & 0xfffffffc)\n+#endif\n+\n+#ifndef ROUNDUP8\n+#define ROUNDUP8(val)\t(((val) + 7) & 0xfffffff8)\n+#endif\n+\n+#ifndef ROUNDUP16\n+#define ROUNDUP16(val)\t(((val) + 15) & 0xfffffff0)\n+#endif\n+\n+#ifndef __hot\n+#define __hot __attribute__((hot))\n+#endif\n+\n+#define MOD_INC(i, l)   ((i) == (l - 1) ? (i) = 0 : (i)++)\n+\n /* cpt instance */\n struct cpt_instance {\n \tuint32_t queue_id;\n@@ -51,4 +69,27 @@ struct pending_queue {\n \t\t/**< Pending requests count */\n };\n \n+struct cpt_request_info {\n+\t/* fast path fields */\n+\tuint64_t dma_mode\t: 2;\n+\t\t/**< DMA mode */\n+\tuint64_t se_req\t\t: 1;\n+\t\t/**< To SE core */\n+\tuint64_t comp_baddr\t: 61;\n+\tvolatile uint64_t *completion_addr;\n+\tvolatile uint64_t *alternate_caddr;\n+\tvoid *op;\n+\t\t/**< Reference to operation */\n+\tstruct {\n+\t\tuint64_t ei0;\n+\t\tuint64_t ei1;\n+\t\tuint64_t ei2;\n+\t\tuint64_t ei3;\n+\t} ist;\n+\n+\t/* slow path fields */\n+\tuint64_t time_out;\n+\tuint8_t extra_time;\n+};\n+\n #endif /* _CPT_COMMON_H_ */\ndiff --git a/drivers/common/cpt/cpt_mcode_defines.h b/drivers/common/cpt/cpt_mcode_defines.h\nnew file mode 100644\nindex 0000000..1bbe8c4\n--- /dev/null\n+++ b/drivers/common/cpt/cpt_mcode_defines.h\n@@ -0,0 +1,38 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2018 Cavium, Inc\n+ */\n+\n+#ifndef _CPT_MCODE_DEFINES_H_\n+#define _CPT_MCODE_DEFINES_H_\n+\n+/*\n+ * This file defines macros and structures according to microcode spec\n+ *\n+ */\n+\n+#define CPT_BYTE_16\t\t16\n+#define CPT_BYTE_24\t\t24\n+#define CPT_BYTE_32\t\t32\n+#define CPT_MAX_SG_IN_OUT_CNT\t16\n+#define CPT_MAX_SG_CNT\t\t(CPT_MAX_SG_IN_OUT_CNT/2)\n+\n+#define COMPLETION_CODE_SIZE\t8\n+#define COMPLETION_CODE_INIT\t0\n+\n+#define SG_LIST_HDR_SIZE\t(8u)\n+#define SG_ENTRY_SIZE\t\tsizeof(sg_comp_t)\n+\n+/* #define CPT_ALWAYS_USE_SG_MODE */\n+#define CPT_ALWAYS_USE_SEPARATE_BUF\n+\n+typedef struct sglist_comp {\n+\tunion {\n+\t\tuint64_t len;\n+\t\tstruct {\n+\t\t\tuint16_t len[4];\n+\t\t} s;\n+\t} u;\n+\tuint64_t ptr[4];\n+} sg_comp_t;\n+\n+#endif /* _CPT_MCODE_DEFINES_H_ */\ndiff --git a/drivers/common/cpt/cpt_pmd_ops_helper.c b/drivers/common/cpt/cpt_pmd_ops_helper.c\nnew file mode 100644\nindex 0000000..1c18180\n--- /dev/null\n+++ b/drivers/common/cpt/cpt_pmd_ops_helper.c\n@@ -0,0 +1,41 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2018 Cavium, Inc\n+ */\n+\n+#include <rte_common.h>\n+\n+#include \"cpt_common.h\"\n+#include \"cpt_hw_types.h\"\n+#include \"cpt_mcode_defines.h\"\n+#include \"cpt_pmd_ops_helper.h\"\n+\n+#define CPT_MAX_IV_LEN 16\n+#define CPT_OFFSET_CONTROL_BYTES 8\n+\n+int32_t\n+cpt_pmd_ops_helper_get_mlen_direct_mode(void)\n+{\n+\tuint32_t len = 0;\n+\n+\t/* Request structure */\n+\tlen = sizeof(struct cpt_request_info);\n+\n+\t/* CPT HW result structure plus extra as it is aligned */\n+\tlen += 2*sizeof(cpt_res_s_t);\n+\n+\treturn len;\n+}\n+\n+int\n+cpt_pmd_ops_helper_get_mlen_sg_mode(void)\n+{\n+\tuint32_t len = 0;\n+\n+\tlen += sizeof(struct cpt_request_info);\n+\tlen += CPT_OFFSET_CONTROL_BYTES + CPT_MAX_IV_LEN;\n+\tlen += ROUNDUP8(SG_LIST_HDR_SIZE +\n+\t\t\t(ROUNDUP4(CPT_MAX_SG_IN_OUT_CNT) >> 2) * SG_ENTRY_SIZE);\n+\tlen += 2 * COMPLETION_CODE_SIZE;\n+\tlen += 2 * sizeof(cpt_res_s_t);\n+\treturn len;\n+}\ndiff --git a/drivers/common/cpt/cpt_pmd_ops_helper.h b/drivers/common/cpt/cpt_pmd_ops_helper.h\nnew file mode 100644\nindex 0000000..a9358ae\n--- /dev/null\n+++ b/drivers/common/cpt/cpt_pmd_ops_helper.h\n@@ -0,0 +1,34 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(c) 2018 Cavium, Inc\n+ */\n+\n+#ifndef _CPT_PMD_OPS_HELPER_H_\n+#define _CPT_PMD_OPS_HELPER_H_\n+\n+/*\n+ * This file defines the agreement between the common layer and the individual\n+ * crypto drivers for OcteonTX series. Control path in otx* directory can\n+ * directly call functions declared here.\n+ */\n+\n+/*\n+ * Get meta length required when operating in direct mode (single buffer\n+ * in-place)\n+ *\n+ * @return\n+ *   - length\n+ */\n+\n+int32_t\n+cpt_pmd_ops_helper_get_mlen_direct_mode(void);\n+\n+/*\n+ * Get size of contiguous meta buffer to be allocated when working in scatter\n+ * gather mode.\n+ *\n+ * @return\n+ *   - length\n+ */\n+int\n+cpt_pmd_ops_helper_get_mlen_sg_mode(void);\n+#endif /* _CPT_PMD_OPS_HELPER_H_ */\ndiff --git a/drivers/common/cpt/meson.build b/drivers/common/cpt/meson.build\nnew file mode 100644\nindex 0000000..0a905aa\n--- /dev/null\n+++ b/drivers/common/cpt/meson.build\n@@ -0,0 +1,8 @@\n+# SPDX-License-Identifier: BSD-3-Clause\n+# Copyright(c) 2018 Cavium, Inc\n+\n+sources = files('cpt_pmd_ops_helper.c')\n+\n+deps = ['kvargs', 'pci', 'cryptodev']\n+includes += include_directories('../../crypto/octeontx')\n+allow_experimental_apis = true\ndiff --git a/drivers/common/cpt/rte_common_cpt_version.map b/drivers/common/cpt/rte_common_cpt_version.map\nnew file mode 100644\nindex 0000000..dec614f\n--- /dev/null\n+++ b/drivers/common/cpt/rte_common_cpt_version.map\n@@ -0,0 +1,6 @@\n+DPDK_18.11 {\n+\tglobal:\n+\n+\tcpt_pmd_ops_helper_get_mlen_direct_mode;\n+\tcpt_pmd_ops_helper_get_mlen_sg_mode;\n+};\ndiff --git a/drivers/common/meson.build b/drivers/common/meson.build\nindex d7b7d8c..aa88934 100644\n--- a/drivers/common/meson.build\n+++ b/drivers/common/meson.build\n@@ -2,6 +2,6 @@\n # Copyright(c) 2018 Cavium, Inc\n \n std_deps = ['eal']\n-drivers = ['octeontx', 'qat']\n+drivers = ['cpt', 'octeontx', 'qat']\n config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'\n driver_name_fmt = 'rte_common_@0@'\ndiff --git a/mk/rte.app.mk b/mk/rte.app.mk\nindex b530337..08f76c7 100644\n--- a/mk/rte.app.mk\n+++ b/mk/rte.app.mk\n@@ -98,6 +98,10 @@ ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)$(CONFIG_RTE_LIBRTE_OCTEONTX_MEMPOO\n _LDLIBS-y += -lrte_common_octeontx\n endif\n \n+ifeq ($(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO),y)\n+_LDLIBS-y += -lrte_common_cpt\n+endif\n+\n _LDLIBS-$(CONFIG_RTE_LIBRTE_PCI_BUS)        += -lrte_bus_pci\n _LDLIBS-$(CONFIG_RTE_LIBRTE_VDEV_BUS)       += -lrte_bus_vdev\n _LDLIBS-$(CONFIG_RTE_LIBRTE_DPAA_BUS)       += -lrte_bus_dpaa\n",
    "prefixes": [
        "v2",
        "10/33"
    ]
}