[v4] build: enable allow experimental API flag
diff mbox series

Message ID 20200410090314.691-1-pbhagavatula@marvell.com
State Superseded, archived
Delegated to: David Marchand
Headers show
Series
  • [v4] build: enable allow experimental API flag
Related show

Checks

Context Check Description
ci/iol-testing success Testing PASS
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot warning Travis build: failed
ci/iol-intel-Performance success Performance Testing PASS
ci/Intel-compilation fail apply issues
ci/checkpatch success coding style OK

Commit Message

Pavan Nikhilesh Bhagavatula April 10, 2020, 9:03 a.m. UTC
From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
meson.build instead enable ALLOW_EXPERIMENTAL_API flag across app, lib and
drivers.
This changes reduces the clutter across the project while still maintaining
the functionality of ALLOW_EXPERIMENTAL_API i.e. warning external
applications about experimental API usage.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
---
  Based on discussion at
  http://mails.dpdk.org/archives/dev/2020-April/161527.html

  v4 Changes:
  - Add -DALLOW_EXPERIMENTAL_API to default_cflag which removes the need for
  adding it in every loop iteration.
  - Remove release notes as it is NA.

  v3 Changes:
  - fixup stray allow_experimental_api flags.
  - squash meson and make changes together.
  - remove allow_experimental_api flag from base libs of various drivers.

  v2 Changes:
  - Remove comments containing experimental API list.

 app/meson.build                           | 7 +------
 app/test-bbdev/Makefile                   | 1 -
 app/test-bbdev/meson.build                | 1 -
 app/test-compress-perf/Makefile           | 1 -
 app/test-compress-perf/meson.build        | 1 -
 app/test-crypto-perf/Makefile             | 1 -
 app/test-crypto-perf/meson.build          | 1 -
 app/test-fib/Makefile                     | 1 -
 app/test-fib/meson.build                  | 1 -
 app/test-pmd/Makefile                     | 1 -
 app/test-pmd/meson.build                  | 1 -
 app/test-sad/Makefile                     | 1 -
 app/test-sad/meson.build                  | 1 -
 app/test/Makefile                         | 2 --
 app/test/meson.build                      | 2 +-
 doc/guides/contributing/coding_style.rst  | 9 ---------
 drivers/baseband/fpga_lte_fec/Makefile    | 1 -
 drivers/baseband/fpga_lte_fec/meson.build | 1 -
 drivers/baseband/null/Makefile            | 1 -
 drivers/baseband/null/meson.build         | 1 -
 drivers/baseband/turbo_sw/Makefile        | 1 -
 drivers/baseband/turbo_sw/meson.build     | 1 -
 drivers/bus/dpaa/Makefile                 | 1 -
 drivers/bus/dpaa/meson.build              | 2 --
 drivers/bus/fslmc/Makefile                | 1 -
 drivers/bus/fslmc/meson.build             | 2 --
 drivers/bus/ifpga/Makefile                | 1 -
 drivers/bus/ifpga/meson.build             | 2 --
 drivers/bus/pci/Makefile                  | 4 ----
 drivers/bus/pci/meson.build               | 3 ---
 drivers/bus/vdev/Makefile                 | 1 -
 drivers/bus/vdev/meson.build              | 2 --
 drivers/bus/vmbus/Makefile                | 1 -
 drivers/bus/vmbus/meson.build             | 2 --
 drivers/common/cpt/meson.build            | 1 -
 drivers/common/dpaax/Makefile             | 1 -
 drivers/common/dpaax/meson.build          | 2 --
 drivers/common/iavf/Makefile              | 1 -
 drivers/common/iavf/meson.build           | 2 --
 drivers/common/mlx5/meson.build           | 1 -
 drivers/common/octeontx2/Makefile         | 1 -
 drivers/common/octeontx2/meson.build      | 2 --
 drivers/common/qat/Makefile               | 1 -
 drivers/compress/isal/Makefile            | 1 -
 drivers/compress/isal/meson.build         | 2 --
 drivers/compress/octeontx/Makefile        | 1 -
 drivers/compress/octeontx/meson.build     | 1 -
 drivers/compress/qat/meson.build          | 1 -
 drivers/compress/zlib/Makefile            | 1 -
 drivers/compress/zlib/meson.build         | 2 --
 drivers/crypto/aesni_gcm/Makefile         | 1 -
 drivers/crypto/aesni_gcm/meson.build      | 1 -
 drivers/crypto/aesni_mb/Makefile          | 1 -
 drivers/crypto/aesni_mb/meson.build       | 1 -
 drivers/crypto/armv8/Makefile             | 1 -
 drivers/crypto/armv8/meson.build          | 1 -
 drivers/crypto/caam_jr/Makefile           | 2 --
 drivers/crypto/caam_jr/meson.build        | 2 --
 drivers/crypto/dpaa2_sec/Makefile         | 1 -
 drivers/crypto/dpaa2_sec/meson.build      | 2 --
 drivers/crypto/dpaa_sec/Makefile          | 1 -
 drivers/crypto/dpaa_sec/meson.build       | 2 --
 drivers/crypto/kasumi/Makefile            | 1 -
 drivers/crypto/kasumi/meson.build         | 1 -
 drivers/crypto/nitrox/Makefile            | 1 -
 drivers/crypto/nitrox/meson.build         | 1 -
 drivers/crypto/octeontx/Makefile          | 1 -
 drivers/crypto/octeontx/meson.build       | 1 -
 drivers/crypto/octeontx2/Makefile         | 1 -
 drivers/crypto/octeontx2/meson.build      | 1 -
 drivers/crypto/openssl/Makefile           | 1 -
 drivers/crypto/openssl/meson.build        | 1 -
 drivers/crypto/snow3g/Makefile            | 1 -
 drivers/crypto/snow3g/meson.build         | 1 -
 drivers/crypto/zuc/Makefile               | 1 -
 drivers/crypto/zuc/meson.build            | 1 -
 drivers/event/dpaa/Makefile               | 1 -
 drivers/event/dpaa/meson.build            | 1 -
 drivers/event/dpaa2/Makefile              | 3 ---
 drivers/event/dpaa2/meson.build           | 1 -
 drivers/event/dsw/Makefile                | 3 ---
 drivers/event/dsw/meson.build             | 3 ---
 drivers/event/octeontx2/Makefile          | 1 -
 drivers/event/octeontx2/meson.build       | 2 --
 drivers/event/opdl/Makefile               | 1 -
 drivers/event/opdl/meson.build            | 1 -
 drivers/mempool/bucket/Makefile           | 1 -
 drivers/mempool/bucket/meson.build        | 2 --
 drivers/mempool/dpaa/Makefile             | 3 ---
 drivers/mempool/dpaa/meson.build          | 3 ---
 drivers/mempool/dpaa2/Makefile            | 3 ---
 drivers/mempool/dpaa2/meson.build         | 3 ---
 drivers/mempool/octeontx/Makefile         | 1 -
 drivers/mempool/octeontx/meson.build      | 2 --
 drivers/mempool/octeontx2/Makefile        | 4 +---
 drivers/mempool/octeontx2/meson.build     | 2 --
 drivers/mempool/stack/Makefile            | 1 -
 drivers/mempool/stack/meson.build         | 2 --
 drivers/meson.build                       | 7 +------
 drivers/net/atlantic/Makefile             | 1 -
 drivers/net/atlantic/meson.build          | 2 --
 drivers/net/avp/Makefile                  | 1 -
 drivers/net/avp/meson.build               | 1 -
 drivers/net/axgbe/Makefile                | 1 -
 drivers/net/axgbe/meson.build             | 2 --
 drivers/net/bnx2x/Makefile                | 1 -
 drivers/net/bnx2x/meson.build             | 1 -
 drivers/net/bonding/Makefile              | 1 -
 drivers/net/bonding/meson.build           | 1 -
 drivers/net/dpaa/Makefile                 | 3 ---
 drivers/net/dpaa/meson.build              | 2 --
 drivers/net/dpaa2/Makefile                | 3 ---
 drivers/net/dpaa2/meson.build             | 3 ---
 drivers/net/e1000/Makefile                | 1 -
 drivers/net/e1000/base/meson.build        | 3 ---
 drivers/net/e1000/meson.build             | 2 --
 drivers/net/ena/Makefile                  | 2 --
 drivers/net/ena/meson.build               | 1 -
 drivers/net/enetc/Makefile                | 1 -
 drivers/net/enetc/meson.build             | 1 -
 drivers/net/enic/Makefile                 | 2 --
 drivers/net/enic/meson.build              | 2 --
 drivers/net/failsafe/Makefile             | 1 -
 drivers/net/failsafe/meson.build          | 2 --
 drivers/net/fm10k/Makefile                | 1 -
 drivers/net/fm10k/base/meson.build        | 3 ---
 drivers/net/fm10k/meson.build             | 2 --
 drivers/net/hinic/base/meson.build        | 2 +-
 drivers/net/hinic/meson.build             | 2 +-
 drivers/net/hns3/Makefile                 | 1 -
 drivers/net/hns3/meson.build              | 7 -------
 drivers/net/i40e/Makefile                 | 1 -
 drivers/net/i40e/base/meson.build         | 3 ---
 drivers/net/i40e/meson.build              | 3 +--
 drivers/net/iavf/Makefile                 | 2 +-
 drivers/net/iavf/meson.build              | 2 --
 drivers/net/ice/Makefile                  | 1 -
 drivers/net/ice/meson.build               | 2 --
 drivers/net/ionic/Makefile                | 3 ---
 drivers/net/ipn3ke/Makefile               | 1 -
 drivers/net/ipn3ke/meson.build            | 2 --
 drivers/net/ixgbe/Makefile                | 1 -
 drivers/net/ixgbe/base/meson.build        | 3 ---
 drivers/net/ixgbe/meson.build             | 2 --
 drivers/net/memif/Makefile                | 7 -------
 drivers/net/memif/meson.build             | 8 --------
 drivers/net/mlx4/Makefile                 | 1 -
 drivers/net/mlx4/meson.build              | 1 -
 drivers/net/mlx5/Makefile                 | 3 ---
 drivers/net/mlx5/meson.build              | 1 -
 drivers/net/netvsc/Makefile               | 1 -
 drivers/net/netvsc/meson.build            | 2 --
 drivers/net/nfp/Makefile                  | 1 -
 drivers/net/nfp/meson.build               | 2 --
 drivers/net/octeontx/Makefile             | 2 --
 drivers/net/octeontx/base/meson.build     | 3 ---
 drivers/net/octeontx/meson.build          | 2 --
 drivers/net/pfe/Makefile                  | 4 ----
 drivers/net/pfe/meson.build               | 5 -----
 drivers/net/qede/Makefile                 | 1 -
 drivers/net/qede/base/meson.build         | 3 ---
 drivers/net/qede/meson.build              | 2 --
 drivers/net/sfc/Makefile                  | 1 -
 drivers/net/sfc/base/meson.build          | 3 ---
 drivers/net/sfc/meson.build               | 2 --
 drivers/net/softnic/Makefile              | 1 -
 drivers/net/softnic/meson.build           | 1 -
 drivers/net/tap/Makefile                  | 1 -
 drivers/net/tap/meson.build               | 1 -
 drivers/net/thunderx/Makefile             | 1 -
 drivers/net/thunderx/base/meson.build     | 3 ---
 drivers/net/thunderx/meson.build          | 1 -
 drivers/net/vdev_netvsc/Makefile          | 1 -
 drivers/net/vdev_netvsc/meson.build       | 2 --
 drivers/net/virtio/Makefile               | 1 -
 drivers/net/virtio/meson.build            | 1 -
 drivers/net/vmxnet3/Makefile              | 1 -
 drivers/net/vmxnet3/meson.build           | 1 -
 drivers/raw/dpaa2_cmdif/Makefile          | 1 -
 drivers/raw/dpaa2_cmdif/meson.build       | 2 --
 drivers/raw/dpaa2_qdma/Makefile           | 1 -
 drivers/raw/dpaa2_qdma/meson.build        | 2 --
 drivers/raw/ifpga/Makefile                | 1 -
 drivers/raw/ifpga/meson.build             | 2 --
 drivers/raw/ntb/Makefile                  | 1 -
 drivers/raw/ntb/meson.build               | 1 -
 drivers/vdpa/ifc/Makefile                 | 1 -
 drivers/vdpa/ifc/meson.build              | 1 -
 drivers/vdpa/mlx5/Makefile                | 2 --
 drivers/vdpa/mlx5/meson.build             | 1 -
 lib/librte_bbdev/Makefile                 | 1 -
 lib/librte_bbdev/meson.build              | 1 -
 lib/librte_bpf/Makefile                   | 1 -
 lib/librte_bpf/meson.build                | 1 -
 lib/librte_cmdline/Makefile               | 1 -
 lib/librte_cmdline/meson.build            | 1 -
 lib/librte_compressdev/Makefile           | 1 -
 lib/librte_compressdev/meson.build        | 1 -
 lib/librte_cryptodev/Makefile             | 1 -
 lib/librte_cryptodev/meson.build          | 1 -
 lib/librte_eal/freebsd/Makefile           | 1 -
 lib/librte_eal/linux/Makefile             | 1 -
 lib/librte_eal/meson.build                | 1 -
 lib/librte_ethdev/Makefile                | 1 -
 lib/librte_ethdev/meson.build             | 1 -
 lib/librte_eventdev/Makefile              | 1 -
 lib/librte_eventdev/meson.build           | 2 --
 lib/librte_fib/Makefile                   | 1 -
 lib/librte_fib/meson.build                | 1 -
 lib/librte_flow_classify/Makefile         | 1 -
 lib/librte_flow_classify/meson.build      | 1 -
 lib/librte_gso/meson.build                | 2 +-
 lib/librte_hash/Makefile                  | 2 +-
 lib/librte_hash/meson.build               | 3 ---
 lib/librte_ipsec/Makefile                 | 1 -
 lib/librte_ipsec/meson.build              | 2 --
 lib/librte_mbuf/Makefile                  | 1 -
 lib/librte_mbuf/meson.build               | 2 --
 lib/librte_mempool/Makefile               | 4 ----
 lib/librte_mempool/meson.build            | 5 -----
 lib/librte_net/Makefile                   | 1 -
 lib/librte_net/meson.build                | 1 -
 lib/librte_pdump/Makefile                 | 1 -
 lib/librte_pdump/meson.build              | 1 -
 lib/librte_pipeline/Makefile              | 1 -
 lib/librte_pipeline/meson.build           | 1 -
 lib/librte_power/Makefile                 | 1 -
 lib/librte_rcu/Makefile                   | 1 -
 lib/librte_rcu/meson.build                | 2 --
 lib/librte_rib/Makefile                   | 1 -
 lib/librte_rib/meson.build                | 1 -
 lib/librte_ring/Makefile                  | 2 +-
 lib/librte_ring/meson.build               | 3 ---
 lib/librte_stack/Makefile                 | 1 -
 lib/librte_stack/meson.build              | 2 --
 lib/librte_telemetry/Makefile             | 1 -
 lib/librte_telemetry/meson.build          | 1 -
 lib/librte_timer/Makefile                 | 1 -
 lib/librte_timer/meson.build              | 1 -
 lib/librte_vhost/Makefile                 | 1 -
 lib/librte_vhost/meson.build              | 1 -
 lib/meson.build                           | 6 +-----
 mk/rte.app.mk                             | 2 ++
 mk/rte.lib.mk                             | 1 +
 244 files changed, 15 insertions(+), 398 deletions(-)

--
2.17.1

Comments

David Marchand April 10, 2020, 12:12 p.m. UTC | #1
On Fri, Apr 10, 2020 at 11:04 AM <pbhagavatula@marvell.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
> meson.build instead enable ALLOW_EXPERIMENTAL_API flag across app, lib and
> drivers.
> This changes reduces the clutter across the project while still maintaining
> the functionality of ALLOW_EXPERIMENTAL_API i.e. warning external
> applications about experimental API usage.
>
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

Little conflict on app/test-fib/Makefile that git-am handles fine (but
Intel CI had trouble with).


