diff --git a/app/meson.build b/app/meson.build
index 71109cc42..7e9193fc3 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -26,7 +26,6 @@ default_cflags = machine_args
 foreach app:apps
 	build = true
 	name = app
-	allow_experimental_apis = false
 	sources = []
 	includes = []
 	cflags = default_cflags
@@ -53,10 +52,7 @@ foreach app:apps
 			link_libs = dpdk_static_libraries + dpdk_drivers
 		endif

-		if allow_experimental_apis
-			cflags += '-DALLOW_EXPERIMENTAL_API'
-		endif
-
+		cflags += '-DALLOW_EXPERIMENTAL_API'
 		executable('dpdk-' + name,
 				sources,
 				c_args: cflags,
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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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..987e616ae 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -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,7 @@ 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
-
+			cflags += '-DALLOW_EXPERIMENTAL_API'
 			dpdk_extra_ldflags += pkgconfig_extra_libs

 			# generate pmdinfo sources by building a temporary
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/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/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/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/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/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/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/base/meson.build b/drivers/net/e1000/base/meson.build
index f26f24298..c5b51249b 100644
--- a/drivers/net/e1000/base/meson.build
+++ b/drivers/net/e1000/base/meson.build
@@ -25,9 +25,7 @@ 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
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/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/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/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/base/meson.build b/drivers/net/fm10k/base/meson.build
index 40d9b730a..41f9193df 100644
--- a/drivers/net/fm10k/base/meson.build
+++ b/drivers/net/fm10k/base/meson.build
@@ -16,9 +16,7 @@ error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
 	'-Wno-implicit-fallthrough'
 ]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/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/base/meson.build b/drivers/net/i40e/base/meson.build
index 3dee8c975..caec16cb9 100644
--- a/drivers/net/i40e/base/meson.build
+++ b/drivers/net/i40e/base/meson.build
@@ -18,9 +18,7 @@ error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
 		'-Wno-unused-parameter',
 ]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 foreach flag: error_cflags
 	if cc.has_argument(flag)
 		c_args += flag
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/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/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/base/meson.build b/drivers/net/ixgbe/base/meson.build
index bbd0f51ea..944bb3f72 100644
--- a/drivers/net/ixgbe/base/meson.build
+++ b/drivers/net/ixgbe/base/meson.build
@@ -22,9 +22,7 @@ error_cflags = ['-Wno-unused-value',
 		'-Wno-unused-parameter',
 		]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/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/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/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/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/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/base/meson.build b/drivers/net/octeontx/base/meson.build
index a06a2c89c..08c2ab36b 100644
--- a/drivers/net/octeontx/base/meson.build
+++ b/drivers/net/octeontx/base/meson.build
@@ -14,9 +14,7 @@ foreach d: depends
 endforeach

 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/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/base/meson.build b/drivers/net/qede/base/meson.build
index 71b89737d..f601f96d9 100644
--- a/drivers/net/qede/base/meson.build
+++ b/drivers/net/qede/base/meson.build
@@ -45,9 +45,7 @@ error_cflags = [
 	'-Wno-pointer-bool-conversion',
 ]
 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/base/meson.build b/drivers/net/sfc/base/meson.build
index 074112f16..82663cada 100644
--- a/drivers/net/sfc/base/meson.build
+++ b/drivers/net/sfc/base/meson.build
@@ -63,9 +63,7 @@ extra_flags = [
 ]

 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/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/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/base/meson.build b/drivers/net/thunderx/base/meson.build
index bf4e8608a..3c1d56e3e 100644
--- a/drivers/net/thunderx/base/meson.build
+++ b/drivers/net/thunderx/base/meson.build
@@ -8,9 +8,7 @@ sources = [
 ]

 c_args = cflags
-if allow_experimental_apis
-	c_args += '-DALLOW_EXPERIMENTAL_API'
-endif
+c_args += '-DALLOW_EXPERIMENTAL_API'
 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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/meson.build b/lib/librte_mempool/meson.build
index f8710b61b..5ea6ed56b 100644
--- a/lib/librte_mempool/meson.build
+++ b/lib/librte_mempool/meson.build
@@ -15,6 +15,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/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/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/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_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/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/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/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/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/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/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..3bf14fcdf 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -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,7 @@ foreach l:libraries
 			static_dep = shared_dep
 		else

-			if allow_experimental_apis
-				cflags += '-DALLOW_EXPERIMENTAL_API'
-			endif
+			cflags += '-DALLOW_EXPERIMENTAL_API'
 			if use_function_versioning
 				cflags += '-DRTE_USE_FUNCTION_VERSIONING'
 			endif
