get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 42201,
    "url": "http://patchwork.dpdk.org/api/patches/42201/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1530690841-27356-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": "<1530690841-27356-1-git-send-email-hemant.agrawal@nxp.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1530690841-27356-1-git-send-email-hemant.agrawal@nxp.com",
    "date": "2018-07-04T07:54:01",
    "name": "security: remove experimental tag from security APIs",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "31abcac78622fad732020a7dbb488fb947657318",
    "submitter": {
        "id": 477,
        "url": "http://patchwork.dpdk.org/api/people/477/?format=api",
        "name": "Hemant Agrawal",
        "email": "hemant.agrawal@nxp.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1530690841-27356-1-git-send-email-hemant.agrawal@nxp.com/mbox/",
    "series": [
        {
            "id": 388,
            "url": "http://patchwork.dpdk.org/api/series/388/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=388",
            "date": "2018-07-04T07:54:01",
            "name": "security: remove experimental tag from security APIs",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/388/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/42201/comments/",
    "check": "success",
    "checks": "http://patchwork.dpdk.org/api/patches/42201/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 E25371B04D;\n\tWed,  4 Jul 2018 09:55:38 +0200 (CEST)",
            "from EUR02-HE1-obe.outbound.protection.outlook.com\n\t(mail-eopbgr10079.outbound.protection.outlook.com [40.107.1.79])\n\tby dpdk.org (Postfix) with ESMTP id BA8E6AAD5\n\tfor <dev@dpdk.org>; Wed,  4 Jul 2018 09:55:37 +0200 (CEST)",
            "from bf-netperf1.ap.freescale.net (14.142.187.166) by\n\tAM3PR04MB0757.eurprd04.prod.outlook.com (2a01:111:e400:883c::15) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.23;\n\tWed, 4 Jul 2018 07:55:34 +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=bfd9nTFxPlTh2DqOm5AwY9SX7JkVAz2BhBfY9+Fp3y0=;\n\tb=cckIB7GRbgXYrUaylHljJ3sEoCEPyymo1lzH86XvsK8pDx+1/8OQnb4h+fs2DigWakB7Vl8QWhYXOQbW1qQm/1bhQ8D4tO7xa8nM/5W01PTwdx5y0pPwFtylsy24oh9Y+CCke82ckuKRKBuD10s0qPNVRRwVJlEH7BFsxdi3K2A=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=hemant.agrawal@nxp.com; ",
        "From": "Hemant Agrawal <hemant.agrawal@nxp.com>",
        "To": "radu.nicolau@intel.com, akhil.goyal@nxp.com, declan.doherty@intel.com,\n\tborisp@mellanox.com",
        "Cc": "dev@dpdk.org",
        "Date": "Wed,  4 Jul 2018 13:24:01 +0530",
        "Message-Id": "<1530690841-27356-1-git-send-email-hemant.agrawal@nxp.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[14.142.187.166]",
        "X-ClientProxiedBy": "BM1PR0101CA0035.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:1a::21) To AM3PR04MB0757.eurprd04.prod.outlook.com\n\t(2a01:111:e400:883c::15)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "235bd01a-6829-4b42-dee0-08d5e183864a",
        "X-MS-Office365-Filtering-HT": "Tenant",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989117)(5600053)(711020)(48565401081)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020);\n\tSRVR:AM3PR04MB0757; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; AM3PR04MB0757;\n\t3:TWz3JzYc4KW3GIsBK2J2OSsotcqBHNcRXhULgMd9iNcjfISfllookkmepKWMxD3eeEhWrEggJeK0S+zv1Q0IsZinrEL06dtXQMf/DqHrwrqLrKn879gUDSX2HsxYI8utWojMH+MVnApPk8q+O4UkwfbICjhqfiiiBGV3EC+x997lFSegwAHdRRXkUgIUG4u0AN5O0qQ/nLYBFIZuGQc7xGiRwq1vrbR/RC9wmJNUfcIKBvuzCUkgs5YC8r8JkGzh;\n\t25:3EhhtOiq/aTAo+lh0Nc9yReWPzlYtX3Z7h7aaNmK0KZFVBPo0drOrJok8rC58I0p2j3l+Y4cwMLy/mJ44eu2VsOLdk2EskT6eZxFRGGT+WTfDg6Qkue3FBrVVmnLEisk9ZSyjafTQlpGq5ouk4V871uvpUfjOdhCozdL76+H37shPAylM1TjQJD6Fj700TFzvbW5GWceaZ4MdQsIIWlWzvVzj4raMMECsoujkNPEX8cOn9GPiaehVQJsGjEzNZ90ARYXIe+pA47VKqAn9QAOQ6QpgGRtffmlhDwXS2l3GzWWsj3oq0VyF052CjS9YA6OJ5WsKuLvi08gLOOnoF1Y5g==;\n\t31:SRTqYCE8BZeRx/lNbRC4kKg73m8DaFEji2TetLbbHdOn35ItsDnqus09gLbrcq65H7/AKZe3hZ5IbiQUnjttVh72lC/NPkwfM+7O9MjmKS0rE+i/1zsWfcuIV5gTrZsKKmOqRviP4EE67Cn2JILewJ4/Vlr8qROFFCOfNCiqFWrkr0NmYOXZ3474jubdE6SbIjsVuFaqgjzlDsamrHuKYopIlRslB6pxIcM3OgEmX7g=",
            "1; AM3PR04MB0757;\n\t20:4TcO/2jo2E5xj02P8FvAaGHp5X2Jx7lRdszBy98/cgZ/aWXlWTRyeUd3selKWyTzJCeriUaEEAAs47bcqxFbqkKdTY2L4x36kfFoljJt0S8L20apucunRwwnDYE/zdOc4ujzL4jU8Chaajp1YKtLYCyDF9W5VFhGukadnmXVkU0C7to/wZZ+SL9il6brOcd7Ajvcaeabg1ChxtzztSbcDzOgV0wmawtWdUcHYXtzcZeiEG0w622HAOK0JDUb1t2TeNl+E0e1Lc0eRVf91FgIUhcpel8VBt6nAgjpn7XJFMKu+Ne4Kj+EphlYPfnNJyLXFyPpFNe1zPgDQxVPB2EmYorz7DbJA+LOY4NFZWfQQ1DfzJIzh/j0l/LzCvbY0c55w0VhD9C2svuyxw6IxRgRLwHOjGJab0VGYvu+uA+rXOPyAFRaJ+CeFjfs7eCTDzvjRJ9bzH2/IlUsUhxEHqq+7ECa11A8R307nMErq3QMqKnYVdtto2cbuxG3dXRvC3x1;\n\t4:PeACs8M5mRNYFxLCsdvR+4KmuPhaPhuOHpees3YtGOoIEgSplxewOEkwB+I0ohkzhtAyKRy3+Nstx4ojwFqgYKXg93nQUa32ps5asVVovlfT1MapPUydvCCJ2aEEJaQqanm7/N3VgQg6WAIPi8sOGUBixbbjae58GUOFuyMRUww2L8CfBL9drOieHKoTyhlJXpbha2YW3efnjG0BuHS+ycG5uw20N834THLwzJvqU5MCj8/GeMZExzl9Fsc6uRiorPTjS1wKG9Ty9GBkiEotip4wcOweIiJUyNMhVmU5FJs4nC0GNvocHrEt4TLVGvlD6n2pgK98/irshvu4EFbCJmMVEoYnsCF+zDHsUSgBTBA=",
            "=?us-ascii?Q?1; AM3PR04MB0757;\n\t23:mkiUZ0yIv595WMJBcuBSzl2BmOWwWsv/ureMZeMS9?=\n\t+VFsrhYAk3Y6n0qn7vhQHzwezpaJiJcgTGg7AuUgS73swIao6gRFy4xvl5mWsczEmnRFEiRFKuaLxdZ7NcEaT/0HasXDhkHl8Ei9GSl75lfhoMQ5zzA1L7Wcn4p7Fk2B6nG5BTsay62Xn5nBB1O9+wVEV0fa+mqf2eqy3xROEcmPFzSgt5li0xjAsfIWbuzanQxNiO1p8u1Uh0jRTROcpm6+kK94OBPu1jp3dRww/Jby/ETUt4B6Wv8QwKijbOl4y/yFFUSEDqllWljBsM02eeCl4H5m43TFv5MMKK8+qBh+ysdqPUSTHwxVYuD42eZPmbU/FzAnzpuPsHkeKIPlfvzRDPZNBOFraAI1OzaCvX4VtT3XLj/nFnjzmBZq38hjBJIKoYRS7H5fH3B7Zjfo+wD6NxN0XKZnl7yLcd9ilUU3SKpNtk68YFi/LPYHVN5TSUz6mIGOkCJ5FtmTxCTttiE4Mv0popaRWbwNHgaokqXRQNToO5ODc7QWJZ1i+wsZAXleOw5vdZrvsaJr04UnglmuMTfC5iYUWeSfGcrNoIRPg1WzFCasedQ3b+7FsI6JlM+17mprNNutfJb1Mu1sIQ4O0yYJvE+SdTKGVyYRCQdiILAKOptIsv4lPK+T3lLwdTqulStjWMh1nBfxWLDtMkGX9LqsTT6TwEHO5Brr9ttCUsvZlOvsCPmAwRRBgQQzK2m1tE9bAurc2PcZVaf7vNBLiPaH6yuZalkm6tCkxBhOiFfNiazIWk8cbC/TSV9tvrhLbHY3hSv3ni1Xh1f4vYMKsduSPaMSZzEsL2EWARr60ltoLoUUuY/nRTbMrD09ZDaN8tSGtQaaOIuYZLRN2UzfgyLW/J5XOCdJUnyCG6Ej07qKt6JnRHahWALakzjSrv8vPBGzI4viyObjYcYrhdhyDJ0qDU7b++I+14ykCIJdAfGfc3maEvKGrSaQWpzBl99bvE/rSUdyz3gq4Od6fQnridrxKe/mCFriumsL8zI76ZTebKz8srkEB7iAbJmSFAK4+2gEqLsYAAFLoP4i1rQj18LJ8WQhTbnoZ3IsgJPeLiXVx1xMqN7nexHjU/0WPk4a2lXs1g1RgbxO+rdecAdVb4XXwqtm3GUCWm5maDzPgpqbh+E1m1gViOr7y5MtPfha9nhUgWzCh1zA/sfdgghrN1DdgHUvVa4xq//wWTEQe3xSYgIMps8Lb5YLoJsty1uL5fKYkuEWZbp+fjOZN67ZZk1pK2LHm5WhiMp60rMpZInSmgg5s1UvH3gT+DEvwcfQ37CzsJNOFSscWOkAmDVLNLIylYRdKnjywkAYyYKMlv5woexK/1CBIby9B7Y6PHjUzZFvs2ZBGY7xjD+haCl",
            "1; AM3PR04MB0757;\n\t6:isbTxqkWP5IunAzuwZBANgOB/6D8M2cuO/TDqD2b3TwVJRPTeXh/D3uTAaQ6AsoxDam04kc7Qgk7czBIcPxOXj7F2Ux+RKS7fm2iJVTAXyTgDRMISExSH/NVUCbZKpJ2dR+6Fk5ka4MIfQGWt+9Gavt2nDLHsDn16WvE4tvvoW+Kdprq3hxAoqsU4/fKdq4FJN/8RPKEbrCchTHC0zhmJIqT8sDtb8Fl4xe7nOCrhl9KeYz6j2lu84dmNO/4DutKj0hUPG075GdPM+OXOQi7edVYUCP4qh8i0TXqPsimjNv10lCRKeRcFdcIc+x9EbqtyphTND3DTJ4Txe8agTh0tSs1UGQ/IGVgwx/VHqD7i3Je04E5PpTyprjF1/P1zCOrZvRLnz4tifn77Gc+sHnfrw2t/8dff5eDcuHLD82bzh3U65rIEgG9bTn9ahedxEE6btmV2EZL129zqtw3q0Coag==;\n\t5:XkZr07WgjStGqjhumR1Ap19DT+ULj+A9TK52JjHe0PdEeTM/rwKrmdIhGF6Foa9YU4RtzgCMP+WFOFuTOkPKo8IjivuiKSfJIZnejdsOZz8wIffj3NGuN0yBr9DYuMx4eiNoMsh1QTQBPtTC0oudbolAtBxSncSNqZWV+WMmL78=;\n\t24:hYez4E/wkvAWx/61cp8mgP188rv6pYJizlJcbPz4VvUyUjzTsIFLRFzn+QO9dhTHVotxihSiZAQToCBsdmJdFGpO1dWLXs9DfZDn4SGWpxw=",
            "1; AM3PR04MB0757;\n\t7:PjBCQzt1k8hYutZAVhAmBH57WsIlnt9M0+gpMgGVXpThuF4Q9vosrSelS5jXdbJ2nuNG5YyXNZOK+lwSDcAcU4SQkZ5fbNkDKBirYIAsb/iDnndN2T2Pt65Orl09Ppq1rZPNqL9gcPDFgWQpu5xWoHkOXDLv2jHmhh9DP/g79FjrK5Me2/9kQePaDb2OFGA7pxAzfaYUV0NYsC8oFUW83wNCtiSLz7TiFqroA++4x/vpGNZ6n0fid/+PGhoU64H9"
        ],
        "X-MS-TrafficTypeDiagnostic": "AM3PR04MB0757:",
        "X-Microsoft-Antispam-PRVS": "<AM3PR04MB0757C4C79D61C32B05149B6A89410@AM3PR04MB0757.eurprd04.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(192374486261705)(185117386973197); ",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(3231254)(944501410)(52105095)(93006095)(93001095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(20161123560045)(20161123558120)(20161123564045)(6072148)(201708071742011)(7699016);\n\tSRVR:AM3PR04MB0757; BCL:0; PCL:0; RULEID:; SRVR:AM3PR04MB0757; ",
        "X-Forefront-PRVS": "0723A02764",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(979002)(376002)(39860400002)(346002)(396003)(136003)(366004)(189003)(199004)(14444005)(305945005)(4326008)(86362001)(68736007)(81166006)(8676002)(97736004)(81156014)(6666003)(8936002)(25786009)(44832011)(575784001)(7736002)(16526019)(6506007)(386003)(50226002)(15650500001)(2906002)(16586007)(5660300001)(1857600001)(26005)(55236004)(316002)(36756003)(52116002)(51416003)(5024004)(186003)(66066001)(48376002)(478600001)(486006)(5009440100003)(47776003)(6486002)(3846002)(6116002)(106356001)(105586002)(50466002)(53936002)(2616005)(956004)(6512007)(476003)(110426005)(969003)(989001)(999001)(1009001)(1019001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:AM3PR04MB0757;\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": "040XFOUv8wmv6pNd3VySIyohf2xr3cQtHmObYKp2dodEbAvUMEsX/ITtUzYh8hxm5NJl7BMeDbWIiqtvEbcYuXF1tXsAAgLRA9u6CVKVGRjuV3057HDeyk9YjxtEnpvPtLdnmTsE8ZzQhd58mTI+FVJ9ujVVNl/e6+/Cp5AVqMiMxqRWtgrVMxtaiNZSdtbxLXfzfuj50fGAAxMMUmzp2MwrJytz7/h/BHfVZDQMeeArmKjqLlaaHgyXSeXTaeppH6g7Rlt24SI8nygP0frKkfPJTVDARDxb8U1er4iN6iQ4SOCwfDyYirnTw7OeIEXY7QSn9jmjvq1LxxDDvRNntPuElWZikai8cxs2r0aoNfc=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "nxp.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Jul 2018 07:55:34.1983\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "235bd01a-6829-4b42-dee0-08d5e183864a",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM3PR04MB0757",
        "Subject": "[dpdk-dev] [PATCH] security: remove experimental tag from security\n\tAPIs",
        "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": "Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n doc/guides/rel_notes/release_18_08.rst       |  7 +++++++\n lib/librte_security/rte_security.c           | 18 +++++++++---------\n lib/librte_security/rte_security.h           | 28 +++++++++++++---------------\n lib/librte_security/rte_security_driver.h    |  2 --\n lib/librte_security/rte_security_version.map |  2 +-\n 5 files changed, 30 insertions(+), 27 deletions(-)",
    "diff": "diff --git a/doc/guides/rel_notes/release_18_08.rst b/doc/guides/rel_notes/release_18_08.rst\nindex bc01242..355e8e2 100644\n--- a/doc/guides/rel_notes/release_18_08.rst\n+++ b/doc/guides/rel_notes/release_18_08.rst\n@@ -60,6 +60,13 @@ API Changes\n    Also, make sure to start the actual text at the margin.\n    =========================================================\n \n+* security : No longer marked as experimental.\n+\n+  The security functions are no longer marked as experimental, and have\n+  become part of the normal DPDK API and ABI. Any future ABI changes will be\n+  announced at least one release before the ABI change is made. There are no\n+  ABI breaking changes planned.\n+\n \n ABI Changes\n -----------\ndiff --git a/lib/librte_security/rte_security.c b/lib/librte_security/rte_security.c\nindex f36a8a0..9f848a2 100644\n--- a/lib/librte_security/rte_security.c\n+++ b/lib/librte_security/rte_security.c\n@@ -10,7 +10,7 @@\n #include \"rte_security_driver.h\"\n \n struct rte_security_session *\n-__rte_experimental rte_security_session_create(struct rte_security_ctx *instance,\n+rte_security_session_create(struct rte_security_ctx *instance,\n \t\t\t    struct rte_security_session_conf *conf,\n \t\t\t    struct rte_mempool *mp)\n {\n@@ -33,7 +33,7 @@ __rte_experimental rte_security_session_create(struct rte_security_ctx *instance\n \treturn sess;\n }\n \n-int __rte_experimental\n+int\n rte_security_session_update(struct rte_security_ctx *instance,\n \t\t\t    struct rte_security_session *sess,\n \t\t\t    struct rte_security_session_conf *conf)\n@@ -42,14 +42,14 @@ rte_security_session_update(struct rte_security_ctx *instance,\n \treturn instance->ops->session_update(instance->device, sess, conf);\n }\n \n-unsigned int __rte_experimental\n+unsigned int\n rte_security_session_get_size(struct rte_security_ctx *instance)\n {\n \tRTE_FUNC_PTR_OR_ERR_RET(*instance->ops->session_get_size, 0);\n \treturn instance->ops->session_get_size(instance->device);\n }\n \n-int __rte_experimental\n+int\n rte_security_session_stats_get(struct rte_security_ctx *instance,\n \t\t\t       struct rte_security_session *sess,\n \t\t\t       struct rte_security_stats *stats)\n@@ -58,7 +58,7 @@ rte_security_session_stats_get(struct rte_security_ctx *instance,\n \treturn instance->ops->session_stats_get(instance->device, sess, stats);\n }\n \n-int __rte_experimental\n+int\n rte_security_session_destroy(struct rte_security_ctx *instance,\n \t\t\t     struct rte_security_session *sess)\n {\n@@ -77,7 +77,7 @@ rte_security_session_destroy(struct rte_security_ctx *instance,\n \treturn ret;\n }\n \n-int __rte_experimental\n+int\n rte_security_set_pkt_metadata(struct rte_security_ctx *instance,\n \t\t\t      struct rte_security_session *sess,\n \t\t\t      struct rte_mbuf *m, void *params)\n@@ -87,7 +87,7 @@ rte_security_set_pkt_metadata(struct rte_security_ctx *instance,\n \t\t\t\t\t       sess, m, params);\n }\n \n-void * __rte_experimental\n+void *\n rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)\n {\n \tvoid *userdata = NULL;\n@@ -99,14 +99,14 @@ rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md)\n \treturn userdata;\n }\n \n-const struct rte_security_capability * __rte_experimental\n+const struct rte_security_capability *\n rte_security_capabilities_get(struct rte_security_ctx *instance)\n {\n \tRTE_FUNC_PTR_OR_ERR_RET(*instance->ops->capabilities_get, NULL);\n \treturn instance->ops->capabilities_get(instance->device);\n }\n \n-const struct rte_security_capability * __rte_experimental\n+const struct rte_security_capability *\n rte_security_capability_get(struct rte_security_ctx *instance,\n \t\t\t    struct rte_security_capability_idx *idx)\n {\ndiff --git a/lib/librte_security/rte_security.h b/lib/librte_security/rte_security.h\nindex b0d1b97..89dd073 100644\n--- a/lib/librte_security/rte_security.h\n+++ b/lib/librte_security/rte_security.h\n@@ -8,8 +8,6 @@\n \n /**\n  * @file rte_security.h\n- * @b EXPERIMENTAL: this API may change without prior notice\n- *\n  * RTE Security Common Definitions\n  *\n  */\n@@ -269,7 +267,7 @@ struct rte_security_session {\n  *  - On success, pointer to session\n  *  - On failure, NULL\n  */\n-struct rte_security_session * __rte_experimental\n+struct rte_security_session *\n rte_security_session_create(struct rte_security_ctx *instance,\n \t\t\t    struct rte_security_session_conf *conf,\n \t\t\t    struct rte_mempool *mp);\n@@ -284,7 +282,7 @@ rte_security_session_create(struct rte_security_ctx *instance,\n  *  - On success returns 0\n  *  - On failure return errno\n  */\n-int __rte_experimental\n+int\n rte_security_session_update(struct rte_security_ctx *instance,\n \t\t\t    struct rte_security_session *sess,\n \t\t\t    struct rte_security_session_conf *conf);\n@@ -298,7 +296,7 @@ rte_security_session_update(struct rte_security_ctx *instance,\n  *   - Size of the private data, if successful\n  *   - 0 if device is invalid or does not support the operation.\n  */\n-unsigned int __rte_experimental\n+unsigned int\n rte_security_session_get_size(struct rte_security_ctx *instance);\n \n /**\n@@ -313,7 +311,7 @@ rte_security_session_get_size(struct rte_security_ctx *instance);\n  *  - -EINVAL if session is NULL.\n  *  - -EBUSY if not all device private data has been freed.\n  */\n-int __rte_experimental\n+int\n rte_security_session_destroy(struct rte_security_ctx *instance,\n \t\t\t     struct rte_security_session *sess);\n \n@@ -330,7 +328,7 @@ rte_security_session_destroy(struct rte_security_ctx *instance,\n  *  - On success, zero.\n  *  - On failure, a negative value.\n  */\n-int __rte_experimental\n+int\n rte_security_set_pkt_metadata(struct rte_security_ctx *instance,\n \t\t\t      struct rte_security_session *sess,\n \t\t\t      struct rte_mbuf *mb, void *params);\n@@ -352,7 +350,7 @@ rte_security_set_pkt_metadata(struct rte_security_ctx *instance,\n  *  - On success, userdata\n  *  - On failure, NULL\n  */\n-void * __rte_experimental\n+void *\n rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md);\n \n /**\n@@ -361,7 +359,7 @@ rte_security_get_userdata(struct rte_security_ctx *instance, uint64_t md);\n  * @param\tsym_op\tcrypto operation\n  * @param\tsess\tsecurity session\n  */\n-static inline int __rte_experimental\n+static inline int\n __rte_security_attach_session(struct rte_crypto_sym_op *sym_op,\n \t\t\t      struct rte_security_session *sess)\n {\n@@ -370,13 +368,13 @@ __rte_security_attach_session(struct rte_crypto_sym_op *sym_op,\n \treturn 0;\n }\n \n-static inline void * __rte_experimental\n+static inline void *\n get_sec_session_private_data(const struct rte_security_session *sess)\n {\n \treturn sess->sess_private_data;\n }\n \n-static inline void __rte_experimental\n+static inline void\n set_sec_session_private_data(struct rte_security_session *sess,\n \t\t\t     void *private_data)\n {\n@@ -392,7 +390,7 @@ set_sec_session_private_data(struct rte_security_session *sess,\n  * @param\top\tcrypto operation\n  * @param\tsess\tsecurity session\n  */\n-static inline int __rte_experimental\n+static inline int\n rte_security_attach_session(struct rte_crypto_op *op,\n \t\t\t    struct rte_security_session *sess)\n {\n@@ -434,7 +432,7 @@ struct rte_security_stats {\n  *  - On success return 0\n  *  - On failure errno\n  */\n-int __rte_experimental\n+int\n rte_security_session_stats_get(struct rte_security_ctx *instance,\n \t\t\t       struct rte_security_session *sess,\n \t\t\t       struct rte_security_stats *stats);\n@@ -518,7 +516,7 @@ struct rte_security_capability_idx {\n  *   - Returns array of security capabilities.\n  *   - Return NULL if no capabilities available.\n  */\n-const struct rte_security_capability * __rte_experimental\n+const struct rte_security_capability *\n rte_security_capabilities_get(struct rte_security_ctx *instance);\n \n /**\n@@ -532,7 +530,7 @@ rte_security_capabilities_get(struct rte_security_ctx *instance);\n  *     index criteria.\n  *   - Return NULL if the capability not matched on security instance.\n  */\n-const struct rte_security_capability * __rte_experimental\n+const struct rte_security_capability *\n rte_security_capability_get(struct rte_security_ctx *instance,\n \t\t\t    struct rte_security_capability_idx *idx);\n \ndiff --git a/lib/librte_security/rte_security_driver.h b/lib/librte_security/rte_security_driver.h\nindex 42f42ff..b627b0c 100644\n--- a/lib/librte_security/rte_security_driver.h\n+++ b/lib/librte_security/rte_security_driver.h\n@@ -8,8 +8,6 @@\n \n /**\n  * @file rte_security_driver.h\n- * @b EXPERIMENTAL: this API may change without prior notice\n- *\n  * RTE Security Common Definitions\n  *\n  */\ndiff --git a/lib/librte_security/rte_security_version.map b/lib/librte_security/rte_security_version.map\nindex 5a1c8ae..6aaabe4 100644\n--- a/lib/librte_security/rte_security_version.map\n+++ b/lib/librte_security/rte_security_version.map\n@@ -1,4 +1,4 @@\n-EXPERIMENTAL {\n+DPDK_18.06 {\n \tglobal:\n \n \trte_security_attach_session;\n",
    "prefixes": []
}