Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/41138/?format=api
http://patchwork.dpdk.org/api/patches/41138/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20180614131900.11271-1-shreyansh.jain@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": "<20180614131900.11271-1-shreyansh.jain@nxp.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20180614131900.11271-1-shreyansh.jain@nxp.com", "date": "2018-06-14T13:19:00", "name": "rawdev: remove experimental flag", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "5aef247cc9a6f70af533eb1c0f1f882fe3a12974", "submitter": { "id": 497, "url": "http://patchwork.dpdk.org/api/people/497/?format=api", "name": "Shreyansh Jain", "email": "shreyansh.jain@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/20180614131900.11271-1-shreyansh.jain@nxp.com/mbox/", "series": [ { "id": 127, "url": "http://patchwork.dpdk.org/api/series/127/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=127", "date": "2018-06-14T13:19:00", "name": "rawdev: remove experimental flag", "version": 1, "mbox": "http://patchwork.dpdk.org/series/127/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/41138/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/41138/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 F32EF1DD57;\n\tThu, 14 Jun 2018 15:19:31 +0200 (CEST)", "from EUR01-VE1-obe.outbound.protection.outlook.com\n\t(mail-ve1eur01on0083.outbound.protection.outlook.com [104.47.1.83])\n\tby dpdk.org (Postfix) with ESMTP id 457851DD4B\n\tfor <dev@dpdk.org>; Thu, 14 Jun 2018 15:19:30 +0200 (CEST)", "from Tophie.ap.freescale.net (14.142.187.166) by\n\tHE1PR0402MB2778.eurprd04.prod.outlook.com (2603:10a6:3:d4::12) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n\t15.20.863.16; Thu, 14 Jun 2018 13:19:26 +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=AP4csdH15HKapb0CRusO4ho7dBIeECZfhE/A458CWA0=;\n\tb=xQlRRd3G/r3ch/67/81g151uG2icVWCsBPcPAPnIU789hYJAh1Vviosny6EqRUz91mSJXHxp1aZeVh6FizNTrHnkcSjeQhQOFCoiq3Sd9of0xp2BGS4eJYCYw4GgZMlFyhuBQIfTArQCrvaxgJ0VEbquY0d307QQhSisVZDOCvg=", "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=shreyansh.jain@nxp.com; ", "From": "Shreyansh Jain <shreyansh.jain@nxp.com>", "To": "dev@dpdk.org", "Cc": "ferruh.yigit@intel.com,\n\tShreyansh Jain <shreyansh.jain@nxp.com>", "Date": "Thu, 14 Jun 2018 18:49:00 +0530", "Message-Id": "<20180614131900.11271-1-shreyansh.jain@nxp.com>", "X-Mailer": "git-send-email 2.17.1", "MIME-Version": "1.0", "Content-Type": "text/plain", "X-Originating-IP": "[14.142.187.166]", "X-ClientProxiedBy": "BM1PR0101CA0034.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:1a::20) To HE1PR0402MB2778.eurprd04.prod.outlook.com\n\t(2603:10a6:3:d4::12)", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-HT": "Tenant", "X-MS-Office365-Filtering-Correlation-Id": "1b3634e9-f897-4ae4-c142-08d5d1f97498", "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(48565401081)(5600026)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);\n\tSRVR:HE1PR0402MB2778; ", "X-Microsoft-Exchange-Diagnostics": [ "1; HE1PR0402MB2778;\n\t3:AzPsanI3us6laTc2Vb5mZDrcgCdtwPgKPpfjBOxVFKl4WvMzh6EKXUAMaqJSuC6yrpyH3Kt5fCs1+nvwiyxxY2JudvKxNZbNsTUXlWsD4iO3J5oWLAGwsN08RPvCbRUa0y6eYyDHwoLWYOOXaN795zpXtwJHlDOsQ9EPHfMItDa0pzEbxHyhrdOD69loMNDnj28A2/h3aDthxriuhOeUEAH6Hz1aslcvPjtktqtVpFa3qI18gz8v/qLwW3KNG0bP;\n\t25:kLyAXMolLH5QJDTZW3pd2m/Jugil5dr9SZW2HepRATNO/ALnSgbEC2D9BlCbsGQcAu6XITByl9wE2llujIO3QFF1cVv7Fuh84Vw+q5ydggoMX7KOMwcdXCHh3lmWRn/wxuIp+EkTXWC9CxD7J1fkpFe99I6ogFZzog7UF+9X4QfisbUqsuGsmgCVXJdWBXzA4RO7Uv6HgaLyE7eYzjA/NT+peuPtG9EerO+vRnyuUyJXofYuHiifCpUtCoOlEL2JoHHmkFgo7sahkppQQccuZ+iWrY9HbKEL/HLB7zXkhm375N3guKzAkKhbZH4p6ig1BxeCiXaycm4tQD/W8Ocyhg==;\n\t31:MQ+Up3X/yHWb2SjeKFcIlg9WfVwsocLG4HXLZMOztZfV19J6noehzhLmlfwuH5PseLxja9i6Ilqaw/6AFDzz1iAT3WW5M4o++JQ39J0Ia9pyNf9PTsyEQxJZb54WcPHh9llYV9ELQHj6Je0H2mGLHZw2pSOL+MybwjETZgHl/Vgm0OR91iFwZ9QW61ZPfLnD2w9Aiqz1ji8wKJ8NaDMAMNXbGzsOLUYexRNoCiusglE=", "1; HE1PR0402MB2778;\n\t20:sfvbEIEEvGfrvIIOTcsJ9ITOj05fF9/xhHzqRFA+Ge6hHNLPYaRbwK9oeeYU+l8+vBdl2vusIxUmIk3N21FsrG8iDXphZyRfdMSsTQgI+QGZWupPWLQy5rKIqUU3LjG/VafLFKEN7OtfxvazNwpOd4/4PzSGgabefW8vdkHo3KI+XiHiq/exOAw7tF0MIKvinjMpVyqh4bLIrk3+Aeash1cwMf+LYumK6sL21g8pMpsQpVV9OLXWa2IrlP+y8jjyN+rdOpfjgt4lYETMl8WPUK9jA5whBOrQPZkFw3J1Ce32cFxKK8/jHk/h9ymaAKFcchNPMcgr645WtWbbwszMydDb3akHdb1Holw0EXBYVqGNaAmerEukJ9BJm6ctLNsyFlhgCdC0nOUur5ajfQA4Ymj9okcgS4AQaaGgCzFlH/bYpy+7UIyy7EUGGHBzqU+h1CA0r49QJoO4p/QIuLni4lGlfgbjncshmKM/rbkwI8Eu+7rdIIpNdMttWoF6VSiD;\n\t4:xaaxJ4qPGD4h7klEyNyAhtP1VMIYUkkACdg0dSghHwkMRsb+1llG0HLW8hOkuqDz71/AOCgRFElox++nbDD4J7bTo6V+B2oXPrdW0g/v4FSWSKNmbab9Ld+uPuB2syW815JyV2ssAwh25D8vT9PvhtFJwMMaaNLcne7HTTXJg6lwdHxB3w3hoBwivAxXTcIY3b3sX/Av4dSkMrMpB2Tw+nhGh56pfSLs3PiI6uL+OxEBIJY2TZ3XB3FusJuWWFZxDq5KmlliBlesdsP6snvJN+aABFqjfBTObud4E3WWoetw+fc4KrSXw7XDnvYMptLu", "=?us-ascii?Q?1; HE1PR0402MB2778;\n\t23:3NyjELZoVJwYGr5pFwnYWogNlKeXOwSriHEECj3?=\n\tHdCzPJnMeX5n1nK3r5EwggQefh0HkDSSUOg7+cG3uwjT/K67mfhk1qRfUtubvnte6i3Unh2ZBQ5LYZPYyzxiz3T7UyabQuQP7TWr2bQPmAhGQSXi1QtMGWdrJEXGtMYhXHJCI/1eH+AXUJyto0D6UNVOwiTFEdVoGjIhVFZcuzu5B8u0iCIMNTZYS30KuSW+ESPh9OMbAAu86V6jrUfAkc+tjIZGhYXLP/MZNbadJn8tqyHlAJaeQ5I5/INN05jgi/jY05I7t2NdRHpmBdcaNy88A5V8ftPlC0Y2IpkLhtOGXgB0tWmBjST4lrn1nuFU5h9E2iYDphXaNCyG12UTsL2/lklg8hVoamuQRrOg42GnXHDiFDrKSxhO3iOeEvixNrjMnZiA7ylsTKsRDyVmgsVAvooc80H/s10izPOvmcQHYoremY92gIaAHAGBjMIjTQ9a9cS8/EG6o1CnMHpzl0GIg0hCGUf+33d8vwm3IZbfVRfYbjUwtGgUYWwqKtgytWDoVKWqKCYBNQ6S3C/SIV21x6jyHQde1vG7n0t9vj4xv+zpgyRYjuKVO8BivR2h6d6GzqHpZGoj0znrmMWSjvdWBtWB+fNOm8k24g6is/oO0Iu0QXe/aP+zB90oX8FgIVVnnUOIFbjJ4dRi0oviW4DCeGlspbDh6W6Rq3GCib2yGWlhjX/5pD2VQdL52MeLtJ5DvUqceoCveLuHjDiy2Ep1mCuwjtnkWRLDo6J651T5ZVlTYejL7rirkOtSqehCx0SwN9ZS6/NC+dm9UGpFHXxg6sdsSYQlDX6ZGF/B1Hk2QGeyWTMqCAYh/+cqghBOOqhUyHE3X4qJJB77G8ptSIl4rhiQWojK9kaAJhvEhSL0uAw6Jdb0eiX/qCg81vtwQ1gY+l92JvtLSJhzehrH40mzwX9ncg0rIvHibFgSS6/mhcu70o0qpcE9HzJxWOY7MC3Oei1uUfDvNFPCtcbwlEK+e6Qsc/9aYWDNZGlfMYfVxEu78fE7JR8I3t3kjKvD+DLaHLiOqh0Lg5hkotc2gWGkSUhi2xFj/PSGCy5gWaDH4IjWInOsHDWY2F9Lr/cygKwcoHYmw9UChRbWA0E0NPN/3E7zrbdGcOfWRRLv/Oc9QQ5k5XTdbn8oh/8dZ/iOCrWs+TzSBkYjuUWwlxVbFD5vjMe5YWBjlnXdg6GB7O5ceD1UJuA8RgMbZ3E423ZGJPsao/UQz5tnvnXIhOk4TcFld7G6tnLIEMxbcDafwI05wOW8Ensh9LmS9vzG5af0/F9bn29ggpPGFl+SR2IqrSaV8vCdemzT2akwc857O8lkZ5A==", "1; HE1PR0402MB2778;\n\t6:Jw2J5rhzrCj1v0IGNYjYHPpWK5JqjGDgQ3Eq1Vs5x4+g1dmgRvjwcHaN6Go72UQMrHRS+CiwzhScgrNUOmN4JzNYn+6eAErjIFgPX5psYsofpVBiRXSd7lreLnbAPEol/zjIOGpQwFA5V91SvWIjSnZlDflWuEgZywk3deuKQTMV3L8JrF2bqhZYK5FjHZA+qkt072EHL8kfS53T/8zhKs+o3mM+htC6nlqd+ueiUePyt0n/HaPXkifG1uNZj8igvNgeRo7Kj0R4T7W+dUiBNb9kQO0hp4ZP7SurVF9RBeih+539vHs91NwlnvDzH6QC0bBMHUYWHTKTz7lH8J1SDni1KP5De9myOtvtj9x+RPGbcC5IaoE+Q1wbgzxBCD6zrEuVFnZWUyiXgiG/tWF4pdW6lruiqNlmwN207xpTJMMpNBya06QxdapAvFXaMpsgFGGHbsvQ1xN5ZVgji+4WPA==;\n\t5:Ml7ySAO4i9b+U/xaKZ8h82gRBJbbU8p4MPyJcb8iyAxch0it86loto9A0tMRaJPiTIG4dUSXaZyHmkD57SsINNTELp2dVgfg1GEyV1zJUhYcImEES8/Ag4wvQJJ2NfP7T7eK3uHdRwMSFZ6n/lRs6KuxaY7fQXf5OTRzbMnSyUk=;\n\t24:/RzEgjzCmMwzYlwhVmfc8eDKx6ieSD4w69W0ICUI7+S1tw9ZAMTOmxiSZda6i2Gcg5qZvlV14YZV6DxoNSVcDktxfbZmFV93C1GF/uM49JY=", "1; HE1PR0402MB2778;\n\t7:6RyfnQHkjTF6C2erFbys0yro+O/f1uCBcJwdSWfI5Ok4U68m9jag2HpEdegSQvsouoBwEoMDg/9fu5Huz1K4JGFAEEoei0STEtljBt0ZQ/Ohj4B+QwXc0awVFY/bIfpYzsJx5SOAiweJC/fVmXg/Hq5BcqMDaNhscbNC8jc82/ECWgXB+elt/6DYBEvGvMrCJ5cylRRj2LVynv0/ylXfRquicnFsZ9X0iGk6P5cNlIjNygKQbVf6tpeaRtON9tdR" ], "X-MS-TrafficTypeDiagnostic": "HE1PR0402MB2778:", "X-Microsoft-Antispam-PRVS": "<HE1PR0402MB27787EA4DBCB5FB437AF6FC7907D0@HE1PR0402MB2778.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)(8121501046)(5005006)(3002001)(3231254)(944501410)(52105095)(93006095)(93001095)(10201501046)(6055026)(149027)(150027)(6041310)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(6072148)(201708071742011)(7699016);\n\tSRVR:HE1PR0402MB2778; BCL:0; PCL:0; RULEID:; SRVR:HE1PR0402MB2778; ", "X-Forefront-PRVS": "0703B549E4", "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(396003)(39860400002)(346002)(366004)(39380400002)(199004)(189003)(6666003)(68736007)(66066001)(6916009)(186003)(44832011)(305945005)(47776003)(956004)(2616005)(316002)(6116002)(3846002)(6486002)(1076002)(8936002)(476003)(5009440100003)(50466002)(7736002)(50226002)(486006)(1857600001)(16526019)(2351001)(51416003)(52116002)(25786009)(478600001)(53936002)(2361001)(26005)(59450400001)(86362001)(5660300001)(386003)(6512007)(8676002)(6506007)(48376002)(16586007)(105586002)(81156014)(575784001)(81166006)(55236004)(4326008)(97736004)(36756003)(106356001)(2906002)(110426005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR0402MB2778;\n\tH:Tophie.ap.freescale.net; \n\tFPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; ", "Received-SPF": "None (protection.outlook.com: nxp.com does not designate\n\tpermitted sender hosts)", "X-Microsoft-Antispam-Message-Info": "PJj4PXPrq1LOzCJ1LrfNLxpFVlh8sFheA5PH2xG4ILvR2E1wfYo39hYPUptl9OBswayy/S9In2l3jh1eY8BWz/fELkha0oRV1053Myzx0k02tCD1+1BJA1koh6ANndMyzQUBQbqJ61AShXgWCXCKlrg337yVGMOSn8E0EJoF3MWNkhkv/2jzCa6rqLkCehgc", "SpamDiagnosticOutput": "1:99", "SpamDiagnosticMetadata": "NSPM", "X-OriginatorOrg": "nxp.com", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "14 Jun 2018 13:19:26.5104\n\t(UTC)", "X-MS-Exchange-CrossTenant-Network-Message-Id": "1b3634e9-f897-4ae4-c142-08d5d1f97498", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "686ea1d3-bc2b-4c6f-a92c-d99c5c301635", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "HE1PR0402MB2778", "Subject": "[dpdk-dev] [PATCH] rawdev: remove experimental flag", "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": "Besides the librawdev, removing experimental from skeleton_rawdev\ndummy driver as well.\n\nSigned-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>\n---\n\nNote: Dependent drivers, (dpaa2_cmdif, dpaa2_qdma and ifpga) cannot be\n updated in this patch as are dependent on some other symbols\n (rte_mem_virt2memseg and rte_eal_hotplug_*).\n\n drivers/raw/skeleton_rawdev/Makefile | 1 -\n drivers/raw/skeleton_rawdev/meson.build | 2 -\n lib/librte_rawdev/Makefile | 1 -\n lib/librte_rawdev/meson.build | 1 -\n lib/librte_rawdev/rte_rawdev.c | 56 ++++++++++++------------\n lib/librte_rawdev/rte_rawdev.h | 54 +++++++++++------------\n lib/librte_rawdev/rte_rawdev_pmd.h | 8 ++--\n lib/librte_rawdev/rte_rawdev_version.map | 2 +-\n 8 files changed, 60 insertions(+), 65 deletions(-)", "diff": "diff --git a/drivers/raw/skeleton_rawdev/Makefile b/drivers/raw/skeleton_rawdev/Makefile\nindex bacc66dd0..3f97c2ee0 100644\n--- a/drivers/raw/skeleton_rawdev/Makefile\n+++ b/drivers/raw/skeleton_rawdev/Makefile\n@@ -8,7 +8,6 @@ include $(RTE_SDK)/mk/rte.vars.mk\n #\n LIB = librte_pmd_skeleton_rawdev.a\n \n-CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n LDLIBS += -lrte_eal\ndiff --git a/drivers/raw/skeleton_rawdev/meson.build b/drivers/raw/skeleton_rawdev/meson.build\nindex 7cb2d3fb1..b4a6ed08a 100644\n--- a/drivers/raw/skeleton_rawdev/meson.build\n+++ b/drivers/raw/skeleton_rawdev/meson.build\n@@ -4,5 +4,3 @@\n deps += ['rawdev', 'kvargs', 'mbuf', 'bus_vdev']\n sources = files('skeleton_rawdev.c',\n 'skeleton_rawdev_test.c')\n-\n-allow_experimental_apis = true\ndiff --git a/lib/librte_rawdev/Makefile b/lib/librte_rawdev/Makefile\nindex b9105b060..addb288d7 100644\n--- a/lib/librte_rawdev/Makefile\n+++ b/lib/librte_rawdev/Makefile\n@@ -10,7 +10,6 @@ LIB = librte_rawdev.a\n LIBABIVER := 1\n \n # build flags\n-CFLAGS += -DALLOW_EXPERIMENTAL_API\n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n LDLIBS += -lrte_eal\ndiff --git a/lib/librte_rawdev/meson.build b/lib/librte_rawdev/meson.build\nindex dcd37ad49..a20fbdc04 100644\n--- a/lib/librte_rawdev/meson.build\n+++ b/lib/librte_rawdev/meson.build\n@@ -1,6 +1,5 @@\n # SPDX-License-Identifier: BSD-3-Clause\n # Copyright(c) 2018 Intel Corporation\n \n-allow_experimental_apis = true\n sources = files('rte_rawdev.c')\n headers = files('rte_rawdev.h', 'rte_rawdev_pmd.h')\ndiff --git a/lib/librte_rawdev/rte_rawdev.c b/lib/librte_rawdev/rte_rawdev.c\nindex 284e6aec8..00feb4ebe 100644\n--- a/lib/librte_rawdev/rte_rawdev.c\n+++ b/lib/librte_rawdev/rte_rawdev.c\n@@ -46,13 +46,13 @@ static struct rte_rawdev_global rawdev_globals = {\n struct rte_rawdev_global *rte_rawdev_globals = &rawdev_globals;\n \n /* Raw device, northbound API implementation */\n-uint8_t __rte_experimental\n+uint8_t\n rte_rawdev_count(void)\n {\n \treturn rte_rawdev_globals->nb_devs;\n }\n \n-uint16_t __rte_experimental\n+uint16_t\n rte_rawdev_get_dev_id(const char *name)\n {\n \tuint16_t i;\n@@ -69,7 +69,7 @@ rte_rawdev_get_dev_id(const char *name)\n \treturn -ENODEV;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_socket_id(uint16_t dev_id)\n {\n \tstruct rte_rawdev *dev;\n@@ -80,7 +80,7 @@ rte_rawdev_socket_id(uint16_t dev_id)\n \treturn dev->socket_id;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info)\n {\n \tstruct rte_rawdev *rawdev;\n@@ -102,7 +102,7 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info)\n \treturn 0;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf)\n {\n \tstruct rte_rawdev *dev;\n@@ -131,7 +131,7 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf)\n \treturn diag;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_queue_conf_get(uint16_t dev_id,\n \t\t\t uint16_t queue_id,\n \t\t\t rte_rawdev_obj_t queue_conf)\n@@ -146,7 +146,7 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,\n \treturn 0;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_queue_setup(uint16_t dev_id,\n \t\t uint16_t queue_id,\n \t\t rte_rawdev_obj_t queue_conf)\n@@ -160,7 +160,7 @@ rte_rawdev_queue_setup(uint16_t dev_id,\n \treturn (*dev->dev_ops->queue_setup)(dev, queue_id, queue_conf);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id)\n {\n \tstruct rte_rawdev *dev;\n@@ -172,7 +172,7 @@ rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id)\n \treturn (*dev->dev_ops->queue_release)(dev, queue_id);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_get_attr(uint16_t dev_id,\n \t\t const char *attr_name,\n \t\t uint64_t *attr_value)\n@@ -186,7 +186,7 @@ rte_rawdev_get_attr(uint16_t dev_id,\n \treturn (*dev->dev_ops->attr_get)(dev, attr_name, attr_value);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_set_attr(uint16_t dev_id,\n \t\t const char *attr_name,\n \t\t const uint64_t attr_value)\n@@ -200,7 +200,7 @@ rte_rawdev_set_attr(uint16_t dev_id,\n \treturn (*dev->dev_ops->attr_set)(dev, attr_name, attr_value);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_enqueue_buffers(uint16_t dev_id,\n \t\t\t struct rte_rawdev_buf **buffers,\n \t\t\t unsigned int count,\n@@ -215,7 +215,7 @@ rte_rawdev_enqueue_buffers(uint16_t dev_id,\n \treturn (*dev->dev_ops->enqueue_bufs)(dev, buffers, count, context);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_dequeue_buffers(uint16_t dev_id,\n \t\t\t struct rte_rawdev_buf **buffers,\n \t\t\t unsigned int count,\n@@ -230,7 +230,7 @@ rte_rawdev_dequeue_buffers(uint16_t dev_id,\n \treturn (*dev->dev_ops->dequeue_bufs)(dev, buffers, count, context);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_dump(uint16_t dev_id, FILE *f)\n {\n \tstruct rte_rawdev *dev;\n@@ -251,7 +251,7 @@ xstats_get_count(uint16_t dev_id)\n \treturn (*dev->dev_ops->xstats_get_names)(dev, NULL, 0);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_xstats_names_get(uint16_t dev_id,\n \t\tstruct rte_rawdev_xstats_name *xstats_names,\n \t\tunsigned int size)\n@@ -274,7 +274,7 @@ rte_rawdev_xstats_names_get(uint16_t dev_id,\n }\n \n /* retrieve rawdev extended statistics */\n-int __rte_experimental\n+int\n rte_rawdev_xstats_get(uint16_t dev_id,\n \t\t const unsigned int ids[],\n \t\t uint64_t values[],\n@@ -287,7 +287,7 @@ rte_rawdev_xstats_get(uint16_t dev_id,\n \treturn (*dev->dev_ops->xstats_get)(dev, ids, values, n);\n }\n \n-uint64_t __rte_experimental\n+uint64_t\n rte_rawdev_xstats_by_name_get(uint16_t dev_id,\n \t\t\t const char *name,\n \t\t\t unsigned int *id)\n@@ -306,7 +306,7 @@ rte_rawdev_xstats_by_name_get(uint16_t dev_id,\n \treturn (*dev->dev_ops->xstats_get_by_name)(dev, name, id);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_xstats_reset(uint16_t dev_id,\n \t\t\tconst uint32_t ids[], uint32_t nb_ids)\n {\n@@ -317,7 +317,7 @@ rte_rawdev_xstats_reset(uint16_t dev_id,\n \treturn (*dev->dev_ops->xstats_reset)(dev, ids, nb_ids);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_firmware_status_get(uint16_t dev_id, rte_rawdev_obj_t status_info)\n {\n \tRTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);\n@@ -327,7 +327,7 @@ rte_rawdev_firmware_status_get(uint16_t dev_id, rte_rawdev_obj_t status_info)\n \treturn (*dev->dev_ops->firmware_status_get)(dev, status_info);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_firmware_version_get(uint16_t dev_id, rte_rawdev_obj_t version_info)\n {\n \tRTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);\n@@ -337,7 +337,7 @@ rte_rawdev_firmware_version_get(uint16_t dev_id, rte_rawdev_obj_t version_info)\n \treturn (*dev->dev_ops->firmware_version_get)(dev, version_info);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image)\n {\n \tRTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);\n@@ -350,7 +350,7 @@ rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image)\n \treturn (*dev->dev_ops->firmware_load)(dev, firmware_image);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_firmware_unload(uint16_t dev_id)\n {\n \tRTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);\n@@ -360,7 +360,7 @@ rte_rawdev_firmware_unload(uint16_t dev_id)\n \treturn (*dev->dev_ops->firmware_unload)(dev);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_selftest(uint16_t dev_id)\n {\n \tRTE_RAWDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL);\n@@ -370,7 +370,7 @@ rte_rawdev_selftest(uint16_t dev_id)\n \treturn (*dev->dev_ops->dev_selftest)();\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_start(uint16_t dev_id)\n {\n \tstruct rte_rawdev *dev;\n@@ -397,7 +397,7 @@ rte_rawdev_start(uint16_t dev_id)\n \treturn 0;\n }\n \n-void __rte_experimental\n+void\n rte_rawdev_stop(uint16_t dev_id)\n {\n \tstruct rte_rawdev *dev;\n@@ -419,7 +419,7 @@ rte_rawdev_stop(uint16_t dev_id)\n \tdev->started = 0;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_close(uint16_t dev_id)\n {\n \tstruct rte_rawdev *dev;\n@@ -438,7 +438,7 @@ rte_rawdev_close(uint16_t dev_id)\n \treturn (*dev->dev_ops->dev_close)(dev);\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_reset(uint16_t dev_id)\n {\n \tstruct rte_rawdev *dev;\n@@ -465,7 +465,7 @@ rte_rawdev_find_free_device_index(void)\n \treturn RTE_RAWDEV_MAX_DEVS;\n }\n \n-struct rte_rawdev * __rte_experimental\n+struct rte_rawdev *\n rte_rawdev_pmd_allocate(const char *name, size_t dev_priv_size, int socket_id)\n {\n \tstruct rte_rawdev *rawdev;\n@@ -506,7 +506,7 @@ rte_rawdev_pmd_allocate(const char *name, size_t dev_priv_size, int socket_id)\n \treturn rawdev;\n }\n \n-int __rte_experimental\n+int\n rte_rawdev_pmd_release(struct rte_rawdev *rawdev)\n {\n \tint ret;\ndiff --git a/lib/librte_rawdev/rte_rawdev.h b/lib/librte_rawdev/rte_rawdev.h\nindex 2e14919b5..7988e76af 100644\n--- a/lib/librte_rawdev/rte_rawdev.h\n+++ b/lib/librte_rawdev/rte_rawdev.h\n@@ -35,7 +35,7 @@ typedef void *rte_rawdev_obj_t;\n * @return\n * The total number of usable raw devices.\n */\n-uint8_t __rte_experimental\n+uint8_t\n rte_rawdev_count(void);\n \n /**\n@@ -48,7 +48,7 @@ rte_rawdev_count(void);\n * Returns raw device identifier on success.\n * - <0: Failure to find named raw device.\n */\n-uint16_t __rte_experimental\n+uint16_t\n rte_rawdev_get_dev_id(const char *name);\n \n /**\n@@ -61,7 +61,7 @@ rte_rawdev_get_dev_id(const char *name);\n * a default of zero if the socket could not be determined.\n * -(-EINVAL) dev_id value is out of range.\n */\n-int __rte_experimental\n+int\n rte_rawdev_socket_id(uint16_t dev_id);\n \n /**\n@@ -84,7 +84,7 @@ struct rte_rawdev_info;\n * - <0: Error code returned by the driver info get function.\n *\n */\n-int __rte_experimental\n+int\n rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info);\n \n /**\n@@ -111,7 +111,7 @@ rte_rawdev_info_get(uint16_t dev_id, struct rte_rawdev_info *dev_info);\n * - 0: Success, device configured.\n * - <0: Error code returned by the driver configuration function.\n */\n-int __rte_experimental\n+int\n rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf);\n \n \n@@ -137,7 +137,7 @@ rte_rawdev_configure(uint16_t dev_id, struct rte_rawdev_info *dev_conf);\n * @see rte_raw_queue_setup()\n *\n */\n-int __rte_experimental\n+int\n rte_rawdev_queue_conf_get(uint16_t dev_id,\n \t\t\t uint16_t queue_id,\n \t\t\t rte_rawdev_obj_t queue_conf);\n@@ -160,7 +160,7 @@ rte_rawdev_queue_conf_get(uint16_t dev_id,\n * - 0: Success, raw queue correctly set up.\n * - <0: raw queue configuration failed\n */\n-int __rte_experimental\n+int\n rte_rawdev_queue_setup(uint16_t dev_id,\n \t\t uint16_t queue_id,\n \t\t rte_rawdev_obj_t queue_conf);\n@@ -180,7 +180,7 @@ rte_rawdev_queue_setup(uint16_t dev_id,\n * - 0: Success, raw queue released.\n * - <0: raw queue configuration failed\n */\n-int __rte_experimental\n+int\n rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id);\n /**\n * Get the number of raw queues on a specific raw device\n@@ -190,7 +190,7 @@ rte_rawdev_queue_release(uint16_t dev_id, uint16_t queue_id);\n * @return\n * - The number of configured raw queues\n */\n-uint16_t __rte_experimental\n+uint16_t\n rte_rawdev_queue_count(uint16_t dev_id);\n \n /**\n@@ -208,7 +208,7 @@ rte_rawdev_queue_count(uint16_t dev_id);\n * - 0: Success, device started.\n * < 0: Failure\n */\n-int __rte_experimental\n+int\n rte_rawdev_start(uint16_t dev_id);\n \n /**\n@@ -218,7 +218,7 @@ rte_rawdev_start(uint16_t dev_id);\n * @param dev_id\n * Raw device identifier.\n */\n-void __rte_experimental\n+void\n rte_rawdev_stop(uint16_t dev_id);\n \n /**\n@@ -232,7 +232,7 @@ rte_rawdev_stop(uint16_t dev_id);\n * - <0 on failure to close device\n * - (-EAGAIN) if device is busy\n */\n-int __rte_experimental\n+int\n rte_rawdev_close(uint16_t dev_id);\n \n /**\n@@ -246,7 +246,7 @@ rte_rawdev_close(uint16_t dev_id);\n * 0 for sucessful reset,\n * !0 for failure in resetting\n */\n-int __rte_experimental\n+int\n rte_rawdev_reset(uint16_t dev_id);\n \n #define RTE_RAWDEV_NAME_MAX_LEN\t(64)\n@@ -316,7 +316,7 @@ struct rte_rawdev_buf {\n * - 0: on success\n * - <0: on failure.\n */\n-int __rte_experimental\n+int\n rte_rawdev_dump(uint16_t dev_id, FILE *f);\n \n /**\n@@ -338,7 +338,7 @@ rte_rawdev_dump(uint16_t dev_id, FILE *f);\n * 0 for success\n * !0 Error; attr_value remains untouched in case of error.\n */\n-int __rte_experimental\n+int\n rte_rawdev_get_attr(uint16_t dev_id,\n \t\t const char *attr_name,\n \t\t uint64_t *attr_value);\n@@ -357,7 +357,7 @@ rte_rawdev_get_attr(uint16_t dev_id,\n * 0 for success\n * !0 Error\n */\n-int __rte_experimental\n+int\n rte_rawdev_set_attr(uint16_t dev_id,\n \t\t const char *attr_name,\n \t\t const uint64_t attr_value);\n@@ -383,7 +383,7 @@ rte_rawdev_set_attr(uint16_t dev_id,\n * Whether partial enqueue is failure or success is defined between app\n * and driver implementation.\n */\n-int __rte_experimental\n+int\n rte_rawdev_enqueue_buffers(uint16_t dev_id,\n \t\t\t struct rte_rawdev_buf **buffers,\n \t\t\t unsigned int count,\n@@ -414,7 +414,7 @@ rte_rawdev_enqueue_buffers(uint16_t dev_id,\n * Whether partial enqueue is failure or success is defined between app\n * and driver implementation.\n */\n-int __rte_experimental\n+int\n rte_rawdev_dequeue_buffers(uint16_t dev_id,\n \t\t\t struct rte_rawdev_buf **buffers,\n \t\t\t unsigned int count,\n@@ -454,7 +454,7 @@ struct rte_rawdev_xstats_name {\n * -ENODEV for invalid *dev_id*\n * -ENOTSUP if the device doesn't support this function.\n */\n-int __rte_experimental\n+int\n rte_rawdev_xstats_names_get(uint16_t dev_id,\n \t\t\t struct rte_rawdev_xstats_name *xstats_names,\n \t\t\t unsigned int size);\n@@ -478,7 +478,7 @@ rte_rawdev_xstats_names_get(uint16_t dev_id,\n * -ENODEV for invalid *dev_id*\n * -ENOTSUP if the device doesn't support this function.\n */\n-int __rte_experimental\n+int\n rte_rawdev_xstats_get(uint16_t dev_id,\n \t\t const unsigned int ids[],\n \t\t uint64_t values[],\n@@ -500,7 +500,7 @@ rte_rawdev_xstats_get(uint16_t dev_id,\n * - positive value or zero: the stat value\n * - negative value: -EINVAL if stat not found, -ENOTSUP if not supported.\n */\n-uint64_t __rte_experimental\n+uint64_t\n rte_rawdev_xstats_by_name_get(uint16_t dev_id,\n \t\t\t const char *name,\n \t\t\t unsigned int *id);\n@@ -520,7 +520,7 @@ rte_rawdev_xstats_by_name_get(uint16_t dev_id,\n * - zero: successfully reset the statistics to zero\n * - negative value: -EINVAL invalid parameters, -ENOTSUP if not supported.\n */\n-int __rte_experimental\n+int\n rte_rawdev_xstats_reset(uint16_t dev_id,\n \t\t\tconst uint32_t ids[],\n \t\t\tuint32_t nb_ids);\n@@ -539,7 +539,7 @@ rte_rawdev_xstats_reset(uint16_t dev_id,\n * 0 for success,\n * !0 for failure, `status_info` argument state is undefined\n */\n-int __rte_experimental\n+int\n rte_rawdev_firmware_status_get(uint16_t dev_id,\n \t\t\t rte_rawdev_obj_t status_info);\n \n@@ -557,7 +557,7 @@ rte_rawdev_firmware_status_get(uint16_t dev_id,\n * 0 for success,\n * !0 for failure, `version_info` argument state is undefined\n */\n-int __rte_experimental\n+int\n rte_rawdev_firmware_version_get(uint16_t dev_id,\n \t\t\t\trte_rawdev_obj_t version_info);\n \n@@ -574,7 +574,7 @@ rte_rawdev_firmware_version_get(uint16_t dev_id,\n * 0 for successful load\n * !0 for failure to load the provided image, or image incorrect.\n */\n-int __rte_experimental\n+int\n rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image);\n \n /**\n@@ -586,7 +586,7 @@ rte_rawdev_firmware_load(uint16_t dev_id, rte_rawdev_obj_t firmware_image);\n * 0 for successful Unload\n * !0 for failure in unloading\n */\n-int __rte_experimental\n+int\n rte_rawdev_firmware_unload(uint16_t dev_id);\n \n /**\n@@ -599,7 +599,7 @@ rte_rawdev_firmware_unload(uint16_t dev_id);\n * - -ENOTSUP if the device doesn't support selftest\n * - other values < 0 on failure.\n */\n-int __rte_experimental\n+int\n rte_rawdev_selftest(uint16_t dev_id);\n \n #ifdef __cplusplus\ndiff --git a/lib/librte_rawdev/rte_rawdev_pmd.h b/lib/librte_rawdev/rte_rawdev_pmd.h\nindex 408adf0fd..6d6cf14a1 100644\n--- a/lib/librte_rawdev/rte_rawdev_pmd.h\n+++ b/lib/librte_rawdev/rte_rawdev_pmd.h\n@@ -556,7 +556,7 @@ struct rte_rawdev_ops {\n * @return\n * - Slot in the rte_dev_devices array for a new device;\n */\n-struct rte_rawdev * __rte_experimental\n+struct rte_rawdev *\n rte_rawdev_pmd_allocate(const char *name, size_t dev_private_size,\n \t\t\tint socket_id);\n \n@@ -568,7 +568,7 @@ rte_rawdev_pmd_allocate(const char *name, size_t dev_private_size,\n * @return\n * - 0 on success, negative on error\n */\n-int __rte_experimental\n+int\n rte_rawdev_pmd_release(struct rte_rawdev *rawdev);\n \n /**\n@@ -585,7 +585,7 @@ rte_rawdev_pmd_release(struct rte_rawdev *rawdev);\n * - Raw device pointer if device is successfully created.\n * - NULL if device cannot be created.\n */\n-struct rte_rawdev * __rte_experimental\n+struct rte_rawdev *\n rte_rawdev_pmd_init(const char *name, size_t dev_private_size,\n \t\t int socket_id);\n \n@@ -597,7 +597,7 @@ rte_rawdev_pmd_init(const char *name, size_t dev_private_size,\n * @return\n * - 0 on success, negative on error\n */\n-int __rte_experimental\n+int\n rte_rawdev_pmd_uninit(const char *name);\n \n #ifdef __cplusplus\ndiff --git a/lib/librte_rawdev/rte_rawdev_version.map b/lib/librte_rawdev/rte_rawdev_version.map\nindex af4465e26..f5be52df9 100644\n--- a/lib/librte_rawdev/rte_rawdev_version.map\n+++ b/lib/librte_rawdev/rte_rawdev_version.map\n@@ -1,4 +1,4 @@\n-EXPERIMENTAL {\n+DPDK_18.08 {\n \tglobal:\n \n \trte_rawdev_close;\n", "prefixes": [] }{ "id": 41138, "url": "