get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 40814,
    "url": "http://patchwork.dpdk.org/api/patches/40814/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1528450811-17729-1-git-send-email-hemant.agrawal@nxp.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": "<1528450811-17729-1-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1528450811-17729-1-git-send-email-hemant.agrawal@nxp.com",
    "date": "2018-06-08T09:40:11",
    "name": "[dpdk-dev,v2] vfio: remove experimental tag from vfio APIs",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "6d931eaad5ecf8298c58f01e80a93bf7f59743db",
    "submitter": {
        "id": 477,
        "url": "http://patchwork.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patchwork.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1528450811-17729-1-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [
        {
            "id": 47,
            "url": "http://patchwork.dpdk.org/api/series/47/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=47",
            "date": "2018-06-08T09:40:11",
            "name": "[dpdk-dev,v2] vfio: remove experimental tag from vfio APIs",
            "version": 2,
            "mbox": "http://patchwork.dpdk.org/series/47/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/40814/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/40814/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 705742A62;\n\tFri,  8 Jun 2018 11:42:13 +0200 (CEST)",
            "from EUR01-HE1-obe.outbound.protection.outlook.com\n\t(mail-he1eur01on0075.outbound.protection.outlook.com [104.47.0.75])\n\tby dpdk.org (Postfix) with ESMTP id 785031AFF\n\tfor <dev@dpdk.org>; Fri,  8 Jun 2018 11:42:10 +0200 (CEST)",
            "from bf-netperf1.ap.freescale.net (14.142.187.166) by\n\tAM2PR04MB0755.eurprd04.prod.outlook.com (2a01:111:e400:8411::15) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.13;\n\tFri, 8 Jun 2018 09:42:07 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector1;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=dhZoBUB0euLJlHaqCjUFmy27Jw2GsTnkYH6delhW8Tw=;\n\tb=Jl4tzAR3t955LzTnfMkVFa+9c9cFaIaXQmNoX/p6BkAmJlm3GgCWjN2tYNqSkTP4ZaP5Ns7F/nFSGq0CAzLK/+jOFA84a10SI4V+BrKbCDPYAri50SenENRMCodXcFrNCO51UN17wcO8Vil6Y3TSa4NAEBLMtRoxmCtatWOAShk=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=hemant.agrawal@nxp.com; ",
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "dev@dpdk.org",
        "Cc": "anatoly.burakov@intel.com, thomas@monjalon.net,\n\tHemant Agrawal <hemant.agrawal@nxp.com>",
        "Date": "Fri,  8 Jun 2018 15:10:11 +0530",
        "Message-Id": "<1528450811-17729-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1528179911-26675-1-git-send-email-hemant.agrawal@nxp.com>",
        "References": "<1528179911-26675-1-git-send-email-hemant.agrawal@nxp.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "SG2PR06CA0172.apcprd06.prod.outlook.com\n\t(2603:1096:1:1e::26) To AM2PR04MB0755.eurprd04.prod.outlook.com\n\t(2a01:111:e400:8411::15)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(5600026)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(48565401081)(2017052603328)(7153060)(7193020);\n\tSRVR:AM2PR04MB0755; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM2PR04MB0755;\n\t3:eyD4t2N88YPZv7jYNe3soVkfH7xHVZd6I+zezK5bzWLE353yeP/08E3/IaMMUrrEVDZSZYfLVCFjNFiFgzGN0fdmt2ZY6RJ05RjIcfdu7F6k5DhE44lhnpcDPMCLhSGi3OXqOQAYgpfo1jSkZSw9NFQS3XXYfqgJeDggkPA+W2VKberro7+LI3FSqlql3+ThC+i5toyAklgY76P4ZpVm6LUilLZb1uMHJEMM7Rrbw0j9dc+WwBk0lbYv7eC7BP4t;\n\t25:q9Qji0LBXJl535sz+6qT8fEWFAKVnQtafilHEjp16Nc0tBFLetqzj6xwfIPn04cC5XUmwIpqOOEm+xmlk9y3Y2fhxE4hWf23WGsK/we3EMqmfH+ebK9GHsH7aX8HC1Z/PqBTBd8q3WxaKkxdmHjSargeNXgL2uZejZyXsdKut4TOhMn2fiBkGV3N7Trziygd8BLuGmIHvedeUKmi7nnqbXWUdrMI8DuUlP+Qigzl5C3tD6ZCFMEsrlJcuvOqZNOtz0GjedbGiOIdDORmZwtZ0GUVIkwOavMuqnaggpNlTuLdFAW9jWt0KF5mYqAPlUW3sR0xQuf1iScrMCYuDirWeQ==;\n\t31:RtwnvKw3c3dRIAHaiehYg9YLD+nIuoo+yKLkEHUiOC4a9F8B1LPlH8Yjl/GKcKRU6mcbrDXxKxr9Qd5EBc+ZwMoGX07s3D4hPfXZ+6MopcLnGU0EVxwzWzfeR3OSFUSvy+1NW3aFtWcmc98KFkWLE3J5it+1B+7IcCoWNelUnnYS3l/1SvbR+cXPynTQysK6AU9aQ3z3/8aXrHb/qAKPBUZKmno5ITM5/nwhP/wfZ6c=",
            "1; AM2PR04MB0755;\n\t20:wIYe+IVlfswGGaKjyHK6VZT5hrYKXVxcnQV3Vrr84TafJctq1SNrdkmkC2xwvn0fIrnTIG+Mm/dvxnBeLukn9MqcihlJfDbfdA4F18I0IldGU0K+TKPVQl/QpYgkpcSd2hju1BH6F2SmYg13Bf6R39m48Li9C1SnZg+0wWbaGijGa7yKRls+zu7BoaWfNoL70grSO56sACBuAO8KTUbI1AerRCJc9MBwCMdDC+GtnTk9BJvyYP0RWe5eUQpFyJMOMsLLDfYydlwqOaVZAjZTIDVT9xQlaK8e2WD4SLfKwsxd8jJ4Dg/tVwV5bDEHCKr9JUf4jyx5VZcjXC9LW1JCX9mVRslzeC2krMrQ98U+nV83kqky+3Knrx9vIugOUVdfg9U1gVd7lt54Y0ixR0eR7Er4UnIM8LSEGFrYp5Dea0dBRSJ4xKaQl6/xphq4AbzMsPNir/tGHmuG3LoswdSGTBDXF7HtHFjUyMH/tk9ZCE74ntMFel9LvHaF8cV6nPnF;\n\t4:Owt8d5yzTSw8IG0EzsYmJv61GK+NDfEvkOIAfhB64kOSaqGjSRvygBNBZT19CpY7Gdt273E/d7eT/nJ5DPq/n2xvnV8C65VYoBfxHn8HahDByNDve2BnO1YEGqMq/nvBMhR7bA9erFuAQvP6HUN5daeOsJP79YVkBYJEqzsq9YQ4E+6xgkSAFV6Khzj3B7kprFvvC5eqSd4LmFhSwS9wKDDPOorMWU079v0yg2YIvQAl5KMV6qmTeXb1AjI2QgLyUKqshg3g2akxytjJiYN2Re1PJ/VXj93pySKJ4InOV8EYSRbhSg9h/ydMMWe54MT2",
            "=?us-ascii?Q?1; AM2PR04MB0755;\n\t23:tZGKCz4m0BQdy5IkEal8enRza+yZAZ/nYwJdeBOsN?=\n\tf+/fFoYWf5kWW/7zDdU0S/3RwDBBdQfQ5Wjam4l7kWZiU+P/nvppBszdDNtteFGAzxrUYRMWhUhppyjTEMdwbgQQ2iwwu3at/DHcNAD32TT8txNepuQa0dQc3yXD2OohuN5EmezJZAyaUlLgN7pMzy1FHe0VJ4bG67/qnHvRx37A8f0nLScVzBQodmQTUHEWRikpL8jCsT35H8TTPoG5kQS664XXfc5/SgpjmKY5pg9MA66EX8wNQGOOAyUbCbAxwIOdrkhf4hMCDPfXUUYfTh62NdVAAKPrsS/v8P4fbCFv/ljnheFGBqZ8qI3+nYc3SVx46WIag+hiDWYwotMd/KeJN4f68nYf9PRW3i2V6WbYqjAR/bsF4iw0lRKHTws+rMOJXljrMIx1/Pxstu+QndUv6x9cxi4XhJbOwvsphHYY1T1jKcioMCThLnGAipKQM7mzQiF/dV7S6/fnUsvm7aglNrTu2IgKleo37T128tYY+slt+XUrWXx8ltnbm8vT6ElvYiyoO7E95SvBoETE8fiLN+k+RxLqCc/275lO7QmjFkWeXDxfB8z5iAiqYFy3KgzZhN+ZQA/1n59Nw4VVgQW42euBwzLjpIUzn02xhRgiXQYH2LikMn0HPRmJepBS3nwYACgnS+VOZ5WUGTRk8EAEIrpNI5yVi2//EM2w6ZBzF1AkWOr4Ak5d45MpJPFpmYKf+/X1ZbLyF1i/U+rLP413JVgO1OTEJNGLtLFaAVJdO8ixhTqZ/RmlEMTKFV77U3bzauiO7/anDrgnmGuj2iL0KwU+02sdUl6Y6l2hbsxZYrGCRpP8P36jsRyQgOpG6T+oACEEDNhlj6HHy1ppSiUg/I99HZtAij1wHxbD+rGyV/RWkT8u7Q3fJgNWcnMkpuqUBq2Zr29bE/TcJ0ZoWI74zSYkoPqpC7up6fpLHdJZ0S9Fly1NpRbHpVVzphEx8+OOZUthBZJKHRDzfiCXSGvKa0/iJSpIlQH0BhiWveNtD7on1s+uEvkWN3qvDJXObMMpQ5jftwGiPnw5lKOcOYeAp/Tx+8dcde8pUn9mAXjlqk6E41EjZfT64zW9HiJ7HvM2zglZBbxGb2S2fRMzb4gGJtzalSQgdcFi95SofCuppVvfitURP2QQT/Rtukdxvd5W0XmpQ8rX8VY9KzxKYxQJwu6vHN9Jl3aTQZ7xBSC7cqZ9cU6xRLhJ6oLyjqWmj/v4wbSsAxdGMvCGqBhabpIBccw8B5Vlmfcludc4eKVDlm/dxFj//YBreEkUZgoRo8qteFcmiFEgLUEedXzzmtPHbNjB+O00xoGZrvdkXOkZA==",
            "1; AM2PR04MB0755;\n\t6:LFSCzSZV2giaAfqsfapTyR/7Vfd8ZZiV3+F3hS0F/FaCvxv/gT/r3ViAql3WjLY9XkLXxb0EYZleKZbPNWa4fOEY47GwLl4DLnE34qUyh+Pekfl5/TwVYsfQq1S80OSDvd4+fNzcXN5ivnUa5/hNfH36wKF8eNDHCXyp0Eu7FqnlnulHYODcy9rK0+9w4RF5R6ZMU9Csc4HqWQ4A5XRkIgtlZpPuLJSauUp9gbf9ZJZtIlPg8GvnNCHQ50mCWDQUXR6cY04VSO43zqKQ5la6OrYlHqazj/1lVakWV7MgFj1n31YptwL6xD8HClNCR6DkPiWQFiEoyDrO32o6SSA24NXRENG/41niAlnpYoiaAiF42MiIh39oKQykIZvpefWfJioV34Nra38SkPDFIombXz6Y7kLVBeL6Zk0+F25QdSM8gOdE78+lqlmmJSET9IXHIqWDzk2rLg/eRT9HqReQUQ==;\n\t5:lCnNxqb/VRB6DcdnU1E8Hj1zwZ9X+QvB9ghrnAzSKb1gY/pIqj2vX3eG2Vsb1yCkRBToWRJ4ksU0bLifaF/904PB0TB+5ya5Orb0b1bLVlHtjbEL91rquawsfzE7Cj4wtEBRZ9k8jIJ3LLAQtKr3GHqvm4v2iIMgEY4NG/5P1Bk=;\n\t24:i5TaxT8qFcLeo0wnU3lf+CPhy7xqUnFG9zxqlATkqJXibUl9Xf92o06yiMqmdf3mYYQnqi9v/1W43idx+yxsvdQpIjUsdxFUmjVQapgX9tA=",
            "1; AM2PR04MB0755;\n\t7:sgN2cHEj7d2jD/ham1dZYrjjs7ogIOsCE5r4jvAYF2fnOYn+5IYZxKYBC+8yL8qEk3uRXQPhsMYHD2ohSB6uq8zJd6Uv7G0yA9YA3mOnHsuMdN3iUlK8D+5w0Wb+XFvkSdiQVjBrpBcqj4rE71XEg62aVOKrCyIjWB9PV8WWDfxie03D/Ge1ubVjjLurRe7bVeUZSDOmF9zcoAp8V1VmXuS4U/GWFLMItuEn9pv72uvqANzNjchHBH48Q1pQutkv"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM2PR04MB0755:",
        "X-Microsoft-Antispam-PRVS": "<AM2PR04MB0755489E42CE8641719633C0897B0@AM2PR04MB0755.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(185117386973197);",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231254)(944501410)(52105095)(10201501046)(3002001)(6055026)(149027)(150027)(6041310)(20161123560045)(20161123562045)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123558120)(6072148)(201708071742011)(7699016);\n\tSRVR:AM2PR04MB0755; BCL:0; PCL:0; RULEID:; SRVR:AM2PR04MB0755; ",
        "X-Forefront-PRVS": "06973FFAD3",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(39860400002)(39380400002)(396003)(346002)(366004)(189003)(199004)(50226002)(6116002)(66066001)(3846002)(2361001)(5009440100003)(36756003)(106356001)(5660300001)(16586007)(316002)(476003)(956004)(575784001)(186003)(6486002)(105586002)(486006)(97736004)(68736007)(2351001)(44832011)(11346002)(446003)(2616005)(53936002)(6512007)(4326008)(81166006)(8676002)(50466002)(48376002)(7736002)(81156014)(25786009)(305945005)(2906002)(59450400001)(6506007)(386003)(478600001)(51416003)(76176011)(26005)(16526019)(6666003)(86362001)(52116002)(6916009)(47776003)(55236004)(8936002)(110426005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM2PR04MB0755;\n\tH:bf-netperf1.ap.freescale.net; \n\tFPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "UMbsWSoo6TcZXilMckxueZsbTx/+LFeukUnl3K0ClZelbH8SEQT24ZOziCtoYrKObtu574STE8sOITxjSGgmj+uMuHinZutM1PrdzE61TuPaXuExa70kyWYQtiZLVUR8oWeQXJJwVaxpBw5QKUkhqqNJgliyhL/jiENx9elAO+EIfAQhPKufHNIJccdxZ4Tx",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Office365-Filtering-Correlation-Id": "7e57d8c1-4a13-48a0-b38d-08d5cd241a90",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Jun 2018 09:42:07.6469\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "7e57d8c1-4a13-48a0-b38d-08d5cd241a90",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM2PR04MB0755",
        "Subject": "[dpdk-dev] [PATCH v2] vfio: remove experimental tag from vfio APIs",
        "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://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": "<https://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": "Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\nv2: remove duplicate entry from map file\n\n lib/librte_eal/bsdapp/eal/eal.c          | 22 +++++++++---------\n lib/librte_eal/common/include/rte_vfio.h | 40 +++++++++-----------------------\n lib/librte_eal/linuxapp/eal/eal_vfio.c   | 36 ++++++++++++++--------------\n lib/librte_eal/rte_eal_version.map       | 28 +++++++++++++---------\n 4 files changed, 57 insertions(+), 69 deletions(-)",
    "diff": "diff --git a/lib/librte_eal/bsdapp/eal/eal.c b/lib/librte_eal/bsdapp/eal/eal.c\nindex dc27954..33edae5 100644\n--- a/lib/librte_eal/bsdapp/eal/eal.c\n+++ b/lib/librte_eal/bsdapp/eal/eal.c\n@@ -866,21 +866,21 @@ int rte_vfio_clear_group(__rte_unused int vfio_group_fd)\n \treturn 0;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_dma_map(uint64_t __rte_unused vaddr, __rte_unused uint64_t iova,\n \t\t  __rte_unused uint64_t len)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_dma_unmap(uint64_t __rte_unused vaddr, uint64_t __rte_unused iova,\n \t\t    __rte_unused uint64_t len)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_get_group_num(__rte_unused const char *sysfs_base,\n \t\t       __rte_unused const char *dev_addr,\n \t\t       __rte_unused int *iommu_group_num)\n@@ -888,45 +888,45 @@ rte_vfio_get_group_num(__rte_unused const char *sysfs_base,\n \treturn -1;\n }\n \n-int  __rte_experimental\n+int\n rte_vfio_get_container_fd(void)\n {\n \treturn -1;\n }\n \n-int  __rte_experimental\n+int\n rte_vfio_get_group_fd(__rte_unused int iommu_group_num)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_create(void)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_destroy(__rte_unused int container_fd)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_group_bind(__rte_unused int container_fd,\n \t\t__rte_unused int iommu_group_num)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_group_unbind(__rte_unused int container_fd,\n \t\t__rte_unused int iommu_group_num)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_dma_map(__rte_unused int container_fd,\n \t\t\t__rte_unused uint64_t vaddr,\n \t\t\t__rte_unused uint64_t iova,\n@@ -935,7 +935,7 @@ rte_vfio_container_dma_map(__rte_unused int container_fd,\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_dma_unmap(__rte_unused int container_fd,\n \t\t\t__rte_unused uint64_t vaddr,\n \t\t\t__rte_unused uint64_t iova,\ndiff --git a/lib/librte_eal/common/include/rte_vfio.h b/lib/librte_eal/common/include/rte_vfio.h\nindex f90972f..5ca13fc 100644\n--- a/lib/librte_eal/common/include/rte_vfio.h\n+++ b/lib/librte_eal/common/include/rte_vfio.h\n@@ -179,7 +179,7 @@ rte_vfio_clear_group(int vfio_group_fd);\n  *   0 if success.\n  *   -1 on error.\n  */\n-int  __rte_experimental\n+int\n rte_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len);\n \n \n@@ -200,7 +200,7 @@ rte_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len);\n  *   -1 on error.\n  */\n \n-int __rte_experimental\n+int\n rte_vfio_dma_unmap(uint64_t vaddr, uint64_t iova, uint64_t len);\n /**\n  * Parse IOMMU group number for a device\n@@ -222,7 +222,7 @@ rte_vfio_dma_unmap(uint64_t vaddr, uint64_t iova, uint64_t len);\n  *   0 for non-existent group or VFIO\n  *  <0 for errors\n  */\n-int __rte_experimental\n+int\n rte_vfio_get_group_num(const char *sysfs_base,\n \t\t      const char *dev_addr, int *iommu_group_num);\n \n@@ -236,7 +236,7 @@ rte_vfio_get_group_num(const char *sysfs_base,\n  *  > 0 container fd\n  *  < 0 for errors\n  */\n-int __rte_experimental\n+int\n rte_vfio_get_container_fd(void);\n \n /**\n@@ -252,13 +252,10 @@ rte_vfio_get_container_fd(void);\n  *  > 0 group fd\n  *  < 0 for errors\n  */\n-int __rte_experimental\n+int\n rte_vfio_get_group_fd(int iommu_group_num);\n \n /**\n- * @warning\n- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n- *\n  * Create a new container for device binding.\n  *\n  * @note Any newly allocated DPDK memory will not be mapped into these\n@@ -269,13 +266,10 @@ rte_vfio_get_group_fd(int iommu_group_num);\n  *   the container fd if successful\n  *   <0 if failed\n  */\n-int __rte_experimental\n+int\n rte_vfio_container_create(void);\n \n /**\n- * @warning\n- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n- *\n  * Destroy the container, unbind all vfio groups within it.\n  *\n  * @param container_fd\n@@ -285,13 +279,10 @@ rte_vfio_container_create(void);\n  *    0 if successful\n  *   <0 if failed\n  */\n-int __rte_experimental\n+int\n rte_vfio_container_destroy(int container_fd);\n \n /**\n- * @warning\n- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n- *\n  * Bind a IOMMU group to a container.\n  *\n  * @param container_fd\n@@ -304,13 +295,10 @@ rte_vfio_container_destroy(int container_fd);\n  *   group fd if successful\n  *   <0 if failed\n  */\n-int __rte_experimental\n+int\n rte_vfio_container_group_bind(int container_fd, int iommu_group_num);\n \n /**\n- * @warning\n- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n- *\n  * Unbind a IOMMU group from a container.\n  *\n  * @param container_fd\n@@ -323,13 +311,10 @@ rte_vfio_container_group_bind(int container_fd, int iommu_group_num);\n  *    0 if successful\n  *   <0 if failed\n  */\n-int __rte_experimental\n+int\n rte_vfio_container_group_unbind(int container_fd, int iommu_group_num);\n \n /**\n- * @warning\n- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n- *\n  * Perform DMA mapping for devices in a container.\n  *\n  * @param container_fd\n@@ -348,14 +333,11 @@ rte_vfio_container_group_unbind(int container_fd, int iommu_group_num);\n  *    0 if successful\n  *   <0 if failed\n  */\n-int __rte_experimental\n+int\n rte_vfio_container_dma_map(int container_fd, uint64_t vaddr,\n \t\tuint64_t iova, uint64_t len);\n \n /**\n- * @warning\n- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice\n- *\n  * Perform DMA unmapping for devices in a container.\n  *\n  * @param container_fd\n@@ -374,7 +356,7 @@ rte_vfio_container_dma_map(int container_fd, uint64_t vaddr,\n  *    0 if successful\n  *   <0 if failed\n  */\n-int __rte_experimental\n+int\n rte_vfio_container_dma_unmap(int container_fd, uint64_t vaddr,\n \t\tuint64_t iova, uint64_t len);\n \ndiff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c\nindex a2bbdfb..bc5c602 100644\n--- a/lib/librte_eal/linuxapp/eal/eal_vfio.c\n+++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c\n@@ -1624,7 +1624,7 @@ container_dma_unmap(struct vfio_config *vfio_cfg, uint64_t vaddr, uint64_t iova,\n \treturn ret;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len)\n {\n \tif (len == 0) {\n@@ -1635,7 +1635,7 @@ rte_vfio_dma_map(uint64_t vaddr, uint64_t iova, uint64_t len)\n \treturn container_dma_map(default_vfio_cfg, vaddr, iova, len);\n }\n \n-int __rte_experimental\n+int\n rte_vfio_dma_unmap(uint64_t vaddr, uint64_t iova, uint64_t len)\n {\n \tif (len == 0) {\n@@ -1678,7 +1678,7 @@ rte_vfio_noiommu_is_enabled(void)\n \treturn c == 'Y';\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_create(void)\n {\n \tint i;\n@@ -1728,7 +1728,7 @@ rte_vfio_container_destroy(int container_fd)\n \treturn 0;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_group_bind(int container_fd, int iommu_group_num)\n {\n \tstruct vfio_config *vfio_cfg;\n@@ -1774,7 +1774,7 @@ rte_vfio_container_group_bind(int container_fd, int iommu_group_num)\n \treturn vfio_group_fd;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_group_unbind(int container_fd, int iommu_group_num)\n {\n \tstruct vfio_config *vfio_cfg;\n@@ -1813,7 +1813,7 @@ rte_vfio_container_group_unbind(int container_fd, int iommu_group_num)\n \treturn 0;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_dma_map(int container_fd, uint64_t vaddr, uint64_t iova,\n \t\tuint64_t len)\n {\n@@ -1833,7 +1833,7 @@ rte_vfio_container_dma_map(int container_fd, uint64_t vaddr, uint64_t iova,\n \treturn container_dma_map(vfio_cfg, vaddr, iova, len);\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_dma_unmap(int container_fd, uint64_t vaddr, uint64_t iova,\n \t\tuint64_t len)\n {\n@@ -1855,14 +1855,14 @@ rte_vfio_container_dma_unmap(int container_fd, uint64_t vaddr, uint64_t iova,\n \n #else\n \n-int __rte_experimental\n+int\n rte_vfio_dma_map(uint64_t __rte_unused vaddr, __rte_unused uint64_t iova,\n \t\t  __rte_unused uint64_t len)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_dma_unmap(uint64_t __rte_unused vaddr, uint64_t __rte_unused iova,\n \t\t    __rte_unused uint64_t len)\n {\n@@ -1909,7 +1909,7 @@ rte_vfio_clear_group(__rte_unused int vfio_group_fd)\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_get_group_num(__rte_unused const char *sysfs_base,\n \t\t__rte_unused const char *dev_addr,\n \t\t__rte_unused int *iommu_group_num)\n@@ -1917,45 +1917,45 @@ rte_vfio_get_group_num(__rte_unused const char *sysfs_base,\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_get_container_fd(void)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_get_group_fd(__rte_unused int iommu_group_num)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_create(void)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_destroy(__rte_unused int container_fd)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_group_bind(__rte_unused int container_fd,\n \t\t__rte_unused int iommu_group_num)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_group_unbind(__rte_unused int container_fd,\n \t\t__rte_unused int iommu_group_num)\n {\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_dma_map(__rte_unused int container_fd,\n \t\t__rte_unused uint64_t vaddr,\n \t\t__rte_unused uint64_t iova,\n@@ -1964,7 +1964,7 @@ rte_vfio_container_dma_map(__rte_unused int container_fd,\n \treturn -1;\n }\n \n-int __rte_experimental\n+int\n rte_vfio_container_dma_unmap(__rte_unused int container_fd,\n \t\t__rte_unused uint64_t vaddr,\n \t\t__rte_unused uint64_t iova,\ndiff --git a/lib/librte_eal/rte_eal_version.map b/lib/librte_eal/rte_eal_version.map\nindex f7dd0e7..9019049 100644\n--- a/lib/librte_eal/rte_eal_version.map\n+++ b/lib/librte_eal/rte_eal_version.map\n@@ -241,6 +241,23 @@ DPDK_18.05 {\n \n } DPDK_18.02;\n \n+DPDK_18.08 {\n+\tglobal:\n+\n+\trte_vfio_dma_map;\n+\trte_vfio_dma_unmap;\n+\trte_vfio_get_container_fd;\n+\trte_vfio_get_group_fd;\n+\trte_vfio_get_group_num;\n+\trte_vfio_container_create;\n+\trte_vfio_container_destroy;\n+\trte_vfio_container_dma_map;\n+\trte_vfio_container_dma_unmap;\n+\trte_vfio_container_group_bind;\n+\trte_vfio_container_group_unbind;\n+\n+}DPDK_18.05;\n+\n EXPERIMENTAL {\n \tglobal:\n \n@@ -296,15 +313,4 @@ EXPERIMENTAL {\n \trte_mp_sendmsg;\n \trte_socket_count;\n \trte_socket_id_by_idx;\n-\trte_vfio_dma_map;\n-\trte_vfio_dma_unmap;\n-\trte_vfio_get_container_fd;\n-\trte_vfio_get_group_fd;\n-\trte_vfio_get_group_num;\n-\trte_vfio_container_create;\n-\trte_vfio_container_destroy;\n-\trte_vfio_container_dma_map;\n-\trte_vfio_container_dma_unmap;\n-\trte_vfio_container_group_bind;\n-\trte_vfio_container_group_unbind;\n };\n",
    "prefixes": [
        "dpdk-dev",
        "v2"
    ]
}