get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 69148,
    "url": "https://patches.dpdk.org/api/patches/69148/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200422190349.3768487-29-jerinj@marvell.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<20200422190349.3768487-29-jerinj@marvell.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200422190349.3768487-29-jerinj@marvell.com",
    "date": "2020-04-22T19:03:45",
    "name": "[v7,28/32] ethdev: add tracepoints",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e3cd24b246d63999bcf5d46c4b651a888110f98f",
    "submitter": {
        "id": 1188,
        "url": "https://patches.dpdk.org/api/people/1188/?format=api",
        "name": "Jerin Jacob Kollanukkaran",
        "email": "jerinj@marvell.com"
    },
    "delegate": {
        "id": 24651,
        "url": "https://patches.dpdk.org/api/users/24651/?format=api",
        "username": "dmarchand",
        "first_name": "David",
        "last_name": "Marchand",
        "email": "david.marchand@redhat.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200422190349.3768487-29-jerinj@marvell.com/mbox/",
    "series": [
        {
            "id": 9574,
            "url": "https://patches.dpdk.org/api/series/9574/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=9574",
            "date": "2020-04-22T19:03:17",
            "name": "DPDK Trace support",
            "version": 7,
            "mbox": "https://patches.dpdk.org/series/9574/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/69148/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/69148/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id D5542A00C2;\n\tWed, 22 Apr 2020 21:08:53 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id AA7091D6D8;\n\tWed, 22 Apr 2020 21:05:54 +0200 (CEST)",
            "from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com\n [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id A35C21D6B5\n for <dev@dpdk.org>; Wed, 22 Apr 2020 21:05:49 +0200 (CEST)",
            "from pps.filterd (m0045849.ppops.net [127.0.0.1])\n by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id\n 03MJ5YSd020005; Wed, 22 Apr 2020 12:05:47 -0700",
            "from sc-exch02.marvell.com ([199.233.58.182])\n by mx0a-0016f401.pphosted.com with ESMTP id 30fxwpk04h-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT);\n Wed, 22 Apr 2020 12:05:46 -0700",
            "from DC5-EXCH01.marvell.com (10.69.176.38) by SC-EXCH02.marvell.com\n (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1497.2;\n Wed, 22 Apr 2020 12:05:44 -0700",
            "from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com\n (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.2 via Frontend\n Transport; Wed, 22 Apr 2020 12:05:45 -0700",
            "from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14])\n by maili.marvell.com (Postfix) with ESMTP id C61383F7043;\n Wed, 22 Apr 2020 12:05:36 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com;\n h=from : to : cc :\n subject : date : message-id : in-reply-to : references : mime-version :\n content-transfer-encoding : content-type; s=pfpt0818;\n bh=V9FzPuWm+iHLsIxwtjeu3rG2GqL9yU0yeIHWG621s88=;\n b=THmmanpvKarLGFgS69c6h7j86tb4IkGVlp8q66QfImKYzZFASyz1v6bpfrOiTA7hx1EU\n Urxc/a5mG5LpLpIsMkX6mTUvenKYfm53U0a2kJEHwYTavtbPJFwRGmFyKw7caa0TV+Yb\n iBQKnbJRzEMn1l0rUaAj98kk0uf8vHxrRy2Ee/EwNXGp7uLKbW0wT7ZB/x03pE0pAM2k\n 8U3qIrnMfe5H1VoSy/CPeMM4eJZDFCnPUYh0cdFsU7aaOMmd30xsh6ZfABBSDp+pk4HL\n 8ZmQzzR/lOs3mPELfXzkbtOZCoxuUIyoS62a3cxZhRiwXtvUHUbN0ttZVT/nTy/VosUw zA==",
        "From": "<jerinj@marvell.com>",
        "To": "Olivier Matz <olivier.matz@6wind.com>, David Hunt <david.hunt@intel.com>,\n Marko Kovacevic <marko.kovacevic@intel.com>, Ori Kam <orika@mellanox.com>,\n Bruce Richardson <bruce.richardson@intel.com>, Radu Nicolau\n <radu.nicolau@intel.com>, Akhil Goyal <akhil.goyal@nxp.com>,\n Tomasz Kantecki <tomasz.kantecki@intel.com>,\n Sunil Kumar Kori <skori@marvell.com>, \"Pavan\n Nikhilesh\" <pbhagavatula@marvell.com>, Harry van Haaren\n <harry.van.haaren@intel.com>, Konstantin Ananyev\n <konstantin.ananyev@intel.com>,\n Anatoly Burakov <anatoly.burakov@intel.com>,\n Xiaoyun Li <xiaoyun.li@intel.com>, Jingjing Wu <jingjing.wu@intel.com>,\n Reshma Pattan <reshma.pattan@intel.com>, John McNamara\n <john.mcnamara@intel.com>,\n Kirill Rybalchenko <kirill.rybalchenko@intel.com>,\n Cristian Dumitrescu <cristian.dumitrescu@intel.com>, Jasvinder Singh\n <jasvinder.singh@intel.com>, Byron Marohn <byron.marohn@intel.com>, \"Yipeng\n Wang\" <yipeng1.wang@intel.com>, Robert Sanford <rsanford@akamai.com>, \"Erik\n Gabriel Carrillo\" <erik.g.carrillo@intel.com>, Thomas Monjalon\n <thomas@monjalon.net>, Ferruh Yigit <ferruh.yigit@intel.com>, \"Andrew\n Rybchenko\" <arybchenko@solarflare.com>",
        "CC": "<dev@dpdk.org>, <david.marchand@redhat.com>,\n <mattias.ronnblom@ericsson.com>",
        "Date": "Thu, 23 Apr 2020 00:33:45 +0530",
        "Message-ID": "<20200422190349.3768487-29-jerinj@marvell.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20200422190349.3768487-1-jerinj@marvell.com>",
        "References": "<20200419100133.3232316-1-jerinj@marvell.com>\n <20200422190349.3768487-1-jerinj@marvell.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10434:6.0.138, 18.0.676\n definitions=2020-04-22_06:2020-04-22,\n 2020-04-22 signatures=0",
        "Subject": "[dpdk-dev]  [PATCH v7 28/32] ethdev: add tracepoints",
        "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 <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Sunil Kumar Kori <skori@marvell.com>\n\nAdd tracepoints at important and mandatory APIs for tracing support.\n\nSigned-off-by: Sunil Kumar Kori <skori@marvell.com>\n---\n examples/cmdline/Makefile                     |  1 +\n examples/cmdline/meson.build                  |  1 +\n examples/distributor/Makefile                 |  1 +\n examples/distributor/meson.build              |  1 +\n examples/ethtool/ethtool-app/Makefile         |  1 +\n examples/eventdev_pipeline/meson.build        |  1 +\n examples/flow_filtering/Makefile              |  1 +\n examples/flow_filtering/meson.build           |  1 +\n examples/helloworld/Makefile                  |  1 +\n examples/helloworld/meson.build               |  1 +\n examples/ioat/Makefile                        |  1 +\n examples/ioat/meson.build                     |  1 +\n examples/ip_fragmentation/Makefile            |  2 +\n examples/ip_fragmentation/meson.build         |  1 +\n examples/ip_reassembly/Makefile               |  1 +\n examples/ip_reassembly/meson.build            |  1 +\n examples/ipv4_multicast/Makefile              |  1 +\n examples/ipv4_multicast/meson.build           |  1 +\n examples/l2fwd-cat/Makefile                   |  1 +\n examples/l2fwd-cat/meson.build                |  1 +\n examples/l2fwd-event/Makefile                 |  1 +\n examples/l2fwd-event/meson.build              |  1 +\n examples/l2fwd-jobstats/Makefile              |  1 +\n examples/l2fwd-jobstats/meson.build           |  1 +\n examples/l2fwd-keepalive/Makefile             |  1 +\n examples/l2fwd-keepalive/ka-agent/Makefile    |  1 +\n examples/l2fwd-keepalive/meson.build          |  1 +\n examples/l3fwd-acl/Makefile                   |  1 +\n examples/l3fwd-acl/meson.build                |  1 +\n examples/l3fwd/Makefile                       |  1 +\n examples/l3fwd/meson.build                    |  1 +\n examples/link_status_interrupt/Makefile       |  1 +\n examples/link_status_interrupt/meson.build    |  1 +\n .../client_server_mp/mp_client/Makefile       |  1 +\n .../client_server_mp/mp_client/meson.build    |  1 +\n .../client_server_mp/mp_server/meson.build    |  1 +\n examples/multi_process/hotplug_mp/Makefile    |  1 +\n examples/multi_process/hotplug_mp/meson.build |  1 +\n examples/multi_process/simple_mp/Makefile     |  1 +\n examples/multi_process/simple_mp/meson.build  |  1 +\n examples/multi_process/symmetric_mp/Makefile  |  1 +\n .../multi_process/symmetric_mp/meson.build    |  1 +\n examples/ntb/Makefile                         |  1 +\n examples/ntb/meson.build                      |  1 +\n examples/packet_ordering/Makefile             |  1 +\n examples/packet_ordering/meson.build          |  1 +\n .../performance-thread/l3fwd-thread/Makefile  |  1 +\n .../l3fwd-thread/meson.build                  |  1 +\n .../performance-thread/pthread_shim/Makefile  |  1 +\n .../pthread_shim/meson.build                  |  1 +\n examples/ptpclient/Makefile                   |  1 +\n examples/ptpclient/meson.build                |  1 +\n examples/qos_meter/Makefile                   |  1 +\n examples/qos_meter/meson.build                |  1 +\n examples/qos_sched/Makefile                   |  1 +\n examples/qos_sched/meson.build                |  1 +\n examples/server_node_efd/node/Makefile        |  1 +\n examples/server_node_efd/node/meson.build     |  1 +\n examples/server_node_efd/server/Makefile      |  1 +\n examples/server_node_efd/server/meson.build   |  1 +\n examples/service_cores/Makefile               |  1 +\n examples/service_cores/meson.build            |  1 +\n examples/skeleton/Makefile                    |  1 +\n examples/skeleton/meson.build                 |  1 +\n examples/timer/Makefile                       |  1 +\n examples/timer/meson.build                    |  1 +\n examples/vm_power_manager/Makefile            |  1 +\n examples/vm_power_manager/meson.build         |  1 +\n examples/vmdq/Makefile                        |  1 +\n examples/vmdq/meson.build                     |  1 +\n examples/vmdq_dcb/Makefile                    |  1 +\n examples/vmdq_dcb/meson.build                 |  1 +\n lib/librte_ethdev/Makefile                    |  3 +\n lib/librte_ethdev/ethdev_trace_points.c       | 43 ++++++++\n lib/librte_ethdev/meson.build                 |  5 +-\n lib/librte_ethdev/rte_ethdev.c                | 12 +++\n lib/librte_ethdev/rte_ethdev.h                |  5 +\n lib/librte_ethdev/rte_ethdev_trace.h          | 97 +++++++++++++++++++\n lib/librte_ethdev/rte_ethdev_trace_fp.h       | 44 +++++++++\n lib/librte_ethdev/rte_ethdev_version.map      | 10 ++\n 80 files changed, 291 insertions(+), 1 deletion(-)\n create mode 100644 lib/librte_ethdev/ethdev_trace_points.c\n create mode 100644 lib/librte_ethdev/rte_ethdev_trace.h\n create mode 100644 lib/librte_ethdev/rte_ethdev_trace_fp.h",
    "diff": "diff --git a/examples/cmdline/Makefile b/examples/cmdline/Makefile\nindex 0b6b54540..9a33355d0 100644\n--- a/examples/cmdline/Makefile\n+++ b/examples/cmdline/Makefile\n@@ -57,6 +57,7 @@ SRCS-y := main.c commands.c parse_obj_list.c\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/cmdline/meson.build b/examples/cmdline/meson.build\nindex a8608c21a..7de0f1625 100644\n--- a/examples/cmdline/meson.build\n+++ b/examples/cmdline/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'commands.c', 'main.c', 'parse_obj_list.c'\n )\ndiff --git a/examples/distributor/Makefile b/examples/distributor/Makefile\nindex 4192d8a4a..63c14dfca 100644\n--- a/examples/distributor/Makefile\n+++ b/examples/distributor/Makefile\n@@ -50,6 +50,7 @@ RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.conf\n include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/distributor/meson.build b/examples/distributor/meson.build\nindex 26f108d65..9fec7f883 100644\n--- a/examples/distributor/meson.build\n+++ b/examples/distributor/meson.build\n@@ -9,6 +9,7 @@\n # require the power library\n build = dpdk_conf.has('RTE_LIBRTE_POWER')\n \n+allow_experimental_apis = true\n deps += ['distributor', 'power']\n sources = files(\n \t'main.c'\ndiff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile\nindex 3543bdee0..20ac0d324 100644\n--- a/examples/ethtool/ethtool-app/Makefile\n+++ b/examples/ethtool/ethtool-app/Makefile\n@@ -18,6 +18,7 @@ SRCS-y := main.c ethapp.c\n \n CFLAGS += -O3 -pthread -I$(SRCDIR)/../lib\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib\n LDLIBS += -lrte_ethtool\ndiff --git a/examples/eventdev_pipeline/meson.build b/examples/eventdev_pipeline/meson.build\nindex a54c35aa7..1dfeba0d3 100644\n--- a/examples/eventdev_pipeline/meson.build\n+++ b/examples/eventdev_pipeline/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += 'eventdev'\n sources = files(\n \t'main.c',\ndiff --git a/examples/flow_filtering/Makefile b/examples/flow_filtering/Makefile\nindex 6c51c0b7a..e0d546de9 100644\n--- a/examples/flow_filtering/Makefile\n+++ b/examples/flow_filtering/Makefile\n@@ -49,6 +49,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/flow_filtering/meson.build b/examples/flow_filtering/meson.build\nindex 407795c42..6f5d1b08a 100644\n--- a/examples/flow_filtering/meson.build\n+++ b/examples/flow_filtering/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c',\n )\ndiff --git a/examples/helloworld/Makefile b/examples/helloworld/Makefile\nindex 16d82b02f..0f5af0806 100644\n--- a/examples/helloworld/Makefile\n+++ b/examples/helloworld/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/helloworld/meson.build b/examples/helloworld/meson.build\nindex c34e11e36..2b0a25036 100644\n--- a/examples/helloworld/meson.build\n+++ b/examples/helloworld/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c'\n )\ndiff --git a/examples/ioat/Makefile b/examples/ioat/Makefile\nindex ef63f5d68..9b277eb7b 100644\n--- a/examples/ioat/Makefile\n+++ b/examples/ioat/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/ioat/meson.build b/examples/ioat/meson.build\nindex ed8328963..f72cf70e7 100644\n--- a/examples/ioat/meson.build\n+++ b/examples/ioat/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n build = dpdk_conf.has('RTE_LIBRTE_PMD_IOAT_RAWDEV')\n \n deps += ['rawdev_ioat']\ndiff --git a/examples/ip_fragmentation/Makefile b/examples/ip_fragmentation/Makefile\nindex ede0c4f02..8babbbf82 100644\n--- a/examples/ip_fragmentation/Makefile\n+++ b/examples/ip_fragmentation/Makefile\n@@ -22,6 +22,7 @@ PKGCONF ?= pkg-config\n \n PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null)\n CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk)\n LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk)\n \n@@ -52,6 +53,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/ip_fragmentation/meson.build b/examples/ip_fragmentation/meson.build\nindex 304203eed..1230db477 100644\n--- a/examples/ip_fragmentation/meson.build\n+++ b/examples/ip_fragmentation/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps +=  ['ip_frag', 'lpm']\n sources = files(\n \t'main.c'\ndiff --git a/examples/ip_reassembly/Makefile b/examples/ip_reassembly/Makefile\nindex 3f2888b33..11be2a74a 100644\n--- a/examples/ip_reassembly/Makefile\n+++ b/examples/ip_reassembly/Makefile\n@@ -52,6 +52,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/ip_reassembly/meson.build b/examples/ip_reassembly/meson.build\nindex 8ebd48291..517bd4e19 100644\n--- a/examples/ip_reassembly/meson.build\n+++ b/examples/ip_reassembly/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += ['lpm', 'ip_frag']\n sources = files(\n \t'main.c'\ndiff --git a/examples/ipv4_multicast/Makefile b/examples/ipv4_multicast/Makefile\nindex 92d3db0f4..b9f0813ed 100644\n--- a/examples/ipv4_multicast/Makefile\n+++ b/examples/ipv4_multicast/Makefile\n@@ -52,6 +52,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/ipv4_multicast/meson.build b/examples/ipv4_multicast/meson.build\nindex d9e4c7c21..7dc13fb8f 100644\n--- a/examples/ipv4_multicast/meson.build\n+++ b/examples/ipv4_multicast/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += 'hash'\n sources = files(\n \t'main.c'\ndiff --git a/examples/l2fwd-cat/Makefile b/examples/l2fwd-cat/Makefile\nindex b0e53c37e..ca1202be1 100644\n--- a/examples/l2fwd-cat/Makefile\n+++ b/examples/l2fwd-cat/Makefile\n@@ -56,6 +56,7 @@ RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.conf\n include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/l2fwd-cat/meson.build b/examples/l2fwd-cat/meson.build\nindex 4e2777a03..2bed18e74 100644\n--- a/examples/l2fwd-cat/meson.build\n+++ b/examples/l2fwd-cat/meson.build\n@@ -9,6 +9,7 @@\n pqos = cc.find_library('pqos', required: false)\n build = pqos.found()\n ext_deps += pqos\n+allow_experimental_apis = true\n cflags += '-I/usr/local/include' # assume pqos lib installed in /usr/local\n sources = files(\n \t'cat.c', 'l2fwd-cat.c'\ndiff --git a/examples/l2fwd-event/Makefile b/examples/l2fwd-event/Makefile\nindex 4cdae36f1..807f7f1b8 100644\n--- a/examples/l2fwd-event/Makefile\n+++ b/examples/l2fwd-event/Makefile\n@@ -57,6 +57,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/l2fwd-event/meson.build b/examples/l2fwd-event/meson.build\nindex 4e9a069d6..4a546eaf8 100644\n--- a/examples/l2fwd-event/meson.build\n+++ b/examples/l2fwd-event/meson.build\n@@ -7,6 +7,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += 'eventdev'\n sources = files(\n \t'main.c',\ndiff --git a/examples/l2fwd-jobstats/Makefile b/examples/l2fwd-jobstats/Makefile\nindex 73c91faa8..6cd9dcd9c 100644\n--- a/examples/l2fwd-jobstats/Makefile\n+++ b/examples/l2fwd-jobstats/Makefile\n@@ -52,6 +52,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/l2fwd-jobstats/meson.build b/examples/l2fwd-jobstats/meson.build\nindex 1ffd484e2..72273736b 100644\n--- a/examples/l2fwd-jobstats/meson.build\n+++ b/examples/l2fwd-jobstats/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += ['jobstats', 'timer']\n sources = files(\n \t'main.c'\ndiff --git a/examples/l2fwd-keepalive/Makefile b/examples/l2fwd-keepalive/Makefile\nindex 94d1e58bb..0db5e6015 100644\n--- a/examples/l2fwd-keepalive/Makefile\n+++ b/examples/l2fwd-keepalive/Makefile\n@@ -53,6 +53,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n LDFLAGS += -lrt\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/l2fwd-keepalive/ka-agent/Makefile b/examples/l2fwd-keepalive/ka-agent/Makefile\nindex 755e47438..8d5061b17 100644\n--- a/examples/l2fwd-keepalive/ka-agent/Makefile\n+++ b/examples/l2fwd-keepalive/ka-agent/Makefile\n@@ -17,5 +17,6 @@ APP = ka-agent\n SRCS-y := main.c\n \n CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)/../\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n LDFLAGS += -lrt\n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/l2fwd-keepalive/meson.build b/examples/l2fwd-keepalive/meson.build\nindex 6f7b007e1..d678a8ddd 100644\n--- a/examples/l2fwd-keepalive/meson.build\n+++ b/examples/l2fwd-keepalive/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n ext_deps += cc.find_library('rt')\n deps += 'timer'\n sources = files(\ndiff --git a/examples/l3fwd-acl/Makefile b/examples/l3fwd-acl/Makefile\nindex d9909584b..9f31abef8 100644\n--- a/examples/l3fwd-acl/Makefile\n+++ b/examples/l3fwd-acl/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/l3fwd-acl/meson.build b/examples/l3fwd-acl/meson.build\nindex 7096e00c1..6fa468b3a 100644\n--- a/examples/l3fwd-acl/meson.build\n+++ b/examples/l3fwd-acl/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += ['acl', 'lpm', 'hash']\n sources = files(\n \t'main.c'\ndiff --git a/examples/l3fwd/Makefile b/examples/l3fwd/Makefile\nindex 59a110d12..839439f0f 100644\n--- a/examples/l3fwd/Makefile\n+++ b/examples/l3fwd/Makefile\n@@ -53,6 +53,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n CFLAGS += -I$(SRCDIR)\n CFLAGS += -O3 $(USER_FLAGS)\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/l3fwd/meson.build b/examples/l3fwd/meson.build\nindex ebed3b518..7d72b1b36 100644\n--- a/examples/l3fwd/meson.build\n+++ b/examples/l3fwd/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += ['hash', 'lpm', 'eventdev']\n sources = files(\n \t'l3fwd_em.c', 'l3fwd_lpm.c', 'l3fwd_event.c',\ndiff --git a/examples/link_status_interrupt/Makefile b/examples/link_status_interrupt/Makefile\nindex 4f02a8901..613bb1167 100644\n--- a/examples/link_status_interrupt/Makefile\n+++ b/examples/link_status_interrupt/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/link_status_interrupt/meson.build b/examples/link_status_interrupt/meson.build\nindex c34e11e36..2b0a25036 100644\n--- a/examples/link_status_interrupt/meson.build\n+++ b/examples/link_status_interrupt/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c'\n )\ndiff --git a/examples/multi_process/client_server_mp/mp_client/Makefile b/examples/multi_process/client_server_mp/mp_client/Makefile\nindex 298e1b020..7c447feba 100644\n--- a/examples/multi_process/client_server_mp/mp_client/Makefile\n+++ b/examples/multi_process/client_server_mp/mp_client/Makefile\n@@ -16,5 +16,6 @@ SRCS-y := client.c\n \n CFLAGS += $(WERROR_FLAGS) -O3\n CFLAGS += -I$(SRCDIR)/../shared\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/multi_process/client_server_mp/mp_client/meson.build b/examples/multi_process/client_server_mp/mp_client/meson.build\nindex a6241b83a..69c3d3bfb 100644\n--- a/examples/multi_process/client_server_mp/mp_client/meson.build\n+++ b/examples/multi_process/client_server_mp/mp_client/meson.build\n@@ -8,6 +8,7 @@\n \n includes += include_directories('../shared')\n \n+allow_experimental_apis = true\n sources = files(\n \t'client.c'\n )\ndiff --git a/examples/multi_process/client_server_mp/mp_server/meson.build b/examples/multi_process/client_server_mp/mp_server/meson.build\nindex 1b2f78638..0ef6424f4 100644\n--- a/examples/multi_process/client_server_mp/mp_server/meson.build\n+++ b/examples/multi_process/client_server_mp/mp_server/meson.build\n@@ -8,6 +8,7 @@\n \n includes += include_directories('../shared')\n \n+allow_experimental_apis = true\n sources = files(\n \t'args.c', 'init.c', 'main.c'\n )\ndiff --git a/examples/multi_process/hotplug_mp/Makefile b/examples/multi_process/hotplug_mp/Makefile\nindex 3ff74d52a..1fd7aa085 100644\n--- a/examples/multi_process/hotplug_mp/Makefile\n+++ b/examples/multi_process/hotplug_mp/Makefile\n@@ -18,5 +18,6 @@ SRCS-y := main.c commands.c\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/multi_process/hotplug_mp/meson.build b/examples/multi_process/hotplug_mp/meson.build\nindex 076f4e3dc..f82f4d48a 100644\n--- a/examples/multi_process/hotplug_mp/meson.build\n+++ b/examples/multi_process/hotplug_mp/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'commands.c', 'main.c'\n )\ndiff --git a/examples/multi_process/simple_mp/Makefile b/examples/multi_process/simple_mp/Makefile\nindex 4c0764451..f88b499bd 100644\n--- a/examples/multi_process/simple_mp/Makefile\n+++ b/examples/multi_process/simple_mp/Makefile\n@@ -18,5 +18,6 @@ SRCS-y := main.c mp_commands.c\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/multi_process/simple_mp/meson.build b/examples/multi_process/simple_mp/meson.build\nindex b2261e00e..cb02c65a6 100644\n--- a/examples/multi_process/simple_mp/meson.build\n+++ b/examples/multi_process/simple_mp/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'mp_commands.c', 'main.c'\n )\ndiff --git a/examples/multi_process/symmetric_mp/Makefile b/examples/multi_process/symmetric_mp/Makefile\nindex bdc415621..b7544489b 100644\n--- a/examples/multi_process/symmetric_mp/Makefile\n+++ b/examples/multi_process/symmetric_mp/Makefile\n@@ -18,5 +18,6 @@ SRCS-y := main.c\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/multi_process/symmetric_mp/meson.build b/examples/multi_process/symmetric_mp/meson.build\nindex 458f83642..14167825b 100644\n--- a/examples/multi_process/symmetric_mp/meson.build\n+++ b/examples/multi_process/symmetric_mp/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c'\n )\ndiff --git a/examples/ntb/Makefile b/examples/ntb/Makefile\nindex baeba11e8..f2920ed54 100644\n--- a/examples/ntb/Makefile\n+++ b/examples/ntb/Makefile\n@@ -25,6 +25,7 @@ LDFLAGS += -pthread\n \n PC_FILE := $(shell $(PKGCONF) --path libdpdk 2>/dev/null)\n CFLAGS += -O3 $(shell $(PKGCONF) --cflags libdpdk)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n LDFLAGS_SHARED = $(shell $(PKGCONF) --libs libdpdk)\n LDFLAGS_STATIC = -Wl,-Bstatic $(shell $(PKGCONF) --static --libs libdpdk)\n \ndiff --git a/examples/ntb/meson.build b/examples/ntb/meson.build\nindex f5435fe12..ab449d093 100644\n--- a/examples/ntb/meson.build\n+++ b/examples/ntb/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n if host_machine.system() != 'linux'\n \tbuild = false\n endif\ndiff --git a/examples/packet_ordering/Makefile b/examples/packet_ordering/Makefile\nindex 261b7f06a..f5b68c97e 100644\n--- a/examples/packet_ordering/Makefile\n+++ b/examples/packet_ordering/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n endif\ndiff --git a/examples/packet_ordering/meson.build b/examples/packet_ordering/meson.build\nindex 6c2fccdcb..b38195914 100644\n--- a/examples/packet_ordering/meson.build\n+++ b/examples/packet_ordering/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += 'reorder'\n sources = files(\n \t'main.c'\ndiff --git a/examples/performance-thread/l3fwd-thread/Makefile b/examples/performance-thread/l3fwd-thread/Makefile\nindex b14b21e30..c6cf05a43 100644\n--- a/examples/performance-thread/l3fwd-thread/Makefile\n+++ b/examples/performance-thread/l3fwd-thread/Makefile\n@@ -19,5 +19,6 @@ SRCS-y := main.c\n include $(RTE_SDK)/examples/performance-thread/common/common.mk\n \n CFLAGS += -O3 -g $(USER_FLAGS) $(INCLUDES) $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/performance-thread/l3fwd-thread/meson.build b/examples/performance-thread/l3fwd-thread/meson.build\nindex 185fa59a4..99de24be7 100644\n--- a/examples/performance-thread/l3fwd-thread/meson.build\n+++ b/examples/performance-thread/l3fwd-thread/meson.build\n@@ -8,6 +8,7 @@\n \n build = dpdk_conf.has('RTE_ARCH_X86_64')\n deps += ['timer', 'lpm']\n+allow_experimental_apis = true\n \n # get the performance thread (pt) architecture subdir\n if dpdk_conf.has('RTE_ARCH_ARM64')\ndiff --git a/examples/performance-thread/pthread_shim/Makefile b/examples/performance-thread/pthread_shim/Makefile\nindex efd66febf..cdadf2cb7 100644\n--- a/examples/performance-thread/pthread_shim/Makefile\n+++ b/examples/performance-thread/pthread_shim/Makefile\n@@ -20,6 +20,7 @@ include $(RTE_SDK)/examples/performance-thread/common/common.mk\n \n CFLAGS += -g -O3 $(USER_FLAGS) $(INCLUDES)\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n LDFLAGS += -lpthread\n \ndiff --git a/examples/performance-thread/pthread_shim/meson.build b/examples/performance-thread/pthread_shim/meson.build\nindex 393fbd122..26ef78635 100644\n--- a/examples/performance-thread/pthread_shim/meson.build\n+++ b/examples/performance-thread/pthread_shim/meson.build\n@@ -8,6 +8,7 @@\n \n build = dpdk_conf.has('RTE_ARCH_X86_64') or dpdk_conf.has('RTE_ARCH_ARM64')\n deps += ['timer']\n+allow_experimental_apis = true\n \n # get the performance thread (pt) architecture subdir\n if dpdk_conf.has('RTE_ARCH_ARM64')\ndiff --git a/examples/ptpclient/Makefile b/examples/ptpclient/Makefile\nindex 82d72b3e3..7cd36632a 100644\n--- a/examples/ptpclient/Makefile\n+++ b/examples/ptpclient/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/ptpclient/meson.build b/examples/ptpclient/meson.build\nindex fa0cbe93c..d4171a218 100644\n--- a/examples/ptpclient/meson.build\n+++ b/examples/ptpclient/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'ptpclient.c'\n )\ndiff --git a/examples/qos_meter/Makefile b/examples/qos_meter/Makefile\nindex 7c2bf88a9..90e3533d1 100644\n--- a/examples/qos_meter/Makefile\n+++ b/examples/qos_meter/Makefile\n@@ -53,6 +53,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/qos_meter/meson.build b/examples/qos_meter/meson.build\nindex ef7779f2f..2f9ab13af 100644\n--- a/examples/qos_meter/meson.build\n+++ b/examples/qos_meter/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += 'meter'\n sources = files(\n \t'main.c', 'rte_policer.c'\ndiff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile\nindex 525061ca0..92e3de79b 100644\n--- a/examples/qos_sched/Makefile\n+++ b/examples/qos_sched/Makefile\n@@ -58,6 +58,7 @@ else\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\n \ndiff --git a/examples/qos_sched/meson.build b/examples/qos_sched/meson.build\nindex 289b81ce8..ba59d3c9e 100644\n--- a/examples/qos_sched/meson.build\n+++ b/examples/qos_sched/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += ['sched', 'cfgfile']\n sources = files(\n \t'app_thread.c', 'args.c', 'cfg_file.c', 'cmdline.c',\ndiff --git a/examples/server_node_efd/node/Makefile b/examples/server_node_efd/node/Makefile\nindex fffbe3576..ecc551e1d 100644\n--- a/examples/server_node_efd/node/Makefile\n+++ b/examples/server_node_efd/node/Makefile\n@@ -16,5 +16,6 @@ SRCS-y := node.c\n \n CFLAGS += $(WERROR_FLAGS) -O3\n CFLAGS += -I$(SRCDIR)/../shared\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/server_node_efd/node/meson.build b/examples/server_node_efd/node/meson.build\nindex 30f28761f..1c720968a 100644\n--- a/examples/server_node_efd/node/meson.build\n+++ b/examples/server_node_efd/node/meson.build\n@@ -8,6 +8,7 @@\n \n name = 'efd_node'\n \n+allow_experimental_apis = true\n deps += ['hash']\n sources += files('node.c')\n includes += include_directories('../shared')\ndiff --git a/examples/server_node_efd/server/Makefile b/examples/server_node_efd/server/Makefile\nindex 4837bd3ea..acbd12ae2 100644\n--- a/examples/server_node_efd/server/Makefile\n+++ b/examples/server_node_efd/server/Makefile\n@@ -25,5 +25,6 @@ INC := $(sort $(wildcard *.h))\n \n CFLAGS += $(WERROR_FLAGS) -O3\n CFLAGS += -I$(SRCDIR)/../shared\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n include $(RTE_SDK)/mk/rte.extapp.mk\ndiff --git a/examples/server_node_efd/server/meson.build b/examples/server_node_efd/server/meson.build\nindex 23e08d1ae..7abc333e1 100644\n--- a/examples/server_node_efd/server/meson.build\n+++ b/examples/server_node_efd/server/meson.build\n@@ -8,6 +8,7 @@\n \n name = 'efd_server'\n \n+allow_experimental_apis = true\n deps += 'efd'\n sources += files('args.c', 'init.c', 'main.c')\n includes += include_directories('../shared')\ndiff --git a/examples/service_cores/Makefile b/examples/service_cores/Makefile\nindex c47055813..aac207bd9 100644\n--- a/examples/service_cores/Makefile\n+++ b/examples/service_cores/Makefile\n@@ -50,6 +50,7 @@ RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.conf\n include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/service_cores/meson.build b/examples/service_cores/meson.build\nindex c34e11e36..2b0a25036 100644\n--- a/examples/service_cores/meson.build\n+++ b/examples/service_cores/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c'\n )\ndiff --git a/examples/skeleton/Makefile b/examples/skeleton/Makefile\nindex 2c29004d7..2612688c0 100644\n--- a/examples/skeleton/Makefile\n+++ b/examples/skeleton/Makefile\n@@ -50,6 +50,7 @@ RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.conf\n include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/skeleton/meson.build b/examples/skeleton/meson.build\nindex 9bb9ec329..ef46b187e 100644\n--- a/examples/skeleton/meson.build\n+++ b/examples/skeleton/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'basicfwd.c'\n )\ndiff --git a/examples/timer/Makefile b/examples/timer/Makefile\nindex bf86339ab..e58e90a28 100644\n--- a/examples/timer/Makefile\n+++ b/examples/timer/Makefile\n@@ -51,6 +51,7 @@ include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += -O3\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/timer/meson.build b/examples/timer/meson.build\nindex c3d901637..87c21a867 100644\n--- a/examples/timer/meson.build\n+++ b/examples/timer/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n deps += 'timer'\n sources = files(\n \t'main.c'\ndiff --git a/examples/vm_power_manager/Makefile b/examples/vm_power_manager/Makefile\nindex 2fdb991d7..65c2ad179 100644\n--- a/examples/vm_power_manager/Makefile\n+++ b/examples/vm_power_manager/Makefile\n@@ -28,6 +28,7 @@ endif\n \n CFLAGS += -O3 -I$(RTE_SDK)/lib/librte_power/\n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n LDLIBS += -lvirt\n \ndiff --git a/examples/vm_power_manager/meson.build b/examples/vm_power_manager/meson.build\nindex 20a4a05b3..54e2b584f 100644\n--- a/examples/vm_power_manager/meson.build\n+++ b/examples/vm_power_manager/meson.build\n@@ -25,6 +25,7 @@ if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD')\n \tdeps += ['pmd_ixgbe']\n endif\n \n+allow_experimental_apis = true\n sources = files(\n \t'channel_manager.c', 'channel_monitor.c', 'main.c', 'parse.c', 'power_manager.c', 'vm_power_cli.c'\n )\ndiff --git a/examples/vmdq/Makefile b/examples/vmdq/Makefile\nindex 0767c715a..98e644fa7 100644\n--- a/examples/vmdq/Makefile\n+++ b/examples/vmdq/Makefile\n@@ -50,6 +50,7 @@ RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.conf\n include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n EXTRA_CFLAGS += -O3\n \ndiff --git a/examples/vmdq/meson.build b/examples/vmdq/meson.build\nindex c34e11e36..2b0a25036 100644\n--- a/examples/vmdq/meson.build\n+++ b/examples/vmdq/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c'\n )\ndiff --git a/examples/vmdq_dcb/Makefile b/examples/vmdq_dcb/Makefile\nindex 2a9b04143..3eb7c9f43 100644\n--- a/examples/vmdq_dcb/Makefile\n+++ b/examples/vmdq_dcb/Makefile\n@@ -50,6 +50,7 @@ RTE_TARGET ?= $(notdir $(abspath $(dir $(firstword $(wildcard $(RTE_SDK)/*/.conf\n include $(RTE_SDK)/mk/rte.vars.mk\n \n CFLAGS += $(WERROR_FLAGS)\n+CFLAGS += -DALLOW_EXPERIMENTAL_API\n \n # workaround for a gcc bug with noreturn attribute\n # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12603\ndiff --git a/examples/vmdq_dcb/meson.build b/examples/vmdq_dcb/meson.build\nindex c34e11e36..2b0a25036 100644\n--- a/examples/vmdq_dcb/meson.build\n+++ b/examples/vmdq_dcb/meson.build\n@@ -6,6 +6,7 @@\n # To build this example as a standalone application with an already-installed\n # DPDK instance, use 'make'\n \n+allow_experimental_apis = true\n sources = files(\n \t'main.c'\n )\ndiff --git a/lib/librte_ethdev/Makefile b/lib/librte_ethdev/Makefile\nindex 943fb8c87..a11db1c53 100644\n--- a/lib/librte_ethdev/Makefile\n+++ b/lib/librte_ethdev/Makefile\n@@ -22,6 +22,7 @@ SRCS-y += rte_flow.c\n SRCS-y += rte_tm.c\n SRCS-y += rte_mtr.c\n SRCS-y += ethdev_profile.c\n+SRCS-y += ethdev_trace_points.c\n \n #\n # Export include files\n@@ -39,5 +40,7 @@ SYMLINK-y-include += rte_tm.h\n SYMLINK-y-include += rte_tm_driver.h\n SYMLINK-y-include += rte_mtr.h\n SYMLINK-y-include += rte_mtr_driver.h\n+SYMLINK-y-include += rte_ethdev_trace.h\n+SYMLINK-y-include += rte_ethdev_trace_fp.h\n \n include $(RTE_SDK)/mk/rte.lib.mk\ndiff --git a/lib/librte_ethdev/ethdev_trace_points.c b/lib/librte_ethdev/ethdev_trace_points.c\nnew file mode 100644\nindex 000000000..e180a7ad5\n--- /dev/null\n+++ b/lib/librte_ethdev/ethdev_trace_points.c\n@@ -0,0 +1,43 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2020 Marvell International Ltd.\n+ */\n+\n+#define RTE_TRACE_POINT_REGISTER_SELECT /* Select trace point register macros */\n+\n+#include <rte_ethdev_trace.h>\n+\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_configure);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_rxq_setup);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_txq_setup);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_start);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_stop);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_close);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_rx_burst);\n+RTE_TRACE_POINT_DEFINE(rte_ethdev_trace_tx_burst);\n+\n+RTE_INIT(ethdev_trace_init)\n+{\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_configure,\n+\t\t\t\t lib.ethdev.configure);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rxq_setup,\n+\t\t\t\t lib.ethdev.rxq.setup);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_txq_setup,\n+\t\t\t\t lib.ethdev.txq.setup);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_start,\n+\t\t\t\t lib.ethdev.start);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_stop,\n+\t\t\t\t lib.ethdev.stop);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_close,\n+\t\t\t\t lib.ethdev.close);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_rx_burst,\n+\t\t\t\t lib.ethdev.rx.burst);\n+\n+\tRTE_TRACE_POINT_REGISTER(rte_ethdev_trace_tx_burst,\n+\t\t\t\t lib.ethdev.tx.burst);\n+}\ndiff --git a/lib/librte_ethdev/meson.build b/lib/librte_ethdev/meson.build\nindex ab341d9c0..ebd9f8d70 100644\n--- a/lib/librte_ethdev/meson.build\n+++ b/lib/librte_ethdev/meson.build\n@@ -4,6 +4,7 @@\n name = 'ethdev'\n sources = files('ethdev_private.c',\n \t'ethdev_profile.c',\n+\t'ethdev_trace_points.c',\n \t'rte_class_eth.c',\n \t'rte_ethdev.c',\n \t'rte_flow.c',\n@@ -22,6 +23,8 @@ headers = files('rte_ethdev.h',\n \t'rte_mtr.h',\n \t'rte_mtr_driver.h',\n \t'rte_tm.h',\n-\t'rte_tm_driver.h')\n+\t'rte_tm_driver.h',\n+\t'rte_ethdev_trace.h',\n+\t'rte_ethdev_trace_fp.h')\n \n deps += ['net', 'kvargs', 'meter']\ndiff --git a/lib/librte_ethdev/rte_ethdev.c b/lib/librte_ethdev/rte_ethdev.c\nindex 0854ef883..394154c77 100644\n--- a/lib/librte_ethdev/rte_ethdev.c\n+++ b/lib/librte_ethdev/rte_ethdev.c\n@@ -39,6 +39,7 @@\n #include <rte_class.h>\n #include <rte_ether.h>\n \n+#include \"rte_ethdev_trace.h\"\n #include \"rte_ethdev.h\"\n #include \"rte_ethdev_driver.h\"\n #include \"ethdev_profile.h\"\n@@ -1470,6 +1471,7 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,\n \t\tgoto reset_queues;\n \t}\n \n+\trte_ethdev_trace_configure(port_id, nb_rx_q, nb_tx_q, dev_conf, 0);\n \treturn 0;\n reset_queues:\n \trte_eth_dev_rx_queue_config(dev, 0);\n@@ -1477,6 +1479,8 @@ rte_eth_dev_configure(uint16_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,\n rollback:\n \tmemcpy(&dev->data->dev_conf, &orig_conf, sizeof(dev->data->dev_conf));\n \n+\trte_ethdev_trace_configure(port_id, nb_rx_q, nb_tx_q, dev_conf,\n+\t\t\t\t       ret);\n \treturn ret;\n }\n \n@@ -1647,6 +1651,8 @@ rte_eth_dev_start(uint16_t port_id)\n \t\tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->link_update, -ENOTSUP);\n \t\t(*dev->dev_ops->link_update)(dev, 0);\n \t}\n+\n+\trte_ethdev_trace_start(port_id);\n \treturn 0;\n }\n \n@@ -1669,6 +1675,7 @@ rte_eth_dev_stop(uint16_t port_id)\n \n \tdev->data->dev_started = 0;\n \t(*dev->dev_ops->dev_stop)(dev);\n+\trte_ethdev_trace_stop(port_id);\n }\n \n int\n@@ -1709,6 +1716,7 @@ rte_eth_dev_close(uint16_t port_id)\n \tdev->data->dev_started = 0;\n \t(*dev->dev_ops->dev_close)(dev);\n \n+\trte_ethdev_trace_close(port_id);\n \t/* check behaviour flag - temporary for PMD migration */\n \tif ((dev->data->dev_flags & RTE_ETH_DEV_CLOSE_REMOVE) != 0) {\n \t\t/* new behaviour: send event + reset state + free all data */\n@@ -1918,6 +1926,8 @@ rte_eth_rx_queue_setup(uint16_t port_id, uint16_t rx_queue_id,\n \t\t\tdev->data->min_rx_buf_size = mbp_buf_size;\n \t}\n \n+\trte_ethdev_trace_rxq_setup(port_id, rx_queue_id, nb_rx_desc, mp,\n+\t\t\t\t       rx_conf, ret);\n \treturn eth_err(port_id, ret);\n }\n \n@@ -2088,6 +2098,8 @@ rte_eth_tx_queue_setup(uint16_t port_id, uint16_t tx_queue_id,\n \t\treturn -EINVAL;\n \t}\n \n+\trte_ethdev_trace_txq_setup(port_id, tx_queue_id, nb_tx_desc,\n+\t\t\t\t       tx_conf);\n \treturn eth_err(port_id, (*dev->dev_ops->tx_queue_setup)(dev,\n \t\t       tx_queue_id, nb_tx_desc, socket_id, &local_conf));\n }\ndiff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h\nindex e9e3a1699..83d1f9b45 100644\n--- a/lib/librte_ethdev/rte_ethdev.h\n+++ b/lib/librte_ethdev/rte_ethdev.h\n@@ -158,6 +158,7 @@ extern \"C\" {\n #include <rte_config.h>\n #include <rte_ether.h>\n \n+#include \"rte_ethdev_trace_fp.h\"\n #include \"rte_dev_info.h\"\n \n extern int rte_eth_dev_logtype;\n@@ -4400,6 +4401,8 @@ rte_eth_rx_burst(uint16_t port_id, uint16_t queue_id,\n \t}\n #endif\n \n+\trte_ethdev_trace_rx_burst(port_id, queue_id, (void **)rx_pkts,\n+\t\t\t\t      nb_rx);\n \treturn nb_rx;\n }\n \n@@ -4663,6 +4666,8 @@ rte_eth_tx_burst(uint16_t port_id, uint16_t queue_id,\n \t}\n #endif\n \n+\trte_ethdev_trace_tx_burst(port_id, queue_id, (void **)tx_pkts,\n+\t\t\t\t      nb_pkts);\n \treturn (*dev->tx_pkt_burst)(dev->data->tx_queues[queue_id], tx_pkts, nb_pkts);\n }\n \ndiff --git a/lib/librte_ethdev/rte_ethdev_trace.h b/lib/librte_ethdev/rte_ethdev_trace.h\nnew file mode 100644\nindex 000000000..a4cf94dc9\n--- /dev/null\n+++ b/lib/librte_ethdev/rte_ethdev_trace.h\n@@ -0,0 +1,97 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2020 Marvell International Ltd.\n+ */\n+\n+#ifndef _RTE_TRACE_ETHDEV_H_\n+#define _RTE_TRACE_ETHDEV_H_\n+\n+/**\n+ * @file\n+ *\n+ * API for ethdev trace support\n+ */\n+\n+#ifdef __cplusplus\n+extern \"C\" {\n+#endif\n+\n+#include <rte_trace_point.h>\n+\n+#include \"rte_ethdev.h\"\n+\n+RTE_TRACE_POINT(\n+\trte_ethdev_trace_configure,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t nb_rx_q,\n+\t\t\t     uint16_t nb_tx_q,\n+\t\t\t     const struct rte_eth_conf *dev_conf,\n+\t\t\t     int rc),\n+\trte_trace_point_emit_u16(port_id);\n+\trte_trace_point_emit_u16(nb_rx_q);\n+\trte_trace_point_emit_u16(nb_tx_q);\n+\trte_trace_point_emit_u32(dev_conf->link_speeds);\n+\trte_trace_point_emit_u32(dev_conf->rxmode.mq_mode);\n+\trte_trace_point_emit_u32(dev_conf->rxmode.max_rx_pkt_len);\n+\trte_trace_point_emit_u64(dev_conf->rxmode.offloads);\n+\trte_trace_point_emit_u32(dev_conf->txmode.mq_mode);\n+\trte_trace_point_emit_u64(dev_conf->txmode.offloads);\n+\trte_trace_point_emit_u32(dev_conf->lpbk_mode);\n+\trte_trace_point_emit_int(rc);\n+)\n+\n+RTE_TRACE_POINT(\n+\trte_ethdev_trace_rxq_setup,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t rx_queue_id,\n+\t\t\t     uint16_t nb_rx_desc, void *mp,\n+\t\t\t     const struct rte_eth_rxconf *rx_conf, int rc),\n+\trte_trace_point_emit_u16(port_id);\n+\trte_trace_point_emit_u16(rx_queue_id);\n+\trte_trace_point_emit_u16(nb_rx_desc);\n+\trte_trace_point_emit_ptr(mp);\n+\trte_trace_point_emit_u8(rx_conf->rx_thresh.pthresh);\n+\trte_trace_point_emit_u8(rx_conf->rx_thresh.hthresh);\n+\trte_trace_point_emit_u8(rx_conf->rx_thresh.wthresh);\n+\trte_trace_point_emit_u8(rx_conf->rx_drop_en);\n+\trte_trace_point_emit_u8(rx_conf->rx_deferred_start);\n+\trte_trace_point_emit_u64(rx_conf->offloads);\n+\trte_trace_point_emit_int(rc);\n+)\n+\n+RTE_TRACE_POINT(\n+\trte_ethdev_trace_txq_setup,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t tx_queue_id,\n+\t\t\t     uint16_t nb_tx_desc,\n+\t\t\t     const struct rte_eth_txconf *tx_conf),\n+\trte_trace_point_emit_u16(port_id);\n+\trte_trace_point_emit_u16(tx_queue_id);\n+\trte_trace_point_emit_u16(nb_tx_desc);\n+\trte_trace_point_emit_u8(tx_conf->tx_thresh.pthresh);\n+\trte_trace_point_emit_u8(tx_conf->tx_thresh.hthresh);\n+\trte_trace_point_emit_u8(tx_conf->tx_thresh.wthresh);\n+\trte_trace_point_emit_u8(tx_conf->tx_deferred_start);\n+\trte_trace_point_emit_u16(tx_conf->tx_free_thresh);\n+\trte_trace_point_emit_u64(tx_conf->offloads);\n+)\n+\n+RTE_TRACE_POINT(\n+\trte_ethdev_trace_start,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id),\n+\trte_trace_point_emit_u16(port_id);\n+)\n+\n+RTE_TRACE_POINT(\n+\trte_ethdev_trace_stop,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id),\n+\trte_trace_point_emit_u16(port_id);\n+)\n+\n+RTE_TRACE_POINT(\n+\trte_ethdev_trace_close,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id),\n+\trte_trace_point_emit_u16(port_id);\n+)\n+\n+#ifdef __cplusplus\n+}\n+#endif\n+\n+#endif /* _RTE_TRACE_ETHDEV_H_ */\ndiff --git a/lib/librte_ethdev/rte_ethdev_trace_fp.h b/lib/librte_ethdev/rte_ethdev_trace_fp.h\nnew file mode 100644\nindex 000000000..f4c7a2690\n--- /dev/null\n+++ b/lib/librte_ethdev/rte_ethdev_trace_fp.h\n@@ -0,0 +1,44 @@\n+/* SPDX-License-Identifier: BSD-3-Clause\n+ * Copyright(C) 2020 Marvell International Ltd.\n+ */\n+\n+#ifndef _RTE_TRACE_ETHDEV_FP_H_\n+#define _RTE_TRACE_ETHDEV_FP_H_\n+\n+/**\n+ * @file\n+ *\n+ * API for ethdev trace support\n+ */\n+\n+#ifdef __cplusplus\n+extern \"C\" {\n+#endif\n+\n+#include <rte_trace_point.h>\n+\n+RTE_TRACE_POINT_FP(\n+\trte_ethdev_trace_rx_burst,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,\n+\t\t\t     void **pkt_tbl, uint16_t nb_rx),\n+\trte_trace_point_emit_u16(port_id);\n+\trte_trace_point_emit_u16(queue_id);\n+\trte_trace_point_emit_ptr(pkt_tbl);\n+\trte_trace_point_emit_u16(nb_rx);\n+)\n+\n+RTE_TRACE_POINT_FP(\n+\trte_ethdev_trace_tx_burst,\n+\tRTE_TRACE_POINT_ARGS(uint16_t port_id, uint16_t queue_id,\n+\t\t\t     void **pkts_tbl, uint16_t nb_pkts),\n+\trte_trace_point_emit_u16(port_id);\n+\trte_trace_point_emit_u16(queue_id);\n+\trte_trace_point_emit_ptr(pkts_tbl);\n+\trte_trace_point_emit_u16(nb_pkts);\n+)\n+\n+#ifdef __cplusplus\n+}\n+#endif\n+\n+#endif /* _RTE_TRACE_ETHDEV_FP_H_ */\ndiff --git a/lib/librte_ethdev/rte_ethdev_version.map b/lib/librte_ethdev/rte_ethdev_version.map\nindex 3f32fdecf..95efe50fb 100644\n--- a/lib/librte_ethdev/rte_ethdev_version.map\n+++ b/lib/librte_ethdev/rte_ethdev_version.map\n@@ -230,4 +230,14 @@ EXPERIMENTAL {\n \n \t# added in 20.02\n \trte_flow_dev_dump;\n+\n+\t# added in 20.05\n+\t__rte_ethdev_trace_configure;\n+\t__rte_ethdev_trace_rxq_setup;\n+\t__rte_ethdev_trace_txq_setup;\n+\t__rte_ethdev_trace_start;\n+\t__rte_ethdev_trace_stop;\n+\t__rte_ethdev_trace_close;\n+\t__rte_ethdev_trace_rx_burst;\n+\t__rte_ethdev_trace_tx_burst;\n };\n",
    "prefixes": [
        "v7",
        "28/32"
    ]
}