> diff --git a/app/test/meson.build b/app/test/meson.build
> index 351d29cb6..013e86715 100644
> --- a/app/test/meson.build
> +++ b/app/test/meson.build
> @@ -393,7 +393,7 @@ dpdk_test = executable('dpdk-test',
>         test_sources,
>         link_whole: link_libs,
>         dependencies: test_dep_objs,
> -       c_args: [cflags, '-DALLOW_EXPERIMENTAL_API'],
> +       c_args: [cflags, default_cflags],
>         install_rpath: driver_install_path,
>         install: true)
>

That would pass the flags twice.
I will fix when applying as:
+       c_args: cflags,


> diff --git a/drivers/mempool/octeontx2/Makefile b/drivers/mempool/octeontx2/Makefile
> index 337babf66..6af7b5432 100644
> --- a/drivers/mempool/octeontx2/Makefile
> +++ b/drivers/mempool/octeontx2/Makefile
> @@ -32,7 +30,7 @@ EXPORT_MAP := rte_mempool_octeontx2_version.map
>  #
>  SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += \
>         otx2_mempool_ops.c      \
> -       otx2_mempool.c          \
> +       otx2_mempool.c          \
>         otx2_mempool_irq.c      \
>         otx2_mempool_debug.c
>
> diff --git a/drivers/net/hinic/base/meson.build b/drivers/net/hinic/base/meson.build
> index 6cf947f84..0695994ba 100644
> --- a/drivers/net/hinic/base/meson.build
> +++ b/drivers/net/hinic/base/meson.build
> @@ -12,7 +12,7 @@ sources = [
>         'hinic_pmd_niccfg.c',
>         'hinic_pmd_nicio.c',
>         'hinic_pmd_wq.c',
> -       'hinic_pmd_mbox.c',
> +       'hinic_pmd_mbox.c',
>  ]
>
>  extra_flags = []
> diff --git a/drivers/net/hinic/meson.build b/drivers/net/hinic/meson.build
> index bc7e24639..34ec4af66 100644
> --- a/drivers/net/hinic/meson.build
> +++ b/drivers/net/hinic/meson.build
> @@ -8,7 +8,7 @@ sources = files(
>         'hinic_pmd_ethdev.c',
>         'hinic_pmd_rx.c',
>         'hinic_pmd_tx.c',
> -       'hinic_pmd_flow.c',
> +       'hinic_pmd_flow.c',
>         )
>
>  includes += include_directories('base')
> diff --git a/lib/librte_gso/meson.build b/lib/librte_gso/meson.build
> index ad8dd8583..af3a63381 100644
> --- a/lib/librte_gso/meson.build
> +++ b/lib/librte_gso/meson.build
> @@ -2,6 +2,6 @@
>  # Copyright(c) 2017 Intel Corporation
>
>  sources = files('gso_common.c', 'gso_tcp4.c', 'gso_udp4.c',
> -               'gso_tunnel_tcp4.c', 'rte_gso.c')
> +               'gso_tunnel_tcp4.c', 'rte_gso.c')
>  headers = files('rte_gso.h')
>  deps += ['ethdev']

Whitespace damage, will remove those hunks when applying.

Reviewed-by: David Marchand <david.marchand@redhat.com>

Thanks.
David Marchand April 10, 2020, 3:48 p.m. UTC | #2
On Fri, Apr 10, 2020 at 2:12 PM David Marchand
<david.marchand@redhat.com> wrote:
> On Fri, Apr 10, 2020 at 11:04 AM <pbhagavatula@marvell.com> wrote:
> >
> > From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> >
> > Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
> > meson.build instead enable ALLOW_EXPERIMENTAL_API flag across app, lib and
> > drivers.
> > This changes reduces the clutter across the project while still maintaining
> > the functionality of ALLOW_EXPERIMENTAL_API i.e. warning external
> > applications about experimental API usage.
> >
> > Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> > Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
>

Unfortunately, after more tests, setting the flag in mk/rte.app.mk and
mk/rte.lib.mk defeats the goal, because rte.extXXX.mk include
rte.XXX.mk.
I'll post a v5 with the fix shortly.

Patch
diff mbox series

