get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 21365,
    "url": "http://patches.dpdk.org/api/patches/21365/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1488562101-6658-8-git-send-email-jerin.jacob@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": "<1488562101-6658-8-git-send-email-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1488562101-6658-8-git-send-email-jerin.jacob@caviumnetworks.com",
    "date": "2017-03-03T17:27:49",
    "name": "[dpdk-dev,07/39] event/octeontx: add vdev interface functions",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "ea8ee5de2ecfbd986a4094c3d3bdc092c9c7f432",
    "submitter": {
        "id": 305,
        "url": "http://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@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/1488562101-6658-8-git-send-email-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/21365/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/21365/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 60673F983;\n\tFri,  3 Mar 2017 18:29:27 +0100 (CET)",
            "from NAM01-SN1-obe.outbound.protection.outlook.com\n\t(mail-sn1nam01on0076.outbound.protection.outlook.com [104.47.32.76])\n\tby dpdk.org (Postfix) with ESMTP id CC825F973\n\tfor <dev@dpdk.org>; Fri,  3 Mar 2017 18:29:24 +0100 (CET)",
            "from localhost.localdomain.localdomain (14.140.2.178) by\n\tBN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.933.12; Fri, 3 Mar 2017 17:29:19 +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=T6lB79S1WMvxtMOaOrXnPeQxVwJGihIsrMnK6xvsqYw=;\n\tb=QevUPhALXtmbsCqw1hzUbEtv5PBQeTJ+OWuAbJ/x8xUL66EGR3JRkcjwQu8gCcj+3GusNKZJJsjnZqmAENQ0gnTdUYI0OuLc1ZxbxTcW8li+9ZqEyp2rm/WDsPJGBmpzz9m9+ALVRWhUounBclpv+AklRimcxs3N/peaJRzRL9c=",
        "Authentication-Results": "dpdk.org; dkim=none (message not signed)\n\theader.d=none;dpdk.org; dmarc=none action=none\n\theader.from=caviumnetworks.com;",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "dev@dpdk.org",
        "Cc": "thomas.monjalon@6wind.com, bruce.richardson@intel.com,\n\tharry.van.haaren@intel.com, hemant.agrawal@nxp.com, gage.eads@intel.com, \n\tnipun.gupta@nxp.com, santosh.shukla@caviumnetworks.com,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>",
        "Date": "Fri,  3 Mar 2017 22:57:49 +0530",
        "Message-Id": "<1488562101-6658-8-git-send-email-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.5.5",
        "In-Reply-To": "<1488562101-6658-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "References": "<1488562101-6658-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.140.2.178]",
        "X-ClientProxiedBy": "BMXPR01CA0021.INDPRD01.PROD.OUTLOOK.COM (10.174.214.159)\n\tTo\n\tBN3PR0701MB1719.namprd07.prod.outlook.com (10.163.39.18)",
        "X-MS-Office365-Filtering-Correlation-Id": "a8dba7a1-96d5-4a35-37fa-08d4625ad531",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BN3PR0701MB1719; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN3PR0701MB1719;\n\t3:r4sNoN6+wEomb+QccCYqWiaZMXGlLazIwBUbOBME+JevN1Ky1x5IXYTbSitjRktyF5vMQVydzExGBig5USBlrQItSozCb2vOaSJ40ZY4m9xswv619Y3rb8GDcyTMK8yM2kUFugDYJhdw4X8gLTauEV1qWoJMRQt/995xQPxmiPdme6Yb/+66OZpMlNVWCYuAallHRMHT0IxyPmB9DWv5k1BZWrBzdUcL9Zz6pU8NpxkffgHy4G4HTly04JM/qM2Cv/Tj1ivFXo5+e6ESzOPxhQ==;\n\t25:mflwszJPJPdWoVlAMzvuy72QjJ+4fwDWyJQjwLB+LOc4XIFPB2+3tu7s3KRpKP9sJRq/iqp9ZRjoAsP/I4J1YMJ6rJj5FnKpoHMUohcxxQAknAjdmNbcFm6z8ApH2wtpaYhSY60/0gsVyD8AbH4R+vyN1QqjQie0EeAg3z4CN6eAB/jJ93HsLvlXm6CeJC00KhmjFTHfK8Wr0Pb3F/d3GcaQXl/mCt3NEk0Qk9Ef5LMbQfycMxxaKRgZ1BVSKTdZRjbiAFp3Dp5wOpO9NmsSfN5UGPx9oomqh34b4iFKhZDN3j6uSb7YF+8VaggpiwofQtmpGzVisGtnFk+5hY7HiK7PTH5vQt2r2A8Vxy/ItPFXub7t4wp2k+CZtX3Km9ZBsuZZFPCTxFRHSErx6QfMSmG9555u4bLI07R4dhucR2Med4ZCL4l0P0Fsft7HT7P1PnhEV+lvhaczH2PS3tIA4A==",
            "1; BN3PR0701MB1719;\n\t31:VKnaf0izkf4RPOsy9XMdo0do5di18wT73sUNSRZsZs7HtmFZkyxnAP2LaAa0UDSS50NOlwhErzNA5vmbwkiIyiMe83yP8lU/yHBxvCQFSDJ2lZ9D7aauYJqxxlDl8URCZlkvl5FuZsRxuOh7zypLUmupXaN42XKqrP81He8mu5/R2QUqN9AqciD/ThjHgYA8H9l+EFdxIxlsnRc4BkAkGzj2zbZ5LJ6yObuyDMLpJSRyeRTfYCfFPfyznNKBDZt/;\n\t20:/jhKCkDRj2yDpq9aIrOBz/ZtuuvT9H2KQWPt4cX7SAzdb7WOzC9bEZjlsUlONLlkZnjCcu8Jw5Iglkrcpxq/SrpjjuJeU+cl/ZQcpLe2EwN409HwY49eNkC9Y2LMYj9E9d1zmqd8rT2BSB/YxBs6wZy/6oERR3olUGUUD16Ty8jsRXTEYUxC7IcXG2oiUPgnq8/Ws0o5+NvtPq1nVuwbDB/WAjH5lMIDk5/Vcf4SJYMUc7jcKqlCVxTDVBlSPEZIjgtJMLgrZQzBI+1zmETKSREY0WJyN224I/Zcb4ELzToCfBty686oZW7gq9bN5KXXHBt06/X+TJgr7kJiQ5pT4O0iyROjgxPFNyIJ2yqn1YU7luHjNh0+d/Tkf/8AIrG21y5GprURgp3pHXvXMsG/rKM5fe/Si3dIjSGIjQUKpufEMGEpfbXR4WmXGfbHUd5yHGe7WuG5QxG+YMSe4eTYdBHCRjmpCsNbgDpyOhfR/zkkQ7l8Zq7DXGZGNx/JHo5p6nmU5haWzEf5JQux/n8aAgsEElHMxL8YIyXaaacL/NLzE9wxbDoQRX6fpYQ415zJJoNGsR59TpE2zmZJOu59fc91LcqZb728egUgdL632jQ=",
            "1; BN3PR0701MB1719;\n\t4:QnbQYItns1/BFgHmy4RM+gXeWT+NTaKcxyNXjZ1e2gWN4aKkp/wJkxv6bKOI049sHc89gG4lvs5SSkkTgRPcw33ca8WXt9q25tQFxdQB67v1xAUO7CUYvmhL+RSIiRzDZy/CRX0MWFxtuDp5lt/Np7Lj9cpToHT9hTElXnvRXRoeM+p9W6bFD/8NeDS3jqKQg+LUhVIO+LExbVjjve+xGpEBUuTZC4SNdiwuG/p8gI0iCE47xt9Vs8VG65kQ2h7xq3YbEJCMlrgNNnTT+i+K7vniFqHt7CTfmAeZxpAw/i4qjTYqGeswFvX+P/Eu8FrOnz7Hlip+sdX8FhDRqDcZe3pJs2sBtHoGdg8yNosZuo64zQnECCB8MJeF+imNBVINE78Nch7bWbAOYfeyNMHr2xjOJcH4uQO/8t5tVtPsEZmG4wZCfT4l7t7640pFgNu6tNYj5ZxL0tz3iOFtLG4h8xqaz3LemP63dATR5c4c28zCuRPDCdL2WRwFvPonr/q8jYDeN9GyVFaU8aMPfFA2mOURzb7KmKfrtuwAEsZ2UcZ7nbhFs7dymx74v3eFBLSF0C+qAc9WDOmSGtxFgHpLLBHhlgNDsHdUV3ZdmD00hU4=",
            "=?us-ascii?Q?1; BN3PR0701MB1719;\n\t23:NyFGQBGGGLWPmPqmy8UwYkL951hq0NzEO1cEI46?=\n\tth7iWCgLGdXjNfFDGfGoEowSXa+E03sAzeNCRA4hjflwrhfk0f6El92C1bF+Mjdh6lsaOJLIZuz+cqeIBQJjaDguG031kpTVjMEXsYw0js3xnYsfU+ducNn0Cc9esFNXfZDYYRDxY8gdpCgOgcppUGosaOWSplqdR39yI8Ql5Un0oseiS44cM4/LeZpWrTQ3kpEhW+wLJ08KQnRwfB2h+zOrRBHRYYct51oejUMJpUKepHcu1DMN/AxID8gHEqwygvtv5tOGS14Wk8vweKnTqysZzLUYsVlJ56r0lA7c7jlw/ZLezk8qiq4LkAm1Y5hXQphQ3qgx90LUBKEv0aRUANN9mnwG272/S/9sokqJlR9XPGySWUa7utfoLnxZ0cZa88QjGSqa6X+eMUvwoZdGFhI5g8pSPfAV3FkWdx1Z6impGGVHJahRS6Yo84Fv3xaUdnGKjXkKPLXmfm5exceYV2u0vfu4UOK6sew3r4DVcS2edbWtIzCeS1bF8QedbIpDHpDADIi+VEVDGNCjhy1t0TE2E+8RntfI7mwPnikluYDfecqfAVnO5Pk70oSrSHGDE9xsRcdyeb/kvZT2KHZ8wMJU+85P4fF59rc7lNx0UW6xrudBPRvmlpvTKuaq1xh12uOdb63r/c+bhfK0AJ+oJd/jMSnkuKUD8Feo8Cj1tHQajSPKGbd+BDXMwRm/nhlU8QgeEcVR/yQjdQZnvPBW1azWmid9tXl6cavH+PerAxq37vuXaAHJHrXtyXnqH7a+u4gbdcmQMYurxCZ53iaENB5n3cePlyq71zyd2MCkl3qEI3YkrCnu+OM6LF+UslLGkEmxfEOZIl2B7UfBr+PO5HStGL55i0gY5JAwrce71lMzitNUVLWjP2z57Iik24xMitm9pGBxoA9ZCHGm4aPeTPMwiSv18W7X3SCnUtidgtXugbGtq8dYM817Rc2UMmJz8QhUcJgkfsmblZycGpKldQ4wtTvvCi8jcP4mnrNa5sl+PWWp9QTUNEGLV0bHOWsdWY2Asx7aD76fNEmQ8iA4ieIFBOrjS0ooSLstB3B5Cn/aWDIAJl/yNWKTBUm8Rc7i9ekNf4hWQ5noQocxV/b47snLp",
            "1; BN3PR0701MB1719;\n\t6:+RygBkH9TiWhh4rsF3b4la3dXrNpUvsRkDmcsZwxEA699HMFSgUcw8cStYOoZjTfPiqFUGCbYTTa2GOA3hlbt9P6gMejKdp2bQPXylEqFbn4PUwmGfFK2lGtHwWrNFZDw14jiP7D4gKuqmSQ/oO/Ztf2X+5dQaaOToJ/bnxJzPFz1AWaH/qQp/A1l8jJGRG3b0CvVEWXE/HUqUAsFauIMl6wCtqr9mgnJ9Y3w/qso1ONHLAn0GR788vVHE1E79KgL39RBrcoy7PYFkc4kh1hm0NwzbLM3EYsQOMTbT37IP8LyxXCJUVs3HW7Xv6ImYZjNLVdX5TZWrGiD+gXfp3iIXXCnwkd0i0GjF7wQXSRNS7Qfr7CGrKBR7HA5MnXK8sLFEi0w5uOIsYfaOg5lvhDXg==;\n\t5:oj/3MwEhblnEDwXEEjs1ZlEVjs6O6kGCdULhe/cws9GdEoyAb+eQ6BvbVVYfAmrSO5cJsug97eniU/2Kk+WUj2YSDSpBAHzF96/SRQcEDsCKwiEUe/cKRnxHfkedLE1ioeyg5RTq0FtjnIQuC26dmQ==;\n\t24:rnthkCPsTtCrSDqN6P78YiYGCqu+XgDzOf5biHLcxgj47b66CsYJ1NJJfCwrRfQekiq8qBLnQKyBRwor4JHDfSf+g2hAnUM+rD0NGbXcUkw=",
            "1; BN3PR0701MB1719;\n\t7:HdlNQwEHGNaRvrbxOMURRCOEwYWWjq+zTtm0YvWZ3lOkG9XyDAm16UXGEXdbAffF7+KMtTMbGrbrE0gbdTt5PSGr1YXWTrbnQQJDinV2FR36ZA02fryKBJPOrXm15N+K2y6GXWl5kdvrZT+K8xA/JooMQ0PWAaOWVZoZ1+bUbXUut437G1XVKME3p0FOaFYRy05pWgZAVdbzDWrbuDAQBjMwRs+EJgmLbgvE8F6lPQppbjuhXvRHeag4iMWszKfF9FCU9fTx/1X5NlfWLgsPwN+YoEbcfa1W9vX9PR7NT7yhBY7NSqTILy9hFobyr2XAFw3QtIZmg9pri2IXffzcYw=="
        ],
        "X-Microsoft-Antispam-PRVS": "<BN3PR0701MB171992D3C477DBC6F92CE2FAE32B0@BN3PR0701MB1719.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123562025)(20161123558025)(20161123564025)(6072148);\n\tSRVR:BN3PR0701MB1719; BCL:0; PCL:0; RULEID:; SRVR:BN3PR0701MB1719; ",
        "X-Forefront-PRVS": "0235CBE7D0",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6069001)(6009001)(7916002)(39450400003)(3846002)(50986999)(6116002)(36756003)(81166006)(6512007)(97736004)(2361001)(2351001)(6506006)(5660300001)(42186005)(50226002)(8676002)(6666003)(106356001)(8656002)(2950100002)(2906002)(25786008)(47776003)(6486002)(76176999)(33646002)(7736002)(107886003)(42882006)(66066001)(110136004)(4326008)(38730400002)(6916009)(305945005)(48376002)(92566002)(5009440100003)(5003940100001)(50466002)(189998001)(53936002)(7099028)(110426004);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1719;\n\tH:localhost.localdomain.localdomain; FPR:; SPF:None; MLV:nov;\n\tPTR:InfoNoRecords; LANG:en; ",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "03 Mar 2017 17:29:19.4745\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN3PR0701MB1719",
        "Subject": "[dpdk-dev] [PATCH 07/39] event/octeontx: add vdev interface\n\tfunctions",
        "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": "ssovf and ssowvf PCIe VF devices are shared\nbetween eventdev PMD and ethdev PMD.This patch\nexpose a set of interface API to get info\nabout probed ssovf and ssowvf VF resources to use\nwith eventdev and ethdev vdev devices latter.\n\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\nSigned-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>\n---\n drivers/event/octeontx/Makefile                    |  3 +\n drivers/event/octeontx/rte_pmd_octeontx_ssovf.h    | 53 ++++++++++++++\n .../octeontx/rte_pmd_octeontx_ssovf_version.map    |  4 ++\n drivers/event/octeontx/ssovf_evdev.h               |  2 +\n drivers/event/octeontx/ssovf_probe.c               | 81 ++++++++++++++++++++++\n 5 files changed, 143 insertions(+)\n create mode 100644 drivers/event/octeontx/rte_pmd_octeontx_ssovf.h",
    "diff": "diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile\nindex d72ad46..896e556 100644\n--- a/drivers/event/octeontx/Makefile\n+++ b/drivers/event/octeontx/Makefile\n@@ -48,6 +48,9 @@ LIBABIVER := 1\n #\n SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += ssovf_probe.c\n \n+# install this header file\n+SYMLINK-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF)-include := rte_pmd_octeontx_ssovf.h\n+\n # this lib depends upon:\n DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += lib/librte_eal\n DEPDIRS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_SSOVF) += lib/librte_eventdev\ndiff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf.h b/drivers/event/octeontx/rte_pmd_octeontx_ssovf.h\nnew file mode 100644\nindex 0000000..e92a61f\n--- /dev/null\n+++ b/drivers/event/octeontx/rte_pmd_octeontx_ssovf.h\n@@ -0,0 +1,53 @@\n+/*\n+ *   BSD LICENSE\n+ *\n+ *   Copyright (C) Cavium networks Ltd. 2017.\n+ *\n+ *   Redistribution and use in source and binary forms, with or without\n+ *   modification, are permitted provided that the following conditions\n+ *   are met:\n+ *\n+ *     * Redistributions of source code must retain the above copyright\n+ *       notice, this list of conditions and the following disclaimer.\n+ *     * Redistributions in binary form must reproduce the above copyright\n+ *       notice, this list of conditions and the following disclaimer in\n+ *       the documentation and/or other materials provided with the\n+ *       distribution.\n+ *     * Neither the name of Cavium networks nor the names of its\n+ *       contributors may be used to endorse or promote products derived\n+ *       from this software without specific prior written permission.\n+ *\n+ *   THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ *   \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ *   LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+ *   A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+ *   OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+ *   SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+ *   LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+ *   DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+ *   THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+ *   (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+ *   OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+ */\n+\n+#ifndef __RTE_PMD_OCTEONTX_SSOVF_H__\n+#define __RTE_PMD_OCTEONTX_SSOVF_H__\n+\n+#include <rte_common.h>\n+\n+struct octeontx_ssovf_info {\n+\tuint16_t domain; /* Domain id */\n+\tuint8_t total_ssovfs; /* Total sso groups available in domain */\n+\tuint8_t total_ssowvfs;/* Total sso hws available in domain */\n+};\n+\n+enum octeontx_ssovf_type {\n+\tOCTEONTX_SSO_GROUP, /* SSO group vf */\n+\tOCTEONTX_SSO_HWS,  /* SSO hardware workslot vf */\n+};\n+\n+\n+int octeontx_ssovf_info(struct octeontx_ssovf_info *info);\n+void *octeontx_ssovf_bar(enum octeontx_ssovf_type, uint8_t id, uint8_t bar);\n+\n+#endif /* __RTE_PMD_OCTEONTX_SSOVF_H__ */\ndiff --git a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map b/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map\nindex 8591cc0..c71d4c7 100644\n--- a/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map\n+++ b/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map\n@@ -1,4 +1,8 @@\n DPDK_17.05 {\n+\tglobal:\n+\n+\tocteontx_ssovf_info;\n+\tocteontx_ssovf_bar;\n \n \tlocal: *;\n };\ndiff --git a/drivers/event/octeontx/ssovf_evdev.h b/drivers/event/octeontx/ssovf_evdev.h\nindex 0a3c76e..c2b8187 100644\n--- a/drivers/event/octeontx/ssovf_evdev.h\n+++ b/drivers/event/octeontx/ssovf_evdev.h\n@@ -36,6 +36,8 @@\n #include <rte_config.h>\n #include <rte_io.h>\n \n+#include \"rte_pmd_octeontx_ssovf.h\"\n+\n #define EVENTDEV_NAME_OCTEONTX_PMD event_octeontx\n \n #ifdef RTE_LIBRTE_PMD_OCTEONTX_SSOVF_DEBUG\ndiff --git a/drivers/event/octeontx/ssovf_probe.c b/drivers/event/octeontx/ssovf_probe.c\nindex 7033ff5..dd5aa62 100644\n--- a/drivers/event/octeontx/ssovf_probe.c\n+++ b/drivers/event/octeontx/ssovf_probe.c\n@@ -67,6 +67,87 @@ struct ssodev {\n \n static struct ssodev sdev;\n \n+/* Interface functions */\n+int\n+octeontx_ssovf_info(struct octeontx_ssovf_info *info)\n+{\n+\tuint8_t i;\n+\tuint16_t domain;\n+\n+\tif (rte_eal_process_type() != RTE_PROC_PRIMARY || info == NULL)\n+\t\treturn -EINVAL;\n+\n+\tdomain = sdev.grp[0].domain;\n+\tfor (i = 0; i < sdev.total_ssovfs; i++) {\n+\t\t/* Check vfid's are contiguous and belong to same domain */\n+\t\tif (sdev.grp[i].vfid != i ||\n+\t\t\tsdev.grp[i].bar0 == NULL ||\n+\t\t\tsdev.grp[i].domain != domain) {\n+\t\t\tssovf_log_err(\"GRP error, vfid=%d/%d domain=%d/%d %p\",\n+\t\t\t\ti, sdev.grp[i].vfid,\n+\t\t\t\tdomain, sdev.grp[i].domain,\n+\t\t\t\tsdev.grp[i].bar0);\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\t}\n+\n+\tfor (i = 0; i < sdev.total_ssowvfs; i++) {\n+\t\t/* Check vfid's are contiguous and belong to same domain */\n+\t\tif (sdev.hws[i].vfid != i ||\n+\t\t\tsdev.hws[i].bar0 == NULL ||\n+\t\t\tsdev.hws[i].domain != domain) {\n+\t\t\tssovf_log_err(\"HWS error, vfid=%d/%d domain=%d/%d %p\",\n+\t\t\t\ti, sdev.hws[i].vfid,\n+\t\t\t\tdomain, sdev.hws[i].domain,\n+\t\t\t\tsdev.hws[i].bar0);\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\t}\n+\n+\tinfo->domain = domain;\n+\tinfo->total_ssovfs = sdev.total_ssovfs;\n+\tinfo->total_ssowvfs = sdev.total_ssowvfs;\n+\treturn 0;\n+}\n+\n+void*\n+octeontx_ssovf_bar(enum octeontx_ssovf_type type, uint8_t id, uint8_t bar)\n+{\n+\tif (rte_eal_process_type() != RTE_PROC_PRIMARY ||\n+\t\t\ttype > OCTEONTX_SSO_HWS)\n+\t\treturn NULL;\n+\n+\tif (type == OCTEONTX_SSO_GROUP) {\n+\t\tif (id >= sdev.total_ssovfs)\n+\t\t\treturn NULL;\n+\t} else {\n+\t\tif (id >= sdev.total_ssowvfs)\n+\t\t\treturn NULL;\n+\t}\n+\n+\tif (type == OCTEONTX_SSO_GROUP) {\n+\t\tswitch (bar) {\n+\t\tcase 0:\n+\t\t\treturn sdev.grp[id].bar0;\n+\t\tcase 2:\n+\t\t\treturn sdev.grp[id].bar2;\n+\t\tdefault:\n+\t\t\treturn NULL;\n+\t\t}\n+\t} else {\n+\t\tswitch (bar) {\n+\t\tcase 0:\n+\t\t\treturn sdev.hws[id].bar0;\n+\t\tcase 2:\n+\t\t\treturn sdev.hws[id].bar2;\n+\t\tcase 4:\n+\t\t\treturn sdev.hws[id].bar4;\n+\t\tdefault:\n+\t\t\treturn NULL;\n+\t\t}\n+\t}\n+}\n+\n /* SSOWVF pcie device aka event port probe */\n \n static int\n",
    "prefixes": [
        "dpdk-dev",
        "07/39"
    ]
}