diff --git a/app/meson.build b/app/meson.build
index 71109cc42..f2261eb83 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -21,12 +21,11 @@  apps = [
 # for BSD only
 lib_execinfo = cc.find_library('execinfo', required: false)

-default_cflags = machine_args
+default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']

 foreach app:apps
 	build = true
 	name = app
-	allow_experimental_apis = false
 	sources = []
 	includes = []
 	cflags = default_cflags
@@ -53,10 +52,6 @@  foreach app:apps
 			link_libs = dpdk_static_libraries + dpdk_drivers
 		endif

-		if allow_experimental_apis
-			cflags += '-DALLOW_EXPERIMENTAL_API'
-		endif
-
 		executable('dpdk-' + name,
 				sources,
 				c_args: cflags,
diff --git a/app/test-bbdev/Makefile b/app/test-bbdev/Makefile
index c53982ffc..8272d2b1c 100644
--- a/app/test-bbdev/Makefile
+++ b/app/test-bbdev/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 APP = testbbdev

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/app/test-bbdev/meson.build b/app/test-bbdev/meson.build
index 4f53a2ed8..0d9f684a1 100644
--- a/app/test-bbdev/meson.build
+++ b/app/test-bbdev/meson.build
@@ -5,7 +5,6 @@  sources = files('main.c',
 		'test_bbdev.c',
 		'test_bbdev_perf.c',
 		'test_bbdev_vector.c')
-allow_experimental_apis = true
 deps += ['bbdev', 'bus_vdev']
 if dpdk_conf.has('RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC')
 	deps += ['pmd_bbdev_fpga_lte_fec']
diff --git a/app/test-compress-perf/Makefile b/app/test-compress-perf/Makefile
index ad3b91d0a..2bff53183 100644
--- a/app/test-compress-perf/Makefile
+++ b/app/test-compress-perf/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 APP = dpdk-test-compress-perf

 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3

 # all source are stored in SRCS-y
diff --git a/app/test-compress-perf/meson.build b/app/test-compress-perf/meson.build
index 1fe26cc14..a1a484da9 100644
--- a/app/test-compress-perf/meson.build
+++ b/app/test-compress-perf/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
 sources = files('comp_perf_options_parse.c',
 		'main.c',
 		'comp_perf_test_verify.c',
diff --git a/app/test-crypto-perf/Makefile b/app/test-crypto-perf/Makefile
index 78135f38c..0dced790f 100644
--- a/app/test-crypto-perf/Makefile
+++ b/app/test-crypto-perf/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 APP = dpdk-test-crypto-perf

 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3

 # all source are stored in SRCS-y
diff --git a/app/test-crypto-perf/meson.build b/app/test-crypto-perf/meson.build
index 0674396da..ef28cb5a0 100644
--- a/app/test-crypto-perf/meson.build
+++ b/app/test-crypto-perf/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
 sources = files('cperf_ops.c',
 		'cperf_options_parsing.c',
 		'cperf_test_common.c',
diff --git a/app/test-fib/Makefile b/app/test-fib/Makefile
index 78b45fe31..212bc694a 100644
--- a/app/test-fib/Makefile
+++ b/app/test-fib/Makefile
@@ -9,7 +9,6 @@  APP = testfib

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDFLAGS += -lresolv

diff --git a/app/test-fib/meson.build b/app/test-fib/meson.build
index 4db001035..f74ac651c 100644
--- a/app/test-fib/meson.build
+++ b/app/test-fib/meson.build
@@ -1,6 +1,5 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation

-allow_experimental_apis = true
 sources = files('main.c')
 deps += ['fib', 'lpm', 'net']
diff --git a/app/test-pmd/Makefile b/app/test-pmd/Makefile
index d5258eae4..ea818de22 100644
--- a/app/test-pmd/Makefile
+++ b/app/test-pmd/Makefile
@@ -10,7 +10,6 @@  ifeq ($(CONFIG_RTE_TEST_PMD),y)
 #
 APP = testpmd

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -Wno-deprecated-declarations
diff --git a/app/test-pmd/meson.build b/app/test-pmd/meson.build
index 6006c60f9..487288297 100644
--- a/app/test-pmd/meson.build
+++ b/app/test-pmd/meson.build
@@ -3,7 +3,6 @@ 

 # override default name to drop the hyphen
 name = 'testpmd'
-allow_experimental_apis = true
 cflags += '-Wno-deprecated-declarations'
 sources = files('cmdline.c',
 	'cmdline_flow.c',
diff --git a/app/test-sad/Makefile b/app/test-sad/Makefile
index 9b354132e..9b5a7ddc6 100644
--- a/app/test-sad/Makefile
+++ b/app/test-sad/Makefile
@@ -8,7 +8,6 @@  ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
 APP = testsad

 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # all source are stored in SRCS-y
 SRCS-y := main.c
diff --git a/app/test-sad/meson.build b/app/test-sad/meson.build
index 31f9aab63..db15b658d 100644
--- a/app/test-sad/meson.build
+++ b/app/test-sad/meson.build
@@ -1,6 +1,5 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation

-allow_experimental_apis = true
 sources = files('main.c')
 deps += ['ipsec', 'net']
diff --git a/app/test/Makefile b/app/test/Makefile
index 1f080d162..be53d33c3 100644
--- a/app/test/Makefile
+++ b/app/test/Makefile
@@ -237,8 +237,6 @@  ifeq ($(CONFIG_RTE_LIBRTE_IPSEC),y)
 LDLIBS += -lrte_ipsec
 endif

-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/app/test/meson.build b/app/test/meson.build
index 351d29cb6..013e86715 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -393,7 +393,7 @@  dpdk_test = executable('dpdk-test',
 	test_sources,
 	link_whole: link_libs,
 	dependencies: test_dep_objs,
-	c_args: [cflags, '-DALLOW_EXPERIMENTAL_API'],
+	c_args: [cflags, default_cflags],
 	install_rpath: driver_install_path,
 	install: true)

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 841ef6d5c..4efde93f6 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -842,12 +842,6 @@  sources

 The optional fields are:

-allow_experimental_apis
-	**Default Value = false**
-	Used to allow the library to make use of APIs marked as experimental.
-	Set to ``true`` if the C files in the library call any functions
-	marked as experimental in any included header files.
-
 build
 	**Default Value = true**
 	Used to optionally compile a library, based on its dependencies or
@@ -960,9 +954,6 @@  Meson Build File Contents - Drivers
 For drivers, the values are largely the same as for libraries. The variables
 supported are:

-allow_experimental_apis
-	As above.
-
 build
 	As above.

diff --git a/drivers/baseband/fpga_lte_fec/Makefile b/drivers/baseband/fpga_lte_fec/Makefile
index b4a442ca5..30caafe3d 100644
--- a/drivers/baseband/fpga_lte_fec/Makefile
+++ b/drivers/baseband/fpga_lte_fec/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_bbdev_fpga_lte_fec.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
diff --git a/drivers/baseband/fpga_lte_fec/meson.build b/drivers/baseband/fpga_lte_fec/meson.build
index c4d3a489a..e00688da3 100644
--- a/drivers/baseband/fpga_lte_fec/meson.build
+++ b/drivers/baseband/fpga_lte_fec/meson.build
@@ -2,5 +2,4 @@ 
 # Copyright(c) 2019 Intel Corporation

 deps += ['bbdev', 'bus_vdev', 'ring', 'pci', 'bus_pci']
-allow_experimental_apis = true
 sources = files('fpga_lte_fec.c')
diff --git a/drivers/baseband/null/Makefile b/drivers/baseband/null/Makefile
index 28751eeb7..0ee500166 100644
--- a/drivers/baseband/null/Makefile
+++ b/drivers/baseband/null/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_bbdev_null.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
diff --git a/drivers/baseband/null/meson.build b/drivers/baseband/null/meson.build
index e491c7da4..02ef7db57 100644
--- a/drivers/baseband/null/meson.build
+++ b/drivers/baseband/null/meson.build
@@ -2,5 +2,4 @@ 
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>

 deps += ['bbdev', 'bus_vdev', 'ring']
-allow_experimental_apis = true
 sources = files('bbdev_null.c')
diff --git a/drivers/baseband/turbo_sw/Makefile b/drivers/baseband/turbo_sw/Makefile
index ec74d277e..c2a6fe0f8 100644
--- a/drivers/baseband/turbo_sw/Makefile
+++ b/drivers/baseband/turbo_sw/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_bbdev_turbo_sw.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
diff --git a/drivers/baseband/turbo_sw/meson.build b/drivers/baseband/turbo_sw/meson.build
index 21c3cf819..f5a1ab3fc 100644
--- a/drivers/baseband/turbo_sw/meson.build
+++ b/drivers/baseband/turbo_sw/meson.build
@@ -36,5 +36,4 @@  if dpdk_conf.has('RTE_BBDEV_SDK_AVX512')
 endif

 deps += ['bbdev', 'bus_vdev', 'ring']
-allow_experimental_apis = true
 sources = files('bbdev_turbo_software.c')
diff --git a/drivers/bus/dpaa/Makefile b/drivers/bus/dpaa/Makefile
index 9e1a31bb7..ba40b2116 100644
--- a/drivers/bus/dpaa/Makefile
+++ b/drivers/bus/dpaa/Makefile
@@ -9,7 +9,6 @@  RTE_BUS_DPAA=$(RTE_SDK)/drivers/bus/dpaa
 #
 LIB = librte_bus_dpaa.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS := -I$(SRCDIR) $(CFLAGS)
 CFLAGS += -O3 $(WERROR_FLAGS)
 CFLAGS += -Wno-pointer-arith
diff --git a/drivers/bus/dpaa/meson.build b/drivers/bus/dpaa/meson.build
index 2b1cf1911..c2cffa494 100644
--- a/drivers/bus/dpaa/meson.build
+++ b/drivers/bus/dpaa/meson.build
@@ -19,8 +19,6 @@  sources = files('base/fman/fman.c',
 		'base/qbman/qman_driver.c',
 		'dpaa_bus.c')

-allow_experimental_apis = true
-
 if cc.has_argument('-Wno-cast-qual')
 	cflags += '-Wno-cast-qual'
 endif
diff --git a/drivers/bus/fslmc/Makefile b/drivers/bus/fslmc/Makefile
index 6d2286088..c70e359c8 100644
--- a/drivers/bus/fslmc/Makefile
+++ b/drivers/bus/fslmc/Makefile
@@ -9,7 +9,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_bus_fslmc.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/bus/fslmc/meson.build b/drivers/bus/fslmc/meson.build
index 6e709a8d5..eb8874a5a 100644
--- a/drivers/bus/fslmc/meson.build
+++ b/drivers/bus/fslmc/meson.build
@@ -22,6 +22,4 @@  sources = files('fslmc_bus.c',
 		'qbman/qbman_portal.c',
 		'qbman/qbman_debug.c')

-allow_experimental_apis = true
-
 includes += include_directories('mc', 'qbman/include', 'portal')
diff --git a/drivers/bus/ifpga/Makefile b/drivers/bus/ifpga/Makefile
index 290c1124b..1df369103 100644
--- a/drivers/bus/ifpga/Makefile
+++ b/drivers/bus/ifpga/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_bus_ifpga.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal
diff --git a/drivers/bus/ifpga/meson.build b/drivers/bus/ifpga/meson.build
index c9b08c862..4ea31f174 100644
--- a/drivers/bus/ifpga/meson.build
+++ b/drivers/bus/ifpga/meson.build
@@ -4,5 +4,3 @@ 
 deps += ['pci', 'kvargs', 'rawdev']
 install_headers('rte_bus_ifpga.h')
 sources = files('ifpga_common.c', 'ifpga_bus.c')
-
-allow_experimental_apis = true
diff --git a/drivers/bus/pci/Makefile b/drivers/bus/pci/Makefile
index 975d79652..f4102d0a7 100644
--- a/drivers/bus/pci/Makefile
+++ b/drivers/bus/pci/Makefile
@@ -8,7 +8,6 @@  EXPORT_MAP := rte_bus_pci_version.map

 CFLAGS := -I$(SRCDIR) $(CFLAGS)
 CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
 SYSTEM := linux
@@ -20,9 +19,6 @@  endif
 CFLAGS += -I$(RTE_SDK)/drivers/bus/pci/$(SYSTEM)
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common

-# memseg walk is not part of stable API yet
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_pci -lrte_kvargs

diff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build
index a3feb86ae..b520bdfc1 100644
--- a/drivers/bus/pci/meson.build
+++ b/drivers/bus/pci/meson.build
@@ -16,7 +16,4 @@  else
 	includes += include_directories('bsd')
 endif

-# memseg walk is not part of stable API yet
-allow_experimental_apis = true
-
 deps += ['kvargs']
diff --git a/drivers/bus/vdev/Makefile b/drivers/bus/vdev/Makefile
index 63c9b3f59..01747f03a 100644
--- a/drivers/bus/vdev/Makefile
+++ b/drivers/bus/vdev/Makefile
@@ -10,7 +10,6 @@  LIB = librte_bus_vdev.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_bus_vdev_version.map
diff --git a/drivers/bus/vdev/meson.build b/drivers/bus/vdev/meson.build
index 12605e5c7..967d54e4f 100644
--- a/drivers/bus/vdev/meson.build
+++ b/drivers/bus/vdev/meson.build
@@ -5,6 +5,4 @@  sources = files('vdev.c',
 	'vdev_params.c')
 install_headers('rte_bus_vdev.h')

-allow_experimental_apis = true
-
 deps += ['kvargs']
diff --git a/drivers/bus/vmbus/Makefile b/drivers/bus/vmbus/Makefile
index 59e789db9..335df6a0b 100644
--- a/drivers/bus/vmbus/Makefile
+++ b/drivers/bus/vmbus/Makefile
@@ -7,7 +7,6 @@  EXPORT_MAP := rte_bus_vmbus_version.map

 CFLAGS += -I$(SRCDIR)
 CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 ifneq ($(CONFIG_RTE_EXEC_ENV_LINUX),)
 SYSTEM := linux
diff --git a/drivers/bus/vmbus/meson.build b/drivers/bus/vmbus/meson.build
index 251f21b66..a68a1de9d 100644
--- a/drivers/bus/vmbus/meson.build
+++ b/drivers/bus/vmbus/meson.build
@@ -1,7 +1,5 @@ 
 # SPDX-License-Identifier: BSD-3-Clause

-allow_experimental_apis = true
-
 install_headers('rte_bus_vmbus.h','rte_vmbus_reg.h')

 sources = files('vmbus_common.c',
diff --git a/drivers/common/cpt/meson.build b/drivers/common/cpt/meson.build
index d2e84fff3..beecf0da3 100644
--- a/drivers/common/cpt/meson.build
+++ b/drivers/common/cpt/meson.build
@@ -6,4 +6,3 @@  sources = files('cpt_fpm_tables.c',

 deps = ['kvargs', 'pci', 'cryptodev']
 includes += include_directories('../../crypto/octeontx')
-allow_experimental_apis = true
diff --git a/drivers/common/dpaax/Makefile b/drivers/common/dpaax/Makefile
index 59bd8ae15..15b0b38d0 100644
--- a/drivers/common/dpaax/Makefile
+++ b/drivers/common/dpaax/Makefile
@@ -9,7 +9,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_common_dpaax.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -Wno-pointer-arith
diff --git a/drivers/common/dpaax/meson.build b/drivers/common/dpaax/meson.build
index d41bb5073..ff2d1a507 100644
--- a/drivers/common/dpaax/meson.build
+++ b/drivers/common/dpaax/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 NXP

-allow_experimental_apis = true
-
 if not is_linux
 	build = false
 	reason = 'only supported on linux'
diff --git a/drivers/common/iavf/Makefile b/drivers/common/iavf/Makefile
index 43383e376..f06dafd40 100644
--- a/drivers/common/iavf/Makefile
+++ b/drivers/common/iavf/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_common_iavf.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -Wno-pointer-arith
diff --git a/drivers/common/iavf/meson.build b/drivers/common/iavf/meson.build
index 7b68ef27f..ce50aceaf 100644
--- a/drivers/common/iavf/meson.build
+++ b/drivers/common/iavf/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation

-allow_experimental_apis = true
-
 sources = files('iavf_adminq.c', 'iavf_common.c', 'iavf_impl.c')

 if cc.has_argument('-Wno-pointer-to-int-cast')
diff --git a/drivers/common/mlx5/meson.build b/drivers/common/mlx5/meson.build
index f67171071..ac2cfa623 100644
--- a/drivers/common/mlx5/meson.build
+++ b/drivers/common/mlx5/meson.build
@@ -49,7 +49,6 @@  if static_ibverbs
 	ext_deps += declare_dependency(link_args:ibv_ldflags.split())
 endif

-allow_experimental_apis = true
 deps += ['hash', 'pci', 'net', 'eal', 'kvargs']
 sources = files(
 	'mlx5_devx_cmds.c',
diff --git a/drivers/common/octeontx2/Makefile b/drivers/common/octeontx2/Makefile
index 48f033dc6..efe3da2cc 100644
--- a/drivers/common/octeontx2/Makefile
+++ b/drivers/common/octeontx2/Makefile
@@ -13,7 +13,6 @@  CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/bus/pci
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 ifneq ($(CONFIG_RTE_ARCH_64),y)
 CFLAGS += -Wno-int-to-pointer-cast
diff --git a/drivers/common/octeontx2/meson.build b/drivers/common/octeontx2/meson.build
index cc2c26123..996ddba14 100644
--- a/drivers/common/octeontx2/meson.build
+++ b/drivers/common/octeontx2/meson.build
@@ -2,8 +2,6 @@ 
 # Copyright(C) 2019 Marvell International Ltd.
 #

-allow_experimental_apis = true
-
 sources= files('otx2_dev.c',
 		'otx2_irq.c',
 		'otx2_mbox.c',
diff --git a/drivers/common/qat/Makefile b/drivers/common/qat/Makefile
index 63d8efb2b..28bd5668f 100644
--- a/drivers/common/qat/Makefile
+++ b/drivers/common/qat/Makefile
@@ -16,7 +16,6 @@  CFLAGS += -I$(QAT_COMPRESS_DIR)


 ifeq ($(CONFIG_RTE_LIBRTE_COMPRESSDEV),y)
-	CFLAGS += -DALLOW_EXPERIMENTAL_API
 	LDLIBS += -lrte_compressdev
 	SRCS-y += qat_comp.c
 	SRCS-y += qat_comp_pmd.c
diff --git a/drivers/compress/isal/Makefile b/drivers/compress/isal/Makefile
index 6438b75ce..1e225ab43 100644
--- a/drivers/compress/isal/Makefile
+++ b/drivers/compress/isal/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_isal_comp.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # external library dependencies
 LDLIBS += -lisal
diff --git a/drivers/compress/isal/meson.build b/drivers/compress/isal/meson.build
index 25578880d..5ee17e28f 100644
--- a/drivers/compress/isal/meson.build
+++ b/drivers/compress/isal/meson.build
@@ -10,5 +10,3 @@  endif
 deps += 'bus_vdev'
 sources = files('isal_compress_pmd.c', 'isal_compress_pmd_ops.c')
 ext_deps += dep
-
-allow_experimental_apis = true
diff --git a/drivers/compress/octeontx/Makefile b/drivers/compress/octeontx/Makefile
index d6324b530..9ba1db791 100644
--- a/drivers/compress/octeontx/Makefile
+++ b/drivers/compress/octeontx/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_octeontx_zip.a
 # build flags
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(RTE_SDK)/drivers/compress/octeontx/include

 # external library include paths
diff --git a/drivers/compress/octeontx/meson.build b/drivers/compress/octeontx/meson.build
index 7cd202d07..0dc98b762 100644
--- a/drivers/compress/octeontx/meson.build
+++ b/drivers/compress/octeontx/meson.build
@@ -3,7 +3,6 @@ 

 name = 'octeontx_compress'
 sources = files('otx_zip.c', 'otx_zip_pmd.c')
-allow_experimental_apis = true
 includes += include_directories('include')
 deps += ['mempool_octeontx', 'bus_pci']
 ext_deps += dep
diff --git a/drivers/compress/qat/meson.build b/drivers/compress/qat/meson.build
index 9d15076dc..a00246980 100644
--- a/drivers/compress/qat/meson.build
+++ b/drivers/compress/qat/meson.build
@@ -3,7 +3,6 @@ 


 # Add our sources files to the list
-allow_experimental_apis = true
 qat_sources += files('qat_comp_pmd.c',
 		     'qat_comp.c')
 qat_includes += include_directories('.')
diff --git a/drivers/compress/zlib/Makefile b/drivers/compress/zlib/Makefile
index 1eba3560f..9f695f7d9 100644
--- a/drivers/compress/zlib/Makefile
+++ b/drivers/compress/zlib/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_zlib.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_zlib_version.map
diff --git a/drivers/compress/zlib/meson.build b/drivers/compress/zlib/meson.build
index b1328c535..b19a6d2b1 100644
--- a/drivers/compress/zlib/meson.build
+++ b/drivers/compress/zlib/meson.build
@@ -10,5 +10,3 @@  endif
 deps += 'bus_vdev'
 sources = files('zlib_pmd.c', 'zlib_pmd_ops.c')
 ext_deps += dep
-
-allow_experimental_apis = true
diff --git a/drivers/crypto/aesni_gcm/Makefile b/drivers/crypto/aesni_gcm/Makefile
index b443167d5..01cb4fddf 100644
--- a/drivers/crypto/aesni_gcm/Makefile
+++ b/drivers/crypto/aesni_gcm/Makefile
@@ -8,7 +8,6 @@  LIB = librte_pmd_aesni_gcm.a

 # build flags
 CFLAGS += -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS)

 # versioning export map
diff --git a/drivers/crypto/aesni_gcm/meson.build b/drivers/crypto/aesni_gcm/meson.build
index 3a6e332dc..ea83e8774 100644
--- a/drivers/crypto/aesni_gcm/meson.build
+++ b/drivers/crypto/aesni_gcm/meson.build
@@ -20,6 +20,5 @@  else
 	endif
 endif

-allow_experimental_apis = true
 sources = files('aesni_gcm_pmd.c', 'aesni_gcm_pmd_ops.c')
 deps += ['bus_vdev']
diff --git a/drivers/crypto/aesni_mb/Makefile b/drivers/crypto/aesni_mb/Makefile
index aa2e42810..f0dc82f39 100644
--- a/drivers/crypto/aesni_mb/Makefile
+++ b/drivers/crypto/aesni_mb/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_aesni_mb.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_aesni_mb_version.map
diff --git a/drivers/crypto/aesni_mb/meson.build b/drivers/crypto/aesni_mb/meson.build
index 3e1687416..e557e0103 100644
--- a/drivers/crypto/aesni_mb/meson.build
+++ b/drivers/crypto/aesni_mb/meson.build
@@ -22,5 +22,4 @@  else
 endif

 sources = files('rte_aesni_mb_pmd.c', 'rte_aesni_mb_pmd_ops.c')
-allow_experimental_apis = true
 deps += ['bus_vdev']
diff --git a/drivers/crypto/armv8/Makefile b/drivers/crypto/armv8/Makefile
index 7f20a28d4..0e3bc9fb7 100644
--- a/drivers/crypto/armv8/Makefile
+++ b/drivers/crypto/armv8/Makefile
@@ -24,7 +24,6 @@  EXPORT_MAP := rte_pmd_armv8_version.map

 # external library dependencies
 CFLAGS += -I$(ARMV8_CRYPTO_LIB_PATH)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -L$(ARMV8_CRYPTO_LIB_PATH) -lAArch64crypto
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_cryptodev
diff --git a/drivers/crypto/armv8/meson.build b/drivers/crypto/armv8/meson.build
index 6ecb78b42..c445c5bd3 100644
--- a/drivers/crypto/armv8/meson.build
+++ b/drivers/crypto/armv8/meson.build
@@ -22,4 +22,3 @@  endif

 deps += ['bus_vdev']
 sources = files('rte_armv8_pmd.c', 'rte_armv8_pmd_ops.c')
-allow_experimental_apis = true
diff --git a/drivers/crypto/caam_jr/Makefile b/drivers/crypto/caam_jr/Makefile
index db1729439..89d323817 100644
--- a/drivers/crypto/caam_jr/Makefile
+++ b/drivers/crypto/caam_jr/Makefile
@@ -9,8 +9,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_caam_jr.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 CFLAGS += -D _GNU_SOURCE

 CFLAGS += -O3
diff --git a/drivers/crypto/caam_jr/meson.build b/drivers/crypto/caam_jr/meson.build
index 50132aebe..f8b5250a9 100644
--- a/drivers/crypto/caam_jr/meson.build
+++ b/drivers/crypto/caam_jr/meson.build
@@ -12,8 +12,6 @@  sources = files('caam_jr_capabilities.c',
 		'caam_jr_uio.c',
 		'caam_jr.c')

-allow_experimental_apis = true
-
 includes += include_directories('../../bus/dpaa/include/')
 includes += include_directories('../../common/dpaax/')
 includes += include_directories('../../common/dpaax/caamflib/')
diff --git a/drivers/crypto/dpaa2_sec/Makefile b/drivers/crypto/dpaa2_sec/Makefile
index 96b9c7843..a0a279557 100644
--- a/drivers/crypto/dpaa2_sec/Makefile
+++ b/drivers/crypto/dpaa2_sec/Makefile
@@ -10,7 +10,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_dpaa2_sec.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/crypto/dpaa2_sec/meson.build b/drivers/crypto/dpaa2_sec/meson.build
index ab9c8c8bf..cb1c2d049 100644
--- a/drivers/crypto/dpaa2_sec/meson.build
+++ b/drivers/crypto/dpaa2_sec/meson.build
@@ -10,6 +10,4 @@  deps += ['security', 'mempool_dpaa2']
 sources = files('dpaa2_sec_dpseci.c',
 		'mc/dpseci.c')

-allow_experimental_apis = true
-
 includes += include_directories('mc', '../../common/dpaax', '../../common/dpaax/caamflib')
diff --git a/drivers/crypto/dpaa_sec/Makefile b/drivers/crypto/dpaa_sec/Makefile
index 13a5ff20c..ea266962a 100644
--- a/drivers/crypto/dpaa_sec/Makefile
+++ b/drivers/crypto/dpaa_sec/Makefile
@@ -10,7 +10,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_dpaa_sec.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/crypto/dpaa_sec/meson.build b/drivers/crypto/dpaa_sec/meson.build
index 71de81940..7d422d8d5 100644
--- a/drivers/crypto/dpaa_sec/meson.build
+++ b/drivers/crypto/dpaa_sec/meson.build
@@ -9,8 +9,6 @@  endif
 deps += ['bus_dpaa', 'mempool_dpaa', 'security']
 sources = files('dpaa_sec.c')

-allow_experimental_apis = true
-
 includes += include_directories('../../bus/dpaa/include')
 includes += include_directories('../../common/dpaax')
 includes += include_directories('../../common/dpaax/caamflib/')
diff --git a/drivers/crypto/kasumi/Makefile b/drivers/crypto/kasumi/Makefile
index ad19aad11..a7d0d079d 100644
--- a/drivers/crypto/kasumi/Makefile
+++ b/drivers/crypto/kasumi/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_kasumi.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_kasumi_version.map
diff --git a/drivers/crypto/kasumi/meson.build b/drivers/crypto/kasumi/meson.build
index 7350f41ab..7560fb7cf 100644
--- a/drivers/crypto/kasumi/meson.build
+++ b/drivers/crypto/kasumi/meson.build
@@ -19,7 +19,6 @@  else

 endif

-allow_experimental_apis = true
 ext_deps += lib
 sources = files('rte_kasumi_pmd.c', 'rte_kasumi_pmd_ops.c')
 deps += ['bus_vdev']
diff --git a/drivers/crypto/nitrox/Makefile b/drivers/crypto/nitrox/Makefile
index fc42ac808..535121196 100644
--- a/drivers/crypto/nitrox/Makefile
+++ b/drivers/crypto/nitrox/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_nitrox.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_nitrox_version.map
diff --git a/drivers/crypto/nitrox/meson.build b/drivers/crypto/nitrox/meson.build
index 03788366b..9c0e89c2c 100644
--- a/drivers/crypto/nitrox/meson.build
+++ b/drivers/crypto/nitrox/meson.build
@@ -7,7 +7,6 @@  if not is_linux
 endif

 deps += ['bus_pci']
-allow_experimental_apis = true
 sources = files(
 		'nitrox_device.c',
 		'nitrox_hal.c',
diff --git a/drivers/crypto/octeontx/Makefile b/drivers/crypto/octeontx/Makefile
index 08a99c827..296755ee9 100644
--- a/drivers/crypto/octeontx/Makefile
+++ b/drivers/crypto/octeontx/Makefile
@@ -19,7 +19,6 @@  VPATH += $(RTE_SDK)/drivers/crypto/octeontx

 CFLAGS += -O3
 CFLAGS += -I$(RTE_SDK)/drivers/common/cpt
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # PMD code
 SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_CRYPTO) += otx_cryptodev.c
diff --git a/drivers/crypto/octeontx/meson.build b/drivers/crypto/octeontx/meson.build
index 63a59c51a..cf031b006 100644
--- a/drivers/crypto/octeontx/meson.build
+++ b/drivers/crypto/octeontx/meson.build
@@ -9,7 +9,6 @@  deps += ['bus_pci']
 deps += ['common_cpt']
 name = 'octeontx_crypto'

-allow_experimental_apis = true
 sources = files('otx_cryptodev.c',
 		'otx_cryptodev_capabilities.c',
 		'otx_cryptodev_hw_access.c',
diff --git a/drivers/crypto/octeontx2/Makefile b/drivers/crypto/octeontx2/Makefile
index 1458e2b72..5f9a6a0e3 100644
--- a/drivers/crypto/octeontx2/Makefile
+++ b/drivers/crypto/octeontx2/Makefile
@@ -23,7 +23,6 @@  CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/crypto/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 ifneq ($(CONFIG_RTE_ARCH_64),y)
 CFLAGS += -Wno-int-to-pointer-cast
diff --git a/drivers/crypto/octeontx2/meson.build b/drivers/crypto/octeontx2/meson.build
index a5317990a..a28c700b9 100644
--- a/drivers/crypto/octeontx2/meson.build
+++ b/drivers/crypto/octeontx2/meson.build
@@ -12,7 +12,6 @@  deps += ['ethdev']
 deps += ['security']
 name = 'octeontx2_crypto'

-allow_experimental_apis = true
 sources = files('otx2_cryptodev.c',
 		'otx2_cryptodev_capabilities.c',
 		'otx2_cryptodev_hw_access.c',
diff --git a/drivers/crypto/openssl/Makefile b/drivers/crypto/openssl/Makefile
index 58a26eced..b85c81655 100644
--- a/drivers/crypto/openssl/Makefile
+++ b/drivers/crypto/openssl/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_openssl.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_openssl_version.map
diff --git a/drivers/crypto/openssl/meson.build b/drivers/crypto/openssl/meson.build
index 394e74c9e..d9ac69897 100644
--- a/drivers/crypto/openssl/meson.build
+++ b/drivers/crypto/openssl/meson.build
@@ -6,7 +6,6 @@  if not dep.found()
 	build = false
 	reason = 'missing dependency, "libcrypto"'
 endif
-allow_experimental_apis = true
 deps += 'bus_vdev'
 sources = files('rte_openssl_pmd.c', 'rte_openssl_pmd_ops.c')
 ext_deps += dep
diff --git a/drivers/crypto/snow3g/Makefile b/drivers/crypto/snow3g/Makefile
index cbf1a7790..469aefaa5 100644
--- a/drivers/crypto/snow3g/Makefile
+++ b/drivers/crypto/snow3g/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_snow3g.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_snow3g_version.map
diff --git a/drivers/crypto/snow3g/meson.build b/drivers/crypto/snow3g/meson.build
index 9d93cbe26..c1c5fd37f 100644
--- a/drivers/crypto/snow3g/meson.build
+++ b/drivers/crypto/snow3g/meson.build
@@ -19,7 +19,6 @@  else

 endif

-allow_experimental_apis = true
 ext_deps += lib
 sources = files('rte_snow3g_pmd.c', 'rte_snow3g_pmd_ops.c')
 deps += ['bus_vdev', 'cryptodev']
diff --git a/drivers/crypto/zuc/Makefile b/drivers/crypto/zuc/Makefile
index 187534447..529b47f25 100644
--- a/drivers/crypto/zuc/Makefile
+++ b/drivers/crypto/zuc/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_zuc.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # versioning export map
 EXPORT_MAP := rte_pmd_zuc_version.map
diff --git a/drivers/crypto/zuc/meson.build b/drivers/crypto/zuc/meson.build
index be3824c54..c3454d799 100644
--- a/drivers/crypto/zuc/meson.build
+++ b/drivers/crypto/zuc/meson.build
@@ -19,7 +19,6 @@  else

 endif

-allow_experimental_apis = true
 ext_deps += lib
 sources = files('rte_zuc_pmd.c', 'rte_zuc_pmd_ops.c')
 deps += ['bus_vdev']
diff --git a/drivers/event/dpaa/Makefile b/drivers/event/dpaa/Makefile
index 15ffc157f..a39dc27c6 100644
--- a/drivers/event/dpaa/Makefile
+++ b/drivers/event/dpaa/Makefile
@@ -10,7 +10,6 @@  RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
 #
 LIB = librte_pmd_dpaa_event.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS := -I$(SRCDIR) $(CFLAGS)
 CFLAGS += -O3 $(WERROR_FLAGS)
 CFLAGS += -Wno-pointer-arith
diff --git a/drivers/event/dpaa/meson.build b/drivers/event/dpaa/meson.build
index b74f3bf32..2f761f8e5 100644
--- a/drivers/event/dpaa/meson.build
+++ b/drivers/event/dpaa/meson.build
@@ -8,5 +8,4 @@  endif
 deps += ['pmd_dpaa', 'pmd_dpaa_sec']
 sources = files('dpaa_eventdev.c')

-allow_experimental_apis = true
 includes += include_directories('../../crypto/dpaa_sec/')
diff --git a/drivers/event/dpaa2/Makefile b/drivers/event/dpaa2/Makefile
index 1cd3b88bd..75cf197c5 100644
--- a/drivers/event/dpaa2/Makefile
+++ b/drivers/event/dpaa2/Makefile
@@ -31,9 +31,6 @@  CFLAGS += -I$(RTE_SDK)/drivers/crypto/dpaa2_sec
 # versioning export map
 EXPORT_MAP := rte_pmd_dpaa2_event_version.map

-# depends on fslmc bus which uses experimental API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 #
 # all source are stored in SRCS-y
 #
diff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build
index ca914ccc4..71c8be3d6 100644
--- a/drivers/event/dpaa2/meson.build
+++ b/drivers/event/dpaa2/meson.build
@@ -10,5 +10,4 @@  sources = files('dpaa2_hw_dpcon.c',
 		'dpaa2_eventdev.c',
 		'dpaa2_eventdev_selftest.c')

-allow_experimental_apis = true
 includes += include_directories('../../crypto/dpaa2_sec/')
diff --git a/drivers/event/dsw/Makefile b/drivers/event/dsw/Makefile
index 68d681fab..f6e7dda1f 100644
--- a/drivers/event/dsw/Makefile
+++ b/drivers/event/dsw/Makefile
@@ -11,9 +11,6 @@  ifneq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
 CFLAGS += -Wno-format-nonliteral
 endif

-# Depends on rte_ring_elem_*()
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 LDLIBS += -lrte_eal
 LDLIBS += -lrte_mbuf
 LDLIBS += -lrte_mempool
diff --git a/drivers/event/dsw/meson.build b/drivers/event/dsw/meson.build
index 3b39cb653..60ab13d90 100644
--- a/drivers/event/dsw/meson.build
+++ b/drivers/event/dsw/meson.build
@@ -6,6 +6,3 @@  if cc.has_argument('-Wno-format-nonliteral')
 	cflags += '-Wno-format-nonliteral'
 endif
 sources = files('dsw_evdev.c', 'dsw_event.c', 'dsw_xstats.c')
-
-# Depends on rte_ring_elem_*()
-allow_experimental_apis = true
diff --git a/drivers/event/octeontx2/Makefile b/drivers/event/octeontx2/Makefile
index bcd22ee8c..9d67b00c6 100644
--- a/drivers/event/octeontx2/Makefile
+++ b/drivers/event/octeontx2/Makefile
@@ -16,7 +16,6 @@  CFLAGS += -I$(RTE_SDK)/drivers/mempool/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/event/octeontx2
 CFLAGS += -I$(RTE_SDK)/drivers/net/octeontx2
 CFLAGS += -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 ifneq ($(CONFIG_RTE_ARCH_64),y)
 CFLAGS += -Wno-int-to-pointer-cast
diff --git a/drivers/event/octeontx2/meson.build b/drivers/event/octeontx2/meson.build
index 56febb8d8..4b938416b 100644
--- a/drivers/event/octeontx2/meson.build
+++ b/drivers/event/octeontx2/meson.build
@@ -12,8 +12,6 @@  sources = files('otx2_worker.c',
 		'otx2_tim_worker.c'
 		)

-allow_experimental_apis = true
-
 extra_flags = []
 # This integrated controller runs only on a arm64 machine, remove 32bit warnings
 if not dpdk_conf.get('RTE_ARCH_64')
diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile
index 1dfd6f5e8..71713b00a 100644
--- a/drivers/event/opdl/Makefile
+++ b/drivers/event/opdl/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_opdl_event.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lrte_eal -lrte_eventdev -lrte_kvargs
 LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool
diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build
index e67b164e3..1fe034ea1 100644
--- a/drivers/event/opdl/meson.build
+++ b/drivers/event/opdl/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>

-allow_experimental_apis = true
 sources = files(
 	'opdl_evdev.c',
 	'opdl_evdev_init.c',
diff --git a/drivers/mempool/bucket/Makefile b/drivers/mempool/bucket/Makefile
index 1dc0079f8..c766c35b2 100644
--- a/drivers/mempool/bucket/Makefile
+++ b/drivers/mempool/bucket/Makefile
@@ -15,7 +15,6 @@  LIB = librte_mempool_bucket.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lrte_eal -lrte_mempool -lrte_ring

diff --git a/drivers/mempool/bucket/meson.build b/drivers/mempool/bucket/meson.build
index 2fd77f9d4..618d79128 100644
--- a/drivers/mempool/bucket/meson.build
+++ b/drivers/mempool/bucket/meson.build
@@ -6,6 +6,4 @@ 
 # This software was jointly developed between OKTET Labs (under contract
 # for Solarflare) and Solarflare Communications, Inc.

-allow_experimental_apis = true
-
 sources = files('rte_mempool_bucket.c')
diff --git a/drivers/mempool/dpaa/Makefile b/drivers/mempool/dpaa/Makefile
index 8c786ddbe..144969c62 100644
--- a/drivers/mempool/dpaa/Makefile
+++ b/drivers/mempool/dpaa/Makefile
@@ -19,9 +19,6 @@  CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
 # versioning export map
 EXPORT_MAP := rte_mempool_dpaa_version.map

-# depends on dpaa bus which uses experimental API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 # all source are stored in SRCS-y
 #
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA_MEMPOOL) += dpaa_mempool.c
diff --git a/drivers/mempool/dpaa/meson.build b/drivers/mempool/dpaa/meson.build
index b7446f174..754e6397f 100644
--- a/drivers/mempool/dpaa/meson.build
+++ b/drivers/mempool/dpaa/meson.build
@@ -8,6 +8,3 @@  endif

 deps += ['bus_dpaa']
 sources = files('dpaa_mempool.c')
-
-# depends on dpaa bus which uses experimental API
-allow_experimental_apis = true
diff --git a/drivers/mempool/dpaa2/Makefile b/drivers/mempool/dpaa2/Makefile
index 52565be9a..04db6d27d 100644
--- a/drivers/mempool/dpaa2/Makefile
+++ b/drivers/mempool/dpaa2/Makefile
@@ -18,9 +18,6 @@  CFLAGS += -I$(RTE_SDK)/drivers/bus/fslmc/qbman/include
 # versioning export map
 EXPORT_MAP := rte_mempool_dpaa2_version.map

-# depends on fslmc bus which uses experimental API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 # all source are stored in SRCS-y
 #
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_MEMPOOL) += dpaa2_hw_mempool.c
diff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build
index d79fc3164..df299a045 100644
--- a/drivers/mempool/dpaa2/meson.build
+++ b/drivers/mempool/dpaa2/meson.build
@@ -8,6 +8,3 @@  endif

 deps += ['bus_fslmc']
 sources = files('dpaa2_hw_mempool.c')
-
-# depends on fslmc bus which uses experimental API
-allow_experimental_apis = true
diff --git a/drivers/mempool/octeontx/Makefile b/drivers/mempool/octeontx/Makefile
index ee54c66dc..9c840620d 100644
--- a/drivers/mempool/octeontx/Makefile
+++ b/drivers/mempool/octeontx/Makefile
@@ -11,7 +11,6 @@  LIB = librte_mempool_octeontx.a

 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/octeontx/
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 EXPORT_MAP := rte_mempool_octeontx_version.map

diff --git a/drivers/mempool/octeontx/meson.build b/drivers/mempool/octeontx/meson.build
index 195435950..3baaf7db2 100644
--- a/drivers/mempool/octeontx/meson.build
+++ b/drivers/mempool/octeontx/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Cavium, Inc

-allow_experimental_apis = true
-
 sources = files('octeontx_fpavf.c',
 		'rte_mempool_octeontx.c'
 )
diff --git a/drivers/mempool/octeontx2/Makefile b/drivers/mempool/octeontx2/Makefile
index 337babf66..6af7b5432 100644
--- a/drivers/mempool/octeontx2/Makefile
+++ b/drivers/mempool/octeontx2/Makefile
@@ -23,8 +23,6 @@  CFLAGS += -diag-disable 2259
 endif
 endif

-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 EXPORT_MAP := rte_mempool_octeontx2_version.map

 #
@@ -32,7 +30,7 @@  EXPORT_MAP := rte_mempool_octeontx2_version.map
 #
 SRCS-$(CONFIG_RTE_LIBRTE_OCTEONTX2_MEMPOOL) += \
 	otx2_mempool_ops.c	\
-	otx2_mempool.c 		\
+	otx2_mempool.c		\
 	otx2_mempool_irq.c	\
 	otx2_mempool_debug.c

diff --git a/drivers/mempool/octeontx2/meson.build b/drivers/mempool/octeontx2/meson.build
index 8255377df..9fde40f0e 100644
--- a/drivers/mempool/octeontx2/meson.build
+++ b/drivers/mempool/octeontx2/meson.build
@@ -2,8 +2,6 @@ 
 # Copyright(C) 2019 Marvell International Ltd.
 #

-allow_experimental_apis = true
-
 sources = files('otx2_mempool_ops.c',
 		'otx2_mempool.c',
 		'otx2_mempool_irq.c',
diff --git a/drivers/mempool/stack/Makefile b/drivers/mempool/stack/Makefile
index 97c3dab07..ccfd97040 100644
--- a/drivers/mempool/stack/Makefile
+++ b/drivers/mempool/stack/Makefile
@@ -10,7 +10,6 @@  LIB = librte_mempool_stack.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # Headers
 CFLAGS += -I$(RTE_SDK)/lib/librte_mempool
diff --git a/drivers/mempool/stack/meson.build b/drivers/mempool/stack/meson.build
index 03e369a41..580dde79e 100644
--- a/drivers/mempool/stack/meson.build
+++ b/drivers/mempool/stack/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation

-allow_experimental_apis = true
-
 sources = files('rte_mempool_stack.c')

 deps += ['stack']
diff --git a/drivers/meson.build b/drivers/meson.build
index 5502bf992..4d8f842ab 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -20,7 +20,7 @@  dpdk_driver_classes = ['common',
 disabled_drivers = run_command(list_dir_globs, get_option('disable_drivers'),
 		).stdout().split()

-default_cflags = machine_args
+default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']
 if cc.has_argument('-Wno-format-truncation')
 	default_cflags += '-Wno-format-truncation'
 endif
@@ -44,7 +44,6 @@  foreach class:dpdk_driver_classes
 		reason = '<unknown reason>' # set if build == false to explain
 		name = drv
 		fmt_name = ''
-		allow_experimental_apis = false
 		sources = []
 		objs = []
 		cflags = default_cflags
@@ -106,10 +105,6 @@  foreach class:dpdk_driver_classes
 			dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)
 			lib_name = driver_name_fmt.format(fmt_name)

-			if allow_experimental_apis
-				cflags += '-DALLOW_EXPERIMENTAL_API'
-			endif
-
 			dpdk_extra_ldflags += pkgconfig_extra_libs

 			# generate pmdinfo sources by building a temporary
diff --git a/drivers/net/atlantic/Makefile b/drivers/net/atlantic/Makefile
index 016e36928..0d0d0a502 100644
--- a/drivers/net/atlantic/Makefile
+++ b/drivers/net/atlantic/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_atlantic.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 EXPORT_MAP := rte_pmd_atlantic_version.map

diff --git a/drivers/net/atlantic/meson.build b/drivers/net/atlantic/meson.build
index 919d74149..60b84684e 100644
--- a/drivers/net/atlantic/meson.build
+++ b/drivers/net/atlantic/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Aquantia Corporation

-allow_experimental_apis = true
-
 sources = files(
 	'atl_rxtx.c',
 	'atl_ethdev.c',
diff --git a/drivers/net/avp/Makefile b/drivers/net/avp/Makefile
index 8c12d3b7a..075247b13 100644
--- a/drivers/net/avp/Makefile
+++ b/drivers/net/avp/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_avp.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/avp/meson.build b/drivers/net/avp/meson.build
index 793bb185d..a5f63cdef 100644
--- a/drivers/net/avp/meson.build
+++ b/drivers/net/avp/meson.build
@@ -5,6 +5,5 @@  if not is_linux
 	build = false
 	reason = 'only supported on linux'
 endif
-allow_experimental_apis = true
 sources = files('avp_ethdev.c')
 install_headers('rte_avp_common.h', 'rte_avp_fifo.h')
diff --git a/drivers/net/axgbe/Makefile b/drivers/net/axgbe/Makefile
index 0097a9307..e421d0da1 100644
--- a/drivers/net/axgbe/Makefile
+++ b/drivers/net/axgbe/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_axgbe.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 EXPORT_MAP := rte_pmd_axgbe_version.map

diff --git a/drivers/net/axgbe/meson.build b/drivers/net/axgbe/meson.build
index 366b28927..86873b7ef 100644
--- a/drivers/net/axgbe/meson.build
+++ b/drivers/net/axgbe/meson.build
@@ -6,8 +6,6 @@  if not is_linux
 	reason = 'only supported on linux'
 endif

-allow_experimental_apis = true
-
 sources = files('axgbe_ethdev.c',
 		'axgbe_dev.c',
 		'axgbe_mdio.c',
diff --git a/drivers/net/bnx2x/Makefile b/drivers/net/bnx2x/Makefile
index 5f6c39e4e..451434cc1 100644
--- a/drivers/net/bnx2x/Makefile
+++ b/drivers/net/bnx2x/Makefile
@@ -12,7 +12,6 @@  LIB = librte_pmd_bnx2x.a
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -DZLIB_CONST
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lz
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
diff --git a/drivers/net/bnx2x/meson.build b/drivers/net/bnx2x/meson.build
index 678708905..4892bb234 100644
--- a/drivers/net/bnx2x/meson.build
+++ b/drivers/net/bnx2x/meson.build
@@ -5,7 +5,6 @@  dep = dependency('zlib', required: false)
 build = dep.found()
 reason = 'missing dependency, "zlib"'
 ext_deps += dep
-allow_experimental_apis = true
 cflags += '-DZLIB_CONST'
 sources = files('bnx2x.c',
 	'bnx2x_ethdev.c',
diff --git a/drivers/net/bonding/Makefile b/drivers/net/bonding/Makefile
index a64296d8c..728551a84 100644
--- a/drivers/net/bonding/Makefile
+++ b/drivers/net/bonding/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_bond.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
diff --git a/drivers/net/bonding/meson.build b/drivers/net/bonding/meson.build
index d133375d4..a3eff3b31 100644
--- a/drivers/net/bonding/meson.build
+++ b/drivers/net/bonding/meson.build
@@ -2,7 +2,6 @@ 
 # Copyright(c) 2017 Intel Corporation

 name = 'bond' #, james bond :-)
-allow_experimental_apis = true
 sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c', 'rte_eth_bond_flow.c',
 	'rte_eth_bond_args.c', 'rte_eth_bond_8023ad.c', 'rte_eth_bond_alb.c')

diff --git a/drivers/net/dpaa/Makefile b/drivers/net/dpaa/Makefile
index f63c9bf54..d7bbc0e15 100644
--- a/drivers/net/dpaa/Makefile
+++ b/drivers/net/dpaa/Makefile
@@ -25,9 +25,6 @@  CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include

 EXPORT_MAP := rte_pmd_dpaa_version.map

-# depends on dpaa bus which uses experimental API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 # Interfaces with DPDK
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_ethdev.c
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA_PMD) += dpaa_rxtx.c
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
index 542b44af4..271416f08 100644
--- a/drivers/net/dpaa/meson.build
+++ b/drivers/net/dpaa/meson.build
@@ -14,6 +14,4 @@  if cc.has_argument('-Wno-pointer-arith')
 	cflags += '-Wno-pointer-arith'
 endif

-allow_experimental_apis = true
-
 install_headers('rte_pmd_dpaa.h')
diff --git a/drivers/net/dpaa2/Makefile b/drivers/net/dpaa2/Makefile
index cdd9115ba..6f38c18b9 100644
--- a/drivers/net/dpaa2/Makefile
+++ b/drivers/net/dpaa2/Makefile
@@ -24,9 +24,6 @@  CFLAGS += -I$(RTE_SDK)/drivers/mempool/dpaa2
 # versioning export map
 EXPORT_MAP := rte_pmd_dpaa2_version.map

-# depends on fslmc bus which uses experimental API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += base/dpaa2_hw_dpni.c
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_rxtx.c
 SRCS-$(CONFIG_RTE_LIBRTE_DPAA2_PMD) += dpaa2_ethdev.c
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index 571cdb7d4..6dd0eb274 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -24,7 +24,4 @@  endif

 includes += include_directories('base', 'mc')

-# depends on fslmc bus which uses experimental API
-allow_experimental_apis = true
-
 install_headers('rte_pmd_dpaa2.h')
diff --git a/drivers/net/e1000/Makefile b/drivers/net/e1000/Makefile
index d93a5225c..9fb038cf0 100644
--- a/drivers/net/e1000/Makefile
+++ b/drivers/net/e1000/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_e1000.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/e1000/base/meson.build b/drivers/net/e1000/base/meson.build
index f26f24298..5e1716def 100644
--- a/drivers/net/e1000/base/meson.build
+++ b/drivers/net/e1000/base/meson.build
@@ -25,9 +25,6 @@  error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
 	'-Wno-unused-variable', '-Wno-misleading-indentation',
 	'-Wno-implicit-fallthrough']
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 foreach flag: error_cflags
 	if cc.has_argument(flag)
 		c_args += flag
diff --git a/drivers/net/e1000/meson.build b/drivers/net/e1000/meson.build
index d0901d377..cf456995c 100644
--- a/drivers/net/e1000/meson.build
+++ b/drivers/net/e1000/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
-
 subdir('base')
 objs = [base_objs]

diff --git a/drivers/net/ena/Makefile b/drivers/net/ena/Makefile
index b44daa896..8ccff36db 100644
--- a/drivers/net/ena/Makefile
+++ b/drivers/net/ena/Makefile
@@ -12,8 +12,6 @@  CFLAGS += $(WERROR_FLAGS) -O2
 INCLUDES :=-I$(SRCDIR) -I$(SRCDIR)/base/ena_defs -I$(SRCDIR)/base

 EXPORT_MAP := rte_pmd_ena_version.map
-# rte_fbarray is not yet part of stable API
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 VPATH += $(SRCDIR)/base
 #
diff --git a/drivers/net/ena/meson.build b/drivers/net/ena/meson.build
index 091ca6e3f..189903b90 100644
--- a/drivers/net/ena/meson.build
+++ b/drivers/net/ena/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
 sources = files('ena_ethdev.c',
 	'base/ena_com.c',
 	'base/ena_eth_com.c')
diff --git a/drivers/net/enetc/Makefile b/drivers/net/enetc/Makefile
index 7f7a85f64..7276026e3 100644
--- a/drivers/net/enetc/Makefile
+++ b/drivers/net/enetc/Makefile
@@ -11,7 +11,6 @@  LIB = librte_pmd_enetc.a
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 EXPORT_MAP := rte_pmd_enetc_version.map
 SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_ethdev.c
 SRCS-$(CONFIG_RTE_LIBRTE_ENETC_PMD) += enetc_rxtx.c
diff --git a/drivers/net/enetc/meson.build b/drivers/net/enetc/meson.build
index af11c0960..bea54bea8 100644
--- a/drivers/net/enetc/meson.build
+++ b/drivers/net/enetc/meson.build
@@ -11,4 +11,3 @@  sources = files('enetc_ethdev.c',
 		'enetc_rxtx.c')

 includes += include_directories('base')
-allow_experimental_apis = true
diff --git a/drivers/net/enic/Makefile b/drivers/net/enic/Makefile
index 316088a3c..d098a474a 100644
--- a/drivers/net/enic/Makefile
+++ b/drivers/net/enic/Makefile
@@ -11,8 +11,6 @@  LIB = librte_pmd_enic.a

 EXPORT_MAP := rte_pmd_enic_version.map

-# Experimental APIs used: rte_intr_ack
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/base/
 CFLAGS += -I$(SRCDIR)
 CFLAGS += -O3
diff --git a/drivers/net/enic/meson.build b/drivers/net/enic/meson.build
index e5eeb5667..1bd7cc7e1 100644
--- a/drivers/net/enic/meson.build
+++ b/drivers/net/enic/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Cisco Systems, Inc.

-# Experimental APIs used: rte_intr_ack
-cflags += ['-DALLOW_EXPERIMENTAL_API']
 sources = files(
 	'base/vnic_cq.c',
 	'base/vnic_dev.c',
diff --git a/drivers/net/failsafe/Makefile b/drivers/net/failsafe/Makefile
index bebc9056e..464fd0515 100644
--- a/drivers/net/failsafe/Makefile
+++ b/drivers/net/failsafe/Makefile
@@ -27,7 +27,6 @@  endif
 # No exported include files

 # Basic CFLAGS:
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -std=gnu99 -Wextra
 CFLAGS += -O3
 CFLAGS += -I.
diff --git a/drivers/net/failsafe/meson.build b/drivers/net/failsafe/meson.build
index dfd4067cb..56010e212 100644
--- a/drivers/net/failsafe/meson.build
+++ b/drivers/net/failsafe/meson.build
@@ -11,8 +11,6 @@  else
 	cflags += '-DBSD'
 endif

-allow_experimental_apis = true
-
 sources = files('failsafe_args.c',
 	'failsafe.c',
 	'failsafe_eal.c',
diff --git a/drivers/net/fm10k/Makefile b/drivers/net/fm10k/Makefile
index 29e659da8..d48638992 100644
--- a/drivers/net/fm10k/Makefile
+++ b/drivers/net/fm10k/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_fm10k.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 EXPORT_MAP := rte_pmd_fm10k_version.map

diff --git a/drivers/net/fm10k/base/meson.build b/drivers/net/fm10k/base/meson.build
index 40d9b730a..6ac11b201 100644
--- a/drivers/net/fm10k/base/meson.build
+++ b/drivers/net/fm10k/base/meson.build
@@ -16,9 +16,6 @@  error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
 	'-Wno-implicit-fallthrough'
 ]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 foreach flag: error_cflags
 	if cc.has_argument(flag)
 		c_args += flag
diff --git a/drivers/net/fm10k/meson.build b/drivers/net/fm10k/meson.build
index 8f6e42392..2772ea4df 100644
--- a/drivers/net/fm10k/meson.build
+++ b/drivers/net/fm10k/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
-
 subdir('base')
 objs = [base_objs]

diff --git a/drivers/net/hinic/base/meson.build b/drivers/net/hinic/base/meson.build
index 6cf947f84..0695994ba 100644
--- a/drivers/net/hinic/base/meson.build
+++ b/drivers/net/hinic/base/meson.build
@@ -12,7 +12,7 @@  sources = [
 	'hinic_pmd_niccfg.c',
 	'hinic_pmd_nicio.c',
 	'hinic_pmd_wq.c',
- 	'hinic_pmd_mbox.c',
+	'hinic_pmd_mbox.c',
 ]

 extra_flags = []
diff --git a/drivers/net/hinic/meson.build b/drivers/net/hinic/meson.build
index bc7e24639..34ec4af66 100644
--- a/drivers/net/hinic/meson.build
+++ b/drivers/net/hinic/meson.build
@@ -8,7 +8,7 @@  sources = files(
 	'hinic_pmd_ethdev.c',
 	'hinic_pmd_rx.c',
 	'hinic_pmd_tx.c',
- 	'hinic_pmd_flow.c',
+	'hinic_pmd_flow.c',
 	)

 includes += include_directories('base')
diff --git a/drivers/net/hns3/Makefile b/drivers/net/hns3/Makefile
index ae0ee7e93..d7798a470 100644
--- a/drivers/net/hns3/Makefile
+++ b/drivers/net/hns3/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_hns3.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 # Experimantal APIs:
 # - rte_mp_action_register
 # - rte_mp_action_unregister
diff --git a/drivers/net/hns3/meson.build b/drivers/net/hns3/meson.build
index 1a350fc8c..e01e6ce60 100644
--- a/drivers/net/hns3/meson.build
+++ b/drivers/net/hns3/meson.build
@@ -27,11 +27,4 @@  sources = files('hns3_cmd.c',
 	'hns3_stats.c',
 	'hns3_mp.c')

-allow_experimental_apis = true
-# Experimantal APIs:
-# - rte_mp_action_register
-# - rte_mp_action_unregister
-# - rte_mp_reply
-# - rte_mp_request_sync
-
 deps += ['hash']
diff --git a/drivers/net/i40e/Makefile b/drivers/net/i40e/Makefile
index 819473aba..7ec8d9533 100644
--- a/drivers/net/i40e/Makefile
+++ b/drivers/net/i40e/Makefile
@@ -11,7 +11,6 @@  LIB = librte_pmd_i40e.a
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -DPF_DRIVER -DVF_DRIVER -DINTEGRATED_VF
 CFLAGS += -DX722_A0_SUPPORT
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
diff --git a/drivers/net/i40e/base/meson.build b/drivers/net/i40e/base/meson.build
index 3dee8c975..db0c830dc 100644
--- a/drivers/net/i40e/base/meson.build
+++ b/drivers/net/i40e/base/meson.build
@@ -18,9 +18,6 @@  error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
 		'-Wno-unused-parameter',
 ]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 foreach flag: error_cflags
 	if cc.has_argument(flag)
 		c_args += flag
diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index b01babba1..886e8da66 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -4,8 +4,7 @@ 
 cflags += ['-DPF_DRIVER',
 	'-DVF_DRIVER',
 	'-DINTEGRATED_VF',
-	'-DX722_A0_SUPPORT',
-	'-DALLOW_EXPERIMENTAL_API']
+	'-DX722_A0_SUPPORT']

 subdir('base')
 objs = [base_objs]
diff --git a/drivers/net/iavf/Makefile b/drivers/net/iavf/Makefile
index 514073d76..399682594 100644
--- a/drivers/net/iavf/Makefile
+++ b/drivers/net/iavf/Makefile
@@ -9,7 +9,7 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_iavf.a

 CFLAGS += -I$(RTE_SDK)/drivers/common/iavf
-CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing -DALLOW_EXPERIMENTAL_API
+CFLAGS += -O3 $(WERROR_FLAGS) -Wno-strict-aliasing
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/iavf/meson.build b/drivers/net/iavf/meson.build
index dbd0b01db..7bf3a3304 100644
--- a/drivers/net/iavf/meson.build
+++ b/drivers/net/iavf/meson.build
@@ -3,8 +3,6 @@ 

 cflags += ['-Wno-strict-aliasing']

-allow_experimental_apis = true
-
 includes += include_directories('../../common/iavf')
 deps += ['common_iavf']

diff --git a/drivers/net/ice/Makefile b/drivers/net/ice/Makefile
index 6c4d15526..54a90a86f 100644
--- a/drivers/net/ice/Makefile
+++ b/drivers/net/ice/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_ice.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lrte_eal -lrte_mbuf -lrte_ethdev -lrte_kvargs
 LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_hash
diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build
index f9e897bbc..617b2c815 100644
--- a/drivers/net/ice/meson.build
+++ b/drivers/net/ice/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
-
 subdir('base')
 objs = [base_objs]

diff --git a/drivers/net/ionic/Makefile b/drivers/net/ionic/Makefile
index f74ac2d34..7442e2c5c 100644
--- a/drivers/net/ionic/Makefile
+++ b/drivers/net/ionic/Makefile
@@ -8,9 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_ionic.a

-# Required to use rte_eth_dev_create and rte_eth_dev_destroy
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/net/ipn3ke/Makefile b/drivers/net/ipn3ke/Makefile
index 2c7ef0a1d..40696dbde 100644
--- a/drivers/net/ipn3ke/Makefile
+++ b/drivers/net/ipn3ke/Makefile
@@ -15,7 +15,6 @@  LIB = librte_pmd_ipn3ke.a
 #  rte_eth_dev_destroy()
 #  rte_eth_switch_domain_free()
 #
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
diff --git a/drivers/net/ipn3ke/meson.build b/drivers/net/ipn3ke/meson.build
index f19083af1..ec9cb7daf 100644
--- a/drivers/net/ipn3ke/meson.build
+++ b/drivers/net/ipn3ke/meson.build
@@ -19,8 +19,6 @@  if not dep.found()
 	subdir_done()
 endif

-allow_experimental_apis = true
-
 includes += include_directories('../../raw/ifpga')

 sources += files('ipn3ke_ethdev.c',
diff --git a/drivers/net/ixgbe/Makefile b/drivers/net/ixgbe/Makefile
index aec56a680..0f0bcf1d6 100644
--- a/drivers/net/ixgbe/Makefile
+++ b/drivers/net/ixgbe/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_ixgbe.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/net/ixgbe/base/meson.build b/drivers/net/ixgbe/base/meson.build
index bbd0f51ea..da3887560 100644
--- a/drivers/net/ixgbe/base/meson.build
+++ b/drivers/net/ixgbe/base/meson.build
@@ -22,9 +22,6 @@  error_cflags = ['-Wno-unused-value',
 		'-Wno-unused-parameter',
 		]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 foreach flag: error_cflags
 	if cc.has_argument(flag)
 		c_args += flag
diff --git a/drivers/net/ixgbe/meson.build b/drivers/net/ixgbe/meson.build
index 06cf42a4a..949075eb2 100644
--- a/drivers/net/ixgbe/meson.build
+++ b/drivers/net/ixgbe/meson.build
@@ -3,8 +3,6 @@ 

 cflags += ['-DRTE_LIBRTE_IXGBE_BYPASS']

-allow_experimental_apis = true
-
 subdir('base')
 objs = [base_objs]

diff --git a/drivers/net/memif/Makefile b/drivers/net/memif/Makefile
index 959b36bcb..3bf4ddce4 100644
--- a/drivers/net/memif/Makefile
+++ b/drivers/net/memif/Makefile
@@ -12,13 +12,6 @@  EXPORT_MAP := rte_pmd_memif_version.map

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-# Experimantal APIs:
-# - rte_intr_callback_unregister_pending
-# - rte_mp_action_register
-# - rte_mp_reply
-# - rte_mp_request_sync
-# - rte_mcfg_get_single_file_segments
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
 LDLIBS += -lrte_ethdev -lrte_kvargs -lrte_net
 LDLIBS += -lrte_hash
diff --git a/drivers/net/memif/meson.build b/drivers/net/memif/meson.build
index 4c1c647f6..9c3ba432d 100644
--- a/drivers/net/memif/meson.build
+++ b/drivers/net/memif/meson.build
@@ -9,12 +9,4 @@  endif
 sources = files('rte_eth_memif.c',
 		'memif_socket.c')

-allow_experimental_apis = true
-# Experimantal APIs:
-# - rte_intr_callback_unregister_pending
-# - rte_mp_action_register
-# - rte_mp_reply
-# - rte_mp_request_sync
-# - rte_mcfg_get_single_file_segments
-
 deps += ['hash']
diff --git a/drivers/net/mlx4/Makefile b/drivers/net/mlx4/Makefile
index c5543ed3d..02e9b2ec0 100644
--- a/drivers/net/mlx4/Makefile
+++ b/drivers/net/mlx4/Makefile
@@ -38,7 +38,6 @@  CFLAGS += -D_BSD_SOURCE
 CFLAGS += -D_DEFAULT_SOURCE
 CFLAGS += -D_XOPEN_SOURCE=600
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 ifeq ($(CONFIG_RTE_IBVERBS_LINK_DLOPEN),y)
 CFLAGS += -DMLX4_GLUE='"$(LIB_GLUE)"'
 CFLAGS += -DMLX4_GLUE_VERSION='"$(LIB_GLUE_VERSION)"'
diff --git a/drivers/net/mlx4/meson.build b/drivers/net/mlx4/meson.build
index c59874573..5a25e11a7 100644
--- a/drivers/net/mlx4/meson.build
+++ b/drivers/net/mlx4/meson.build
@@ -50,7 +50,6 @@  if static_ibverbs
 	ext_deps += declare_dependency(link_args:ibv_ldflags.split())
 endif

-allow_experimental_apis = true
 sources = files(
 	'mlx4.c',
 	'mlx4_ethdev.c',
diff --git a/drivers/net/mlx5/Makefile b/drivers/net/mlx5/Makefile
index e8ba6244d..2577ee5e5 100644
--- a/drivers/net/mlx5/Makefile
+++ b/drivers/net/mlx5/Makefile
@@ -56,9 +56,6 @@  CFLAGS += -Wno-error=cast-qual

 EXPORT_MAP := rte_pmd_mlx5_version.map

-# memseg walk is not part of stable API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 # DEBUG which is usually provided on the command-line may enable
 # CONFIG_RTE_LIBRTE_MLX5_DEBUG.
 ifeq ($(DEBUG),1)
diff --git a/drivers/net/mlx5/meson.build b/drivers/net/mlx5/meson.build
index d418d26ba..928663af7 100644
--- a/drivers/net/mlx5/meson.build
+++ b/drivers/net/mlx5/meson.build
@@ -8,7 +8,6 @@  if not is_linux
 	subdir_done()
 endif

-allow_experimental_apis = true
 deps += ['hash', 'common_mlx5']
 sources = files(
 	'mlx5.c',
diff --git a/drivers/net/netvsc/Makefile b/drivers/net/netvsc/Makefile
index 45526e2a8..da8991584 100644
--- a/drivers/net/netvsc/Makefile
+++ b/drivers/net/netvsc/Makefile
@@ -5,7 +5,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_netvsc.a

 CFLAGS += -O3 $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 EXPORT_MAP := rte_pmd_netvsc_version.map

diff --git a/drivers/net/netvsc/meson.build b/drivers/net/netvsc/meson.build
index 131dd2866..e7f449302 100644
--- a/drivers/net/netvsc/meson.build
+++ b/drivers/net/netvsc/meson.build
@@ -6,5 +6,3 @@  reason = 'missing dependency, DPDK VMBus driver'
 sources = files('hn_ethdev.c', 'hn_rxtx.c', 'hn_rndis.c', 'hn_nvs.c', 'hn_vf.c')

 deps += ['bus_vmbus' ]
-
-allow_experimental_apis = true
diff --git a/drivers/net/nfp/Makefile b/drivers/net/nfp/Makefile
index aa720d669..289b3a60e 100644
--- a/drivers/net/nfp/Makefile
+++ b/drivers/net/nfp/Makefile
@@ -10,7 +10,6 @@  LIB = librte_pmd_nfp.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lm
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
diff --git a/drivers/net/nfp/meson.build b/drivers/net/nfp/meson.build
index b487cdffd..24a9a6da9 100644
--- a/drivers/net/nfp/meson.build
+++ b/drivers/net/nfp/meson.build
@@ -18,5 +18,3 @@  sources = files('nfpcore/nfp_cpp_pcie_ops.c',
 	'nfpcore/nfp_nsp_eth.c',
 	'nfpcore/nfp_hwinfo.c',
 	'nfp_net.c')
-
-allow_experimental_apis = true
diff --git a/drivers/net/octeontx/Makefile b/drivers/net/octeontx/Makefile
index 8ddfc3089..49ef8f374 100644
--- a/drivers/net/octeontx/Makefile
+++ b/drivers/net/octeontx/Makefile
@@ -42,8 +42,6 @@  else
 CFLAGS_octeontx_rxtx.o += -O3 -Ofast
 endif

-CFLAGS_octeontx_ethdev.o += -DALLOW_EXPERIMENTAL_API
-
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_common_octeontx
 LDLIBS += -lrte_mempool_octeontx
diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
index a06a2c89c..b72104170 100644
--- a/drivers/net/octeontx/base/meson.build
+++ b/drivers/net/octeontx/base/meson.build
@@ -14,9 +14,6 @@  foreach d: depends
 endforeach

 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 base_lib = static_library('octeontx_base', sources,
 	c_args: c_args,
 	dependencies: static_objs,
diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build
index 0e249eb98..ef789eaa9 100644
--- a/drivers/net/octeontx/meson.build
+++ b/drivers/net/octeontx/meson.build
@@ -8,8 +8,6 @@  sources = files('octeontx_rxtx.c',
 		'octeontx_ethdev.c'
 		)

-allow_experimental_apis = true
-
 deps += ['mempool_octeontx', 'eventdev']

 includes += include_directories('base')
diff --git a/drivers/net/pfe/Makefile b/drivers/net/pfe/Makefile
index 20a3839e7..75d30b01a 100644
--- a/drivers/net/pfe/Makefile
+++ b/drivers/net/pfe/Makefile
@@ -15,10 +15,6 @@  CFLAGS += -I$(RTE_SDK)/drivers/net/pfe/base/
 CFLAGS += -I$(RTE_SDK)/drivers/common/dpaax

 EXPORT_MAP := rte_pmd_pfe_version.map
-# Driver uses below experimental APIs
-# rte_mem_iova2virt
-# rte_mem_virt2memseg
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # Interfaces with DPDK
 SRCS-$(CONFIG_RTE_LIBRTE_PFE_PMD) += pfe_ethdev.c
diff --git a/drivers/net/pfe/meson.build b/drivers/net/pfe/meson.build
index 678ce49a9..3e1a228a3 100644
--- a/drivers/net/pfe/meson.build
+++ b/drivers/net/pfe/meson.build
@@ -15,9 +15,4 @@  if cc.has_argument('-Wno-pointer-arith')
 	cflags += '-Wno-pointer-arith'
 endif

-# Driver uses below experimental APIs
-# rte_mem_iova2virt
-# rte_mem_virt2memseg
-allow_experimental_apis = true
-
 includes += include_directories('base')
diff --git a/drivers/net/qede/Makefile b/drivers/net/qede/Makefile
index ada33800c..5810b4d49 100644
--- a/drivers/net/qede/Makefile
+++ b/drivers/net/qede/Makefile
@@ -12,7 +12,6 @@  LIB = librte_pmd_qede.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs
 LDLIBS += -lrte_bus_pci
diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build
index 71b89737d..59b41c895 100644
--- a/drivers/net/qede/base/meson.build
+++ b/drivers/net/qede/base/meson.build
@@ -45,9 +45,6 @@  error_cflags = [
 	'-Wno-pointer-bool-conversion',
 ]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 foreach flag: error_cflags
         if cc.has_argument(flag)
                 c_args += flag
diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build
index 1755719f0..12388a680 100644
--- a/drivers/net/qede/meson.build
+++ b/drivers/net/qede/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>

-allow_experimental_apis = true
-
 subdir('base')
 objs = [base_objs]

diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile
index 1f9c0bc3e..921771db7 100644
--- a/drivers/net/sfc/Makefile
+++ b/drivers/net/sfc/Makefile
@@ -13,7 +13,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_sfc_efx.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/base/
 CFLAGS += -I$(SRCDIR)
 CFLAGS += -O3
diff --git a/drivers/net/sfc/base/meson.build b/drivers/net/sfc/base/meson.build
index 074112f16..bc7bc86cd 100644
--- a/drivers/net/sfc/base/meson.build
+++ b/drivers/net/sfc/base/meson.build
@@ -63,9 +63,6 @@  extra_flags = [
 ]

 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 foreach flag: extra_flags
 	if cc.has_argument(flag)
 		c_args += flag
diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build
index 8c54f9d54..c2f6af757 100644
--- a/drivers/net/sfc/meson.build
+++ b/drivers/net/sfc/meson.build
@@ -11,8 +11,6 @@  if arch_subdir != 'x86' or not dpdk_conf.get('RTE_ARCH_64')
 	reason = 'only supported on x86_64'
 endif

-allow_experimental_apis = true
-
 extra_flags = []

 # Strict-aliasing rules are violated by rte_eth_link to uint64_t casts
diff --git a/drivers/net/softnic/Makefile b/drivers/net/softnic/Makefile
index 5068ffa18..dabbe13a5 100644
--- a/drivers/net/softnic/Makefile
+++ b/drivers/net/softnic/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_softnic.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_pipeline -lrte_port -lrte_table
diff --git a/drivers/net/softnic/meson.build b/drivers/net/softnic/meson.build
index 9c10c2ec8..96c003e15 100644
--- a/drivers/net/softnic/meson.build
+++ b/drivers/net/softnic/meson.build
@@ -5,7 +5,6 @@  if not is_linux
 	build = false
 	reason = 'only supported on linux'
 endif
-allow_experimental_apis = true
 install_headers('rte_eth_softnic.h')
 sources = files('rte_eth_softnic_tm.c',
 	'rte_eth_softnic.c',
diff --git a/drivers/net/tap/Makefile b/drivers/net/tap/Makefile
index 088fa8f9a..cbf87af40 100644
--- a/drivers/net/tap/Makefile
+++ b/drivers/net/tap/Makefile
@@ -20,7 +20,6 @@  CFLAGS += -O3
 CFLAGS += -I$(SRCDIR)
 CFLAGS += -I.
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
 LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs -lrte_hash
 LDLIBS += -lrte_bus_vdev -lrte_gso
diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build
index baa70f756..c1cdf9e67 100644
--- a/drivers/net/tap/meson.build
+++ b/drivers/net/tap/meson.build
@@ -39,7 +39,6 @@  args = [
 	  'TCA_ACT_BPF_FD' ],
 ]
 config = configuration_data()
-allow_experimental_apis = true
 foreach arg:args
 	config.set(arg[0], cc.has_header_symbol(arg[1], arg[2]))
 endforeach
diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile
index 969338a18..149638a49 100644
--- a/drivers/net/thunderx/Makefile
+++ b/drivers/net/thunderx/Makefile
@@ -10,7 +10,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_thunderx_nicvf.a

 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lm
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
index bf4e8608a..8998264a3 100644
--- a/drivers/net/thunderx/base/meson.build
+++ b/drivers/net/thunderx/base/meson.build
@@ -8,9 +8,6 @@  sources = [
 ]

 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
 base_lib = static_library('nicvf_base', sources,
 	c_args: c_args,
 	dependencies: static_rte_ethdev
diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build
index 23d945811..69819a97f 100644
--- a/drivers/net/thunderx/meson.build
+++ b/drivers/net/thunderx/meson.build
@@ -4,7 +4,6 @@ 
 subdir('base')
 objs = [base_objs]

-allow_experimental_apis = true
 sources = files('nicvf_rxtx.c',
 		'nicvf_ethdev.c',
 		'nicvf_svf.c'
diff --git a/drivers/net/vdev_netvsc/Makefile b/drivers/net/vdev_netvsc/Makefile
index 9cd81225b..01d26fb79 100644
--- a/drivers/net/vdev_netvsc/Makefile
+++ b/drivers/net/vdev_netvsc/Makefile
@@ -9,7 +9,6 @@  LIB = librte_pmd_vdev_netvsc.a
 EXPORT_MAP := rte_pmd_vdev_netvsc_version.map

 # Additional compilation flags.
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += -g
 CFLAGS += -Wall -Wextra
diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build
index bf62edb7a..58b0012ed 100644
--- a/drivers/net/vdev_netvsc/meson.build
+++ b/drivers/net/vdev_netvsc/meson.build
@@ -7,8 +7,6 @@  if not is_linux
 endif
 sources = files('vdev_netvsc.c')

-allow_experimental_apis = true
-
 cflags_options = [
         '-D_BSD_SOURCE',
         '-D_DEFAULT_SOURCE',
diff --git a/drivers/net/virtio/Makefile b/drivers/net/virtio/Makefile
index efdcb0d93..c9edb84ee 100644
--- a/drivers/net/virtio/Makefile
+++ b/drivers/net/virtio/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_virtio.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
diff --git a/drivers/net/virtio/meson.build b/drivers/net/virtio/meson.build
index 5e7ca855c..15150eea1 100644
--- a/drivers/net/virtio/meson.build
+++ b/drivers/net/virtio/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
 sources += files('virtio_ethdev.c',
 	'virtio_pci.c',
 	'virtio_rxtx.c',
diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile
index 3a63cf2e9..4390fedee 100644
--- a/drivers/net/vmxnet3/Makefile
+++ b/drivers/net/vmxnet3/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_vmxnet3_uio.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/net/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build
index a92bd2868..0641f776f 100644
--- a/drivers/net/vmxnet3/meson.build
+++ b/drivers/net/vmxnet3/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Luca Boccassi <bluca@debian.org>

-allow_experimental_apis = true
 sources += files(
 	'vmxnet3_ethdev.c',
 	'vmxnet3_rxtx.c',
diff --git a/drivers/raw/dpaa2_cmdif/Makefile b/drivers/raw/dpaa2_cmdif/Makefile
index f671a30cc..227ec4896 100644
--- a/drivers/raw/dpaa2_cmdif/Makefile
+++ b/drivers/raw/dpaa2_cmdif/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_rawdev_dpaa2_cmdif.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/raw/dpaa2_cmdif/meson.build b/drivers/raw/dpaa2_cmdif/meson.build
index 70247622b..e7656a3cd 100644
--- a/drivers/raw/dpaa2_cmdif/meson.build
+++ b/drivers/raw/dpaa2_cmdif/meson.build
@@ -6,6 +6,4 @@  reason = 'missing dependency, DPDK DPAA2 mempool driver'
 deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev']
 sources = files('dpaa2_cmdif.c')

-allow_experimental_apis = true
-
 install_headers('rte_pmd_dpaa2_cmdif.h')
diff --git a/drivers/raw/dpaa2_qdma/Makefile b/drivers/raw/dpaa2_qdma/Makefile
index fc5b3435b..7b2abdddb 100644
--- a/drivers/raw/dpaa2_qdma/Makefile
+++ b/drivers/raw/dpaa2_qdma/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_rawdev_dpaa2_qdma.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)

diff --git a/drivers/raw/dpaa2_qdma/meson.build b/drivers/raw/dpaa2_qdma/meson.build
index fe166d918..b9b08153a 100644
--- a/drivers/raw/dpaa2_qdma/meson.build
+++ b/drivers/raw/dpaa2_qdma/meson.build
@@ -6,6 +6,4 @@  reason = 'missing dependency, DPDK DPAA2 mempool driver'
 deps += ['rawdev', 'mempool_dpaa2', 'ring', 'kvargs']
 sources = files('dpaa2_qdma.c')

-allow_experimental_apis = true
-
 install_headers('rte_pmd_dpaa2_qdma.h')
diff --git a/drivers/raw/ifpga/Makefile b/drivers/raw/ifpga/Makefile
index eb03a856c..371e127f1 100644
--- a/drivers/raw/ifpga/Makefile
+++ b/drivers/raw/ifpga/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_rawdev_ifpga.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 CFLAGS += -I$(RTE_SDK)/drivers/bus/ifpga
diff --git a/drivers/raw/ifpga/meson.build b/drivers/raw/ifpga/meson.build
index e2a4b8ccc..05a1711b5 100644
--- a/drivers/raw/ifpga/meson.build
+++ b/drivers/raw/ifpga/meson.build
@@ -23,5 +23,3 @@  sources = files('ifpga_rawdev.c')
 includes += include_directories('base')
 includes += include_directories('../../net/ipn3ke')
 includes += include_directories('../../net/i40e')
-
-allow_experimental_apis = true
diff --git a/drivers/raw/ntb/Makefile b/drivers/raw/ntb/Makefile
index d69b4306b..8f0bff9b0 100644
--- a/drivers/raw/ntb/Makefile
+++ b/drivers/raw/ntb/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_rawdev_ntb.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool
diff --git a/drivers/raw/ntb/meson.build b/drivers/raw/ntb/meson.build
index 7a7d26126..2926193a0 100644
--- a/drivers/raw/ntb/meson.build
+++ b/drivers/raw/ntb/meson.build
@@ -6,4 +6,3 @@  deps += ['rawdev', 'mbuf', 'mempool',
 sources = files('ntb.c',
                 'ntb_hw_intel.c')
 install_headers('rte_pmd_ntb.h')
-allow_experimental_apis = true
diff --git a/drivers/vdpa/ifc/Makefile b/drivers/vdpa/ifc/Makefile
index fe227b811..b468bfdbd 100644
--- a/drivers/vdpa/ifc/Makefile
+++ b/drivers/vdpa/ifc/Makefile
@@ -14,7 +14,6 @@  LDLIBS += -lrte_kvargs

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 #
 # Add extra flags for base driver source files to disable warnings in them
diff --git a/drivers/vdpa/ifc/meson.build b/drivers/vdpa/ifc/meson.build
index adc9ed9ff..b179987f9 100644
--- a/drivers/vdpa/ifc/meson.build
+++ b/drivers/vdpa/ifc/meson.build
@@ -3,7 +3,6 @@ 

 build = dpdk_conf.has('RTE_LIBRTE_VHOST')
 reason = 'missing dependency, DPDK vhost library'
-allow_experimental_apis = true
 sources = files('ifcvf_vdpa.c', 'base/ifcvf.c')
 includes += include_directories('base')
 deps += 'vhost'
diff --git a/drivers/vdpa/mlx5/Makefile b/drivers/vdpa/mlx5/Makefile
index 71532174e..ef34c0b88 100644
--- a/drivers/vdpa/mlx5/Makefile
+++ b/drivers/vdpa/mlx5/Makefile
@@ -35,8 +35,6 @@  LDLIBS += -lrte_eal -lrte_vhost -lrte_kvargs -lrte_pci -lrte_bus_pci -lrte_sched
 CFLAGS += -Wno-error=cast-qual

 EXPORT_MAP := rte_pmd_mlx5_vdpa_version.map
-# memseg walk is not part of stable API
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 # DEBUG which is usually provided on the command-line may enable
 # CONFIG_RTE_LIBRTE_MLX5_DEBUG.
diff --git a/drivers/vdpa/mlx5/meson.build b/drivers/vdpa/mlx5/meson.build
index 9c152e546..2963aad71 100644
--- a/drivers/vdpa/mlx5/meson.build
+++ b/drivers/vdpa/mlx5/meson.build
@@ -8,7 +8,6 @@  if not is_linux
 endif

 fmt_name = 'mlx5_vdpa'
-allow_experimental_apis = true
 deps += ['hash', 'common_mlx5', 'vhost', 'pci', 'bus_pci', 'eal', 'sched']
 sources = files(
 	'mlx5_vdpa.c',
diff --git a/lib/librte_bbdev/Makefile b/lib/librte_bbdev/Makefile
index cdabf64f4..9d7576b35 100644
--- a/lib/librte_bbdev/Makefile
+++ b/lib/librte_bbdev/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_bbdev.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
diff --git a/lib/librte_bbdev/meson.build b/lib/librte_bbdev/meson.build
index f6ca0ad7a..126778220 100644
--- a/lib/librte_bbdev/meson.build
+++ b/lib/librte_bbdev/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_bbdev.c')
 headers = files('rte_bbdev.h',
 		'rte_bbdev_pmd.h',
diff --git a/lib/librte_bpf/Makefile b/lib/librte_bpf/Makefile
index 3a20f95e7..3be675043 100644
--- a/lib/librte_bpf/Makefile
+++ b/lib/librte_bpf/Makefile
@@ -8,7 +8,6 @@  LIB = librte_bpf.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_net -lrte_eal
 LDLIBS += -lrte_mempool -lrte_ring
 LDLIBS += -lrte_mbuf -lrte_ethdev
diff --git a/lib/librte_bpf/meson.build b/lib/librte_bpf/meson.build
index 52cfaf9ac..6070898cb 100644
--- a/lib/librte_bpf/meson.build
+++ b/lib/librte_bpf/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
 sources = files('bpf.c',
 		'bpf_exec.c',
 		'bpf_load.c',
diff --git a/lib/librte_cmdline/Makefile b/lib/librte_cmdline/Makefile
index 5bcaecc33..619d9a242 100644
--- a/lib/librte_cmdline/Makefile
+++ b/lib/librte_cmdline/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_cmdline.a

 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 EXPORT_MAP := rte_cmdline_version.map

diff --git a/lib/librte_cmdline/meson.build b/lib/librte_cmdline/meson.build
index a7dd31966..7fc54ff1a 100644
--- a/lib/librte_cmdline/meson.build
+++ b/lib/librte_cmdline/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
 sources = files('cmdline.c',
 	'cmdline_cirbuf.c',
 	'cmdline_parse.c',
diff --git a/lib/librte_compressdev/Makefile b/lib/librte_compressdev/Makefile
index 112cdc5b2..53679d69b 100644
--- a/lib/librte_compressdev/Makefile
+++ b/lib/librte_compressdev/Makefile
@@ -9,7 +9,6 @@  LIB = librte_compressdev.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mempool -lrte_kvargs

 # library source files
diff --git a/lib/librte_compressdev/meson.build b/lib/librte_compressdev/meson.build
index 5416571c9..7d95cd4f3 100644
--- a/lib/librte_compressdev/meson.build
+++ b/lib/librte_compressdev/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_compressdev.c',
 	'rte_compressdev_pmd.c',
 	'rte_comp.c')
diff --git a/lib/librte_cryptodev/Makefile b/lib/librte_cryptodev/Makefile
index 7fac49afa..2ba0dbeec 100644
--- a/lib/librte_cryptodev/Makefile
+++ b/lib/librte_cryptodev/Makefile
@@ -9,7 +9,6 @@  LIB = librte_cryptodev.a
 # build flags
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mempool -lrte_ring -lrte_mbuf
 LDLIBS += -lrte_kvargs

diff --git a/lib/librte_cryptodev/meson.build b/lib/librte_cryptodev/meson.build
index 49bae03a8..42825a810 100644
--- a/lib/librte_cryptodev/meson.build
+++ b/lib/librte_cryptodev/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017-2019 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_cryptodev.c', 'rte_cryptodev_pmd.c')
 headers = files('rte_cryptodev.h',
 	'rte_cryptodev_pmd.h',
diff --git a/lib/librte_eal/freebsd/Makefile b/lib/librte_eal/freebsd/Makefile
index e5d4d8ff2..2d53ce9ee 100644
--- a/lib/librte_eal/freebsd/Makefile
+++ b/lib/librte_eal/freebsd/Makefile
@@ -9,7 +9,6 @@  ARCH_DIR ?= $(RTE_ARCH)
 VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
 VPATH += $(RTE_SDK)/lib/librte_eal/common

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
diff --git a/lib/librte_eal/linux/Makefile b/lib/librte_eal/linux/Makefile
index e5f44959c..fc2316667 100644
--- a/lib/librte_eal/linux/Makefile
+++ b/lib/librte_eal/linux/Makefile
@@ -9,7 +9,6 @@  ARCH_DIR ?= $(RTE_ARCH)
 VPATH += $(RTE_SDK)/lib/librte_eal/$(ARCH_DIR)
 VPATH += $(RTE_SDK)/lib/librte_eal/common

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/include
diff --git a/lib/librte_eal/meson.build b/lib/librte_eal/meson.build
index 9d219a0e6..0267c3b9d 100644
--- a/lib/librte_eal/meson.build
+++ b/lib/librte_eal/meson.build
@@ -11,7 +11,6 @@  subdir(exec_env)

 subdir(arch_subdir)

-allow_experimental_apis = true
 deps += 'kvargs'
 if dpdk_conf.has('RTE_USE_LIBBSD')
 	ext_deps += libbsd
diff --git a/lib/librte_ethdev/Makefile b/lib/librte_ethdev/Makefile
index b627e4e23..943fb8c87 100644
--- a/lib/librte_ethdev/Makefile
+++ b/lib/librte_ethdev/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_ethdev.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_net -lrte_eal -lrte_mempool -lrte_ring
diff --git a/lib/librte_ethdev/meson.build b/lib/librte_ethdev/meson.build
index 3537f22f5..ab341d9c0 100644
--- a/lib/librte_ethdev/meson.build
+++ b/lib/librte_ethdev/meson.build
@@ -2,7 +2,6 @@ 
 # Copyright(c) 2017 Intel Corporation

 name = 'ethdev'
-allow_experimental_apis = true
 sources = files('ethdev_private.c',
 	'ethdev_profile.c',
 	'rte_class_eth.c',
diff --git a/lib/librte_eventdev/Makefile b/lib/librte_eventdev/Makefile
index 1052ccdbb..c85c0d3cf 100644
--- a/lib/librte_eventdev/Makefile
+++ b/lib/librte_eventdev/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_eventdev.a

 # build flags
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 ifeq ($(CONFIG_RTE_EXEC_ENV_LINUX),y)
diff --git a/lib/librte_eventdev/meson.build b/lib/librte_eventdev/meson.build
index 02ac61ad2..16d8240e9 100644
--- a/lib/librte_eventdev/meson.build
+++ b/lib/librte_eventdev/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
-
 if is_linux
 	cflags += '-DLINUX'
 else
diff --git a/lib/librte_fib/Makefile b/lib/librte_fib/Makefile
index 7773427d1..1dd2a495b 100644
--- a/lib/librte_fib/Makefile
+++ b/lib/librte_fib/Makefile
@@ -9,7 +9,6 @@  LIB = librte_fib.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_rib

 EXPORT_MAP := rte_fib_version.map
diff --git a/lib/librte_fib/meson.build b/lib/librte_fib/meson.build
index e2c6f44a7..771828fbe 100644
--- a/lib/librte_fib/meson.build
+++ b/lib/librte_fib/meson.build
@@ -2,7 +2,6 @@ 
 # Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
 # Copyright(c) 2019 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_fib.c', 'rte_fib6.c', 'dir24_8.c', 'trie.c')
 headers = files('rte_fib.h', 'rte_fib6.h')
 deps += ['rib']
diff --git a/lib/librte_flow_classify/Makefile b/lib/librte_flow_classify/Makefile
index 34298af1a..ca3cae82d 100644
--- a/lib/librte_flow_classify/Makefile
+++ b/lib/librte_flow_classify/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_flow_classify.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)

diff --git a/lib/librte_flow_classify/meson.build b/lib/librte_flow_classify/meson.build
index d7e487475..a7a5b3d57 100644
--- a/lib/librte_flow_classify/meson.build
+++ b/lib/librte_flow_classify/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_flow_classify.c', 'rte_flow_classify_parse.c')
 headers = files('rte_flow_classify.h')
 deps += ['net', 'table']
diff --git a/lib/librte_gso/meson.build b/lib/librte_gso/meson.build
index ad8dd8583..af3a63381 100644
--- a/lib/librte_gso/meson.build
+++ b/lib/librte_gso/meson.build
@@ -2,6 +2,6 @@ 
 # Copyright(c) 2017 Intel Corporation

 sources = files('gso_common.c', 'gso_tcp4.c', 'gso_udp4.c',
- 		'gso_tunnel_tcp4.c', 'rte_gso.c')
+		'gso_tunnel_tcp4.c', 'rte_gso.c')
 headers = files('rte_gso.h')
 deps += ['ethdev']
diff --git a/lib/librte_hash/Makefile b/lib/librte_hash/Makefile
index 9b36097f4..ec9f86499 100644
--- a/lib/librte_hash/Makefile
+++ b/lib/librte_hash/Makefile
@@ -6,7 +6,7 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_hash.a

-CFLAGS += -O3 -DALLOW_EXPERIMENTAL_API
+CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
 LDLIBS += -lrte_eal -lrte_ring

diff --git a/lib/librte_hash/meson.build b/lib/librte_hash/meson.build
index bce11ad9e..6ab46ae9d 100644
--- a/lib/librte_hash/meson.build
+++ b/lib/librte_hash/meson.build
@@ -10,6 +10,3 @@  headers = files('rte_crc_arm64.h',

 sources = files('rte_cuckoo_hash.c', 'rte_fbk_hash.c')
 deps += ['ring']
-
-# rte ring reset is not yet part of stable API
-allow_experimental_apis = true
diff --git a/lib/librte_ipsec/Makefile b/lib/librte_ipsec/Makefile
index f74e8a904..e4c69646b 100644
--- a/lib/librte_ipsec/Makefile
+++ b/lib/librte_ipsec/Makefile
@@ -8,7 +8,6 @@  LIB = librte_ipsec.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_net
 LDLIBS += -lrte_cryptodev -lrte_security -lrte_hash

diff --git a/lib/librte_ipsec/meson.build b/lib/librte_ipsec/meson.build
index 70358526b..fc69970ec 100644
--- a/lib/librte_ipsec/meson.build
+++ b/lib/librte_ipsec/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Intel Corporation

-allow_experimental_apis = true
-
 sources = files('esp_inb.c', 'esp_outb.c', 'sa.c', 'ses.c', 'ipsec_sad.c')

 headers = files('rte_ipsec.h', 'rte_ipsec_group.h', 'rte_ipsec_sa.h', 'rte_ipsec_sad.h')
diff --git a/lib/librte_mbuf/Makefile b/lib/librte_mbuf/Makefile
index 9f6e6387f..41ea5496e 100644
--- a/lib/librte_mbuf/Makefile
+++ b/lib/librte_mbuf/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_mbuf.a

 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lrte_eal -lrte_mempool

diff --git a/lib/librte_mbuf/meson.build b/lib/librte_mbuf/meson.build
index d9b53b6ae..e95c770e5 100644
--- a/lib/librte_mbuf/meson.build
+++ b/lib/librte_mbuf/meson.build
@@ -7,5 +7,3 @@  headers = files('rte_mbuf.h', 'rte_mbuf_core.h',
 		'rte_mbuf_ptype.h', 'rte_mbuf_pool_ops.h',
 		'rte_mbuf_dyn.h')
 deps += ['mempool']
-
-allow_experimental_apis = true
diff --git a/lib/librte_mempool/Makefile b/lib/librte_mempool/Makefile
index a5649050b..84aae6604 100644
--- a/lib/librte_mempool/Makefile
+++ b/lib/librte_mempool/Makefile
@@ -7,14 +7,10 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_mempool.a

 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_ring

 EXPORT_MAP := rte_mempool_version.map

-# memseg walk is not yet part of stable API
-CFLAGS += -DALLOW_EXPERIMENTAL_API
-
 # all source are stored in SRCS-y
 SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool.c
 SRCS-$(CONFIG_RTE_LIBRTE_MEMPOOL) +=  rte_mempool_ops.c
diff --git a/lib/librte_mempool/meson.build b/lib/librte_mempool/meson.build
index f8710b61b..45e0cb7ea 100644
--- a/lib/librte_mempool/meson.build
+++ b/lib/librte_mempool/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
-
 extra_flags = []

 foreach flag: extra_flags
@@ -15,6 +13,3 @@  sources = files('rte_mempool.c', 'rte_mempool_ops.c',
 		'rte_mempool_ops_default.c')
 headers = files('rte_mempool.h')
 deps += ['ring']
-
-# memseg walk is not yet part of stable API
-allow_experimental_apis = true
diff --git a/lib/librte_net/Makefile b/lib/librte_net/Makefile
index aabdf4879..aa1d6fed5 100644
--- a/lib/librte_net/Makefile
+++ b/lib/librte_net/Makefile
@@ -5,7 +5,6 @@  include $(RTE_SDK)/mk/rte.vars.mk

 LIB = librte_net.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 LDLIBS += -lrte_mbuf -lrte_eal -lrte_mempool

diff --git a/lib/librte_net/meson.build b/lib/librte_net/meson.build
index 208eee2dc..f799349b3 100644
--- a/lib/librte_net/meson.build
+++ b/lib/librte_net/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
 headers = files('rte_ip.h',
 	'rte_tcp.h',
 	'rte_udp.h',
diff --git a/lib/librte_pdump/Makefile b/lib/librte_pdump/Makefile
index fde8ac92b..ece8aaacc 100644
--- a/lib/librte_pdump/Makefile
+++ b/lib/librte_pdump/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_pdump.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_ethdev

diff --git a/lib/librte_pdump/meson.build b/lib/librte_pdump/meson.build
index 1173cdea3..3a95eabde 100644
--- a/lib/librte_pdump/meson.build
+++ b/lib/librte_pdump/meson.build
@@ -3,5 +3,4 @@ 

 sources = files('rte_pdump.c')
 headers = files('rte_pdump.h')
-allow_experimental_apis = true
 deps += ['ethdev']
diff --git a/lib/librte_pipeline/Makefile b/lib/librte_pipeline/Makefile
index d2abb5f3f..cfbbd1828 100644
--- a/lib/librte_pipeline/Makefile
+++ b/lib/librte_pipeline/Makefile
@@ -8,7 +8,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pipeline.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf -lrte_table
diff --git a/lib/librte_pipeline/meson.build b/lib/librte_pipeline/meson.build
index be8a3536a..d70b1a023 100644
--- a/lib/librte_pipeline/meson.build
+++ b/lib/librte_pipeline/meson.build
@@ -1,7 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2017 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_pipeline.c', 'rte_port_in_action.c', 'rte_table_action.c')
 headers = files('rte_pipeline.h', 'rte_port_in_action.h', 'rte_table_action.h')
 deps += ['port', 'table', 'meter', 'sched', 'cryptodev']
diff --git a/lib/librte_power/Makefile b/lib/librte_power/Makefile
index 9a6db07e5..087d643ee 100644
--- a/lib/librte_power/Makefile
+++ b/lib/librte_power/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_power.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -fno-strict-aliasing
 LDLIBS += -lrte_eal -lrte_timer

diff --git a/lib/librte_rcu/Makefile b/lib/librte_rcu/Makefile
index c4bb28d77..728669975 100644
--- a/lib/librte_rcu/Makefile
+++ b/lib/librte_rcu/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_rcu.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 LDLIBS += -lrte_eal

diff --git a/lib/librte_rcu/meson.build b/lib/librte_rcu/meson.build
index 62920ba02..5929bd3a7 100644
--- a/lib/librte_rcu/meson.build
+++ b/lib/librte_rcu/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2018 Arm Limited

-allow_experimental_apis = true
-
 sources = files('rte_rcu_qsbr.c')
 headers = files('rte_rcu_qsbr.h')

diff --git a/lib/librte_rib/Makefile b/lib/librte_rib/Makefile
index 4a1df4e06..be80ce5d3 100644
--- a/lib/librte_rib/Makefile
+++ b/lib/librte_rib/Makefile
@@ -9,7 +9,6 @@  LIB = librte_rib.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal -lrte_mempool

 EXPORT_MAP := rte_rib_version.map
diff --git a/lib/librte_rib/meson.build b/lib/librte_rib/meson.build
index 46a1c0c90..7bacbb453 100644
--- a/lib/librte_rib/meson.build
+++ b/lib/librte_rib/meson.build
@@ -2,7 +2,6 @@ 
 # Copyright(c) 2018 Vladimir Medvedkin <medvedkinv@gmail.com>
 # Copyright(c) 2019 Intel Corporation

-allow_experimental_apis = true
 sources = files('rte_rib.c', 'rte_rib6.c')
 headers = files('rte_rib.h', 'rte_rib6.h')
 deps += ['mempool']
diff --git a/lib/librte_ring/Makefile b/lib/librte_ring/Makefile
index 917c560ad..28368e6d1 100644
--- a/lib/librte_ring/Makefile
+++ b/lib/librte_ring/Makefile
@@ -6,7 +6,7 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_ring.a

-CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -DALLOW_EXPERIMENTAL_API
+CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 LDLIBS += -lrte_eal

 EXPORT_MAP := rte_ring_version.map
diff --git a/lib/librte_ring/meson.build b/lib/librte_ring/meson.build
index f2f3ccc88..05402e4f0 100644
--- a/lib/librte_ring/meson.build
+++ b/lib/librte_ring/meson.build
@@ -6,6 +6,3 @@  headers = files('rte_ring.h',
 		'rte_ring_elem.h',
 		'rte_ring_c11_mem.h',
 		'rte_ring_generic.h')
-
-# rte_ring_create_elem and rte_ring_get_memsize_elem are experimental
-allow_experimental_apis = true
diff --git a/lib/librte_stack/Makefile b/lib/librte_stack/Makefile
index 94ee48d4b..020ef102b 100644
--- a/lib/librte_stack/Makefile
+++ b/lib/librte_stack/Makefile
@@ -7,7 +7,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_stack.a

 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
-CFLAGS += -DALLOW_EXPERIMENTAL_API
 LDLIBS += -lrte_eal

 EXPORT_MAP := rte_stack_version.map
diff --git a/lib/librte_stack/meson.build b/lib/librte_stack/meson.build
index f420a5c22..8f82a40ec 100644
--- a/lib/librte_stack/meson.build
+++ b/lib/librte_stack/meson.build
@@ -1,8 +1,6 @@ 
 # SPDX-License-Identifier: BSD-3-Clause
 # Copyright(c) 2019 Intel Corporation

-allow_experimental_apis = true
-
 sources = files('rte_stack.c', 'rte_stack_std.c', 'rte_stack_lf.c')
 headers = files('rte_stack.h',
 		'rte_stack_std.h',
diff --git a/lib/librte_telemetry/Makefile b/lib/librte_telemetry/Makefile
index f36454855..12009b9a7 100644
--- a/lib/librte_telemetry/Makefile
+++ b/lib/librte_telemetry/Makefile
@@ -8,7 +8,6 @@  LIB = librte_telemetry.a

 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
-CFLAGS += -DALLOW_EXPERIMENTAL_API

 LDLIBS += -lrte_eal -lrte_ethdev
 LDLIBS += -lrte_metrics
diff --git a/lib/librte_telemetry/meson.build b/lib/librte_telemetry/meson.build
index 26a331140..1bdf128c1 100644
--- a/lib/librte_telemetry/meson.build
+++ b/lib/librte_telemetry/meson.build
@@ -4,7 +4,6 @@ 
 sources = files('rte_telemetry.c', 'rte_telemetry_parser.c', 'rte_telemetry_parser_test.c')
 headers = files('rte_telemetry.h', 'rte_telemetry_internal.h', 'rte_telemetry_parser.h')
 deps += ['metrics', 'ethdev']
-cflags += '-DALLOW_EXPERIMENTAL_API'

 jansson = dependency('jansson', required: false)
 if jansson.found()
diff --git a/lib/librte_timer/Makefile b/lib/librte_timer/Makefile
index 1c290b4c2..7e95d120c 100644
--- a/lib/librte_timer/Makefile
+++ b/lib/librte_timer/Makefile
@@ -6,7 +6,6 @@  include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_timer.a

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 LDLIBS += -lrte_eal

diff --git a/lib/librte_timer/meson.build b/lib/librte_timer/meson.build
index d3b828ce9..89b17e039 100644
--- a/lib/librte_timer/meson.build
+++ b/lib/librte_timer/meson.build
@@ -3,4 +3,3 @@ 

 sources = files('rte_timer.c')
 headers = files('rte_timer.h')
-allow_experimental_apis = true
diff --git a/lib/librte_vhost/Makefile b/lib/librte_vhost/Makefile
index c5cf6632d..e592795f2 100644
--- a/lib/librte_vhost/Makefile
+++ b/lib/librte_vhost/Makefile
@@ -8,7 +8,6 @@  LIB = librte_vhost.a

 EXPORT_MAP := rte_vhost_version.map

-CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 CFLAGS += -I vhost_user
 CFLAGS += -fno-strict-aliasing
diff --git a/lib/librte_vhost/meson.build b/lib/librte_vhost/meson.build
index ef7a5bced..f80632848 100644
--- a/lib/librte_vhost/meson.build
+++ b/lib/librte_vhost/meson.build
@@ -17,7 +17,6 @@  elif (toolchain == 'icc' and cc.version().version_compare('>=16.0.0'))
 endif
 dpdk_conf.set('RTE_LIBRTE_VHOST_POSTCOPY',
 	      cc.has_header('linux/userfaultfd.h'))
-allow_experimental_apis = true
 cflags += '-fno-strict-aliasing'
 sources = files('fd_man.c', 'iotlb.c', 'socket.c', 'vdpa.c',
 		'vhost.c', 'vhost_user.c',
diff --git a/lib/meson.build b/lib/meson.build
index 9c3cc55d5..63c17ee75 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -36,7 +36,7 @@  if is_windows
 	libraries = ['kvargs','eal'] # only supported libraries for windows
 endif

-default_cflags = machine_args
+default_cflags = machine_args + ['-DALLOW_EXPERIMENTAL_API']
 if cc.has_argument('-Wno-format-truncation')
 	default_cflags += '-Wno-format-truncation'
 endif
@@ -47,7 +47,6 @@  foreach l:libraries
 	build = true
 	reason = '<unknown reason>' # set if build == false to explain why
 	name = l
-	allow_experimental_apis = false
 	use_function_versioning = false
 	sources = []
 	headers = []
@@ -98,9 +97,6 @@  foreach l:libraries
 			static_dep = shared_dep
 		else

-			if allow_experimental_apis
-				cflags += '-DALLOW_EXPERIMENTAL_API'
-			endif
 			if use_function_versioning
 				cflags += '-DRTE_USE_FUNCTION_VERSIONING'
 			endif
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index d295ca0a5..1cf7f377a 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -27,6 +27,8 @@  LDFLAGS += --as-needed
 # default path for libs
 _LDLIBS-y += -L$(RTE_SDK_BIN)/lib

+CFLAGS += -DALLOW_EXPERIMENTAL_API
+
 #
 # Order is important: from higher level to lower level
 #
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 682b590db..0f7a34ece 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -34,6 +34,7 @@  _INSTALL = $(INSTALL-FILES-y) $(RTE_OUTPUT)/lib/$(LIB)
 _CLEAN = doclean

 LDLIBS += $(EXECENV_LDLIBS-y)
+CFLAGS += -DALLOW_EXPERIMENTAL_API

 .PHONY: all
 all: install