DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global
@ 2020-04-02 18:32 Jerin Jacob
  2020-04-02 18:32 ` [dpdk-dev] [PATCH v2 2/2] build: makefile " Jerin Jacob
                   ` (4 more replies)
  0 siblings, 5 replies; 29+ messages in thread
From: Jerin Jacob @ 2020-04-02 18:32 UTC (permalink / raw)
  To: Nicolas Chautru, Declan Doherty, Vladimir Medvedkin, Wenzhuo Lu,
	Jingjing Wu, Bernard Iremonger, Konstantin Ananyev,
	Hemant Agrawal, Sachin Saxena, Rosen Xu, Stephen Hemminger,
	Anoob Joseph, Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko,
	Jerin Jacob, Nithin Dabilpuram, Vamsi Attunuru, Lee Daly,
	Fiona Trahe, Ashish Gupta, Sunila Sahu, Pablo de Lara,
	Ruifeng Wang, Gagandeep Singh, Akhil Goyal, Nagadheeraj Rottela,
	Srikanth Jampala, Ankur Dwivedi, Nipun Gupta,
	Mattias Rönnblom, Pavan Nikhilesh, Liang Ma, Peter Mccarthy,
	Artem V. Andreev, Andrew Rybchenko, Harman Kalra, Gage Eads,
	Olivier Matz, Igor Russkikh, Pavel Belous, Steven Webster,
	Matt Peters, Ravi Kumar, Rasesh Mody, Shahed Shaikh,
	Chas Williams, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Igor Chauskin, Gaetan Rivet, Qi Zhang,
	Xiao Wang, Ziyang Xuan, Xiaoyun Wang, Guoyang Zhou,
	Wei Hu (Xavier), Min Hu (Connor),
	Yisen Zhuang, Beilei Xing, Qiming Yang, Jakub Grajciar,
	K. Y. Srinivasan, Haiyang Zhang, Heinrich Kuhn, Jasvinder Singh,
	Cristian Dumitrescu, Keith Wiles, Maciej Czekaj, Maxime Coquelin,
	Zhihong Wang, Xiaolong Ye, Yong Wang, Tianfei zhang, Xiaoyun Li,
	Thomas Monjalon, Ferruh Yigit, Jiayu Hu, Yipeng Wang,
	Sameh Gobriel, Bruce Richardson, Reshma Pattan,
	Honnappa Nagarahalli, Kevin Laatz, Robert Sanford,
	Erik Gabriel Carrillo
  Cc: dev, david.marchand

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Meson make allow_experimental_api global across lib, drivers and apps.

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

 v2 Changes:
 - Remove comments containing experimental API list.

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

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
--
2.17.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [dpdk-dev] [PATCH v2 2/2] build: makefile make experimental tag as global
  2020-04-02 18:32 [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global Jerin Jacob
@ 2020-04-02 18:32 ` Jerin Jacob
  2020-04-03  7:23 ` [dpdk-dev] [PATCH v2 1/2] build: meson " David Marchand
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 29+ messages in thread
From: Jerin Jacob @ 2020-04-02 18:32 UTC (permalink / raw)
  To: Nicolas Chautru, Declan Doherty, Vladimir Medvedkin, Wenzhuo Lu,
	Jingjing Wu, Bernard Iremonger, Konstantin Ananyev,
	Hemant Agrawal, Sachin Saxena, Rosen Xu, Stephen Hemminger,
	Jerin Jacob, Nithin Dabilpuram, Vamsi Attunuru, Fiona Trahe,
	John Griffin, Deepak Kumar Jain, Lee Daly, Ashish Gupta,
	Sunila Sahu, Pablo de Lara, Ruifeng Wang, Gagandeep Singh,
	Akhil Goyal, Nagadheeraj Rottela, Srikanth Jampala, Anoob Joseph,
	Ankur Dwivedi, Nipun Gupta, Mattias Rönnblom,
	Pavan Nikhilesh, Liang Ma, Peter Mccarthy, Artem V. Andreev,
	Andrew Rybchenko, Harman Kalra, Gage Eads, Olivier Matz,
	Igor Russkikh, Pavel Belous, Steven Webster, Matt Peters,
	Ravi Kumar, Rasesh Mody, Shahed Shaikh, Chas Williams,
	Marcin Wojtas, Michal Krawczyk, Guy Tzalik, Evgeny Schemeilin,
	Igor Chauskin, John Daley, Hyong Youb Kim, Gaetan Rivet,
	Qi Zhang, Xiao Wang, Wei Hu (Xavier), Min Hu (Connor),
	Yisen Zhuang, Beilei Xing, Qiming Yang, Alfredo Cardigliano,
	Jakub Grajciar, Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko,
	K. Y. Srinivasan, Haiyang Zhang, Heinrich Kuhn, Jasvinder Singh,
	Cristian Dumitrescu, Keith Wiles, Maciej Czekaj, Maxime Coquelin,
	Zhihong Wang, Xiaolong Ye, Yong Wang, Tianfei zhang, Xiaoyun Li,
	Bruce Richardson, Thomas Monjalon, Ferruh Yigit, Yipeng Wang,
	Sameh Gobriel, Reshma Pattan, David Hunt, Honnappa Nagarahalli,
	Kevin Laatz, Robert Sanford, Erik Gabriel Carrillo
  Cc: dev, david.marchand

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Make allow_experimental_api global across lib, drivers and apps.

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

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-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-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-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-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-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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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_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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 41f9193df..6ac11b201 100644
--- a/drivers/net/fm10k/base/meson.build
+++ b/drivers/net/fm10k/base/meson.build
@@ -16,7 +16,6 @@ error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
 	'-Wno-implicit-fallthrough'
 ]
 c_args = cflags
-c_args += '-DALLOW_EXPERIMENTAL_API'
 foreach flag: error_cflags
 	if cc.has_argument(flag)
 		c_args += flag
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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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_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/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/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/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/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/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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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/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
-- 
2.17.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-02 18:32 [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global Jerin Jacob
  2020-04-02 18:32 ` [dpdk-dev] [PATCH v2 2/2] build: makefile " Jerin Jacob
@ 2020-04-03  7:23 ` David Marchand
  2020-04-03  7:45   ` David Marchand
  2020-04-03 10:20 ` [dpdk-dev] " Hemant Agrawal (OSS)
                   ` (2 subsequent siblings)
  4 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-03  7:23 UTC (permalink / raw)
  To: Jerin Jacob, Pavan Nikhilesh
  Cc: Thomas Monjalon, Ferruh Yigit, Bruce Richardson, dev, Neil Horman

Hello Jerin, Pavan,

Thanks for the patch.

On Thu, Apr 2, 2020 at 8:33 PM Jerin Jacob <jerinjacobk@gmail.com> wrote:
>
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
>
> Meson make allow_experimental_api global across lib, drivers and apps.

- The title seems odd to me.

- The documentation should be updated.

- You can still find traces in meson files.
$ git grep -il allow.experimental.api |grep meson.build$ |grep -vE
'^((app|drivers|lib)/meson.build|examples/)'
app/test/meson.build
drivers/net/e1000/base/meson.build
drivers/net/enic/meson.build
drivers/net/i40e/base/meson.build
drivers/net/i40e/meson.build
drivers/net/ixgbe/base/meson.build
drivers/net/octeontx/base/meson.build
drivers/net/qede/base/meson.build
drivers/net/sfc/base/meson.build
drivers/net/thunderx/base/meson.build
lib/librte_mempool/meson.build


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  7:23 ` [dpdk-dev] [PATCH v2 1/2] build: meson " David Marchand
@ 2020-04-03  7:45   ` David Marchand
  2020-04-03  8:05     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
  0 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-03  7:45 UTC (permalink / raw)
  To: Jerin Jacob, Pavan Nikhilesh
  Cc: Thomas Monjalon, Ferruh Yigit, Bruce Richardson, dev, Neil Horman

On Fri, Apr 3, 2020 at 9:23 AM David Marchand <david.marchand@redhat.com> wrote:
> On Thu, Apr 2, 2020 at 8:33 PM Jerin Jacob <jerinjacobk@gmail.com> wrote:
> - You can still find traces in meson files.
> $ git grep -il allow.experimental.api |grep meson.build$ |grep -vE
> '^((app|drivers|lib)/meson.build|examples/)'
> app/test/meson.build
> drivers/net/e1000/base/meson.build
> drivers/net/enic/meson.build
> drivers/net/i40e/base/meson.build
> drivers/net/i40e/meson.build
> drivers/net/ixgbe/base/meson.build
> drivers/net/octeontx/base/meson.build
> drivers/net/qede/base/meson.build
> drivers/net/sfc/base/meson.build
> drivers/net/thunderx/base/meson.build
> lib/librte_mempool/meson.build

Sorry, those drivers passing directly the cflag were special cases.
This just leaves lib/librte_mempool/meson.build to clean.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  7:45   ` David Marchand
@ 2020-04-03  8:05     ` Pavan Nikhilesh Bhagavatula
  2020-04-03  8:18       ` David Marchand
  2020-04-03 10:56       ` Thomas Monjalon
  0 siblings, 2 replies; 29+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2020-04-03  8:05 UTC (permalink / raw)
  To: David Marchand, Jerin Jacob
  Cc: Thomas Monjalon, Ferruh Yigit, Bruce Richardson, dev, Neil Horman

><david.marchand@redhat.com> wrote:
>> On Thu, Apr 2, 2020 at 8:33 PM Jerin Jacob <jerinjacobk@gmail.com>
>wrote:
>> - You can still find traces in meson files.
>> $ git grep -il allow.experimental.api |grep meson.build$ |grep -vE
>> '^((app|drivers|lib)/meson.build|examples/)'
>> app/test/meson.build
>> drivers/net/e1000/base/meson.build
>> drivers/net/enic/meson.build
>> drivers/net/i40e/base/meson.build
>> drivers/net/i40e/meson.build
>> drivers/net/ixgbe/base/meson.build
>> drivers/net/octeontx/base/meson.build
>> drivers/net/qede/base/meson.build
>> drivers/net/sfc/base/meson.build
>> drivers/net/thunderx/base/meson.build
>> lib/librte_mempool/meson.build
>
>Sorry, those drivers passing directly the cflag were special cases.

Yup. Mostly base static libs.

>This just leaves lib/librte_mempool/meson.build to clean.

I will clean it up in v3. Along with modifying title and updating doc.

Doc to be updated are coding styles and release notes right?
Let me know if anything else need to be added to the list.

>
>
>--
>David Marchand

Thanks, 
Pavan.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  8:05     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
@ 2020-04-03  8:18       ` David Marchand
  2020-04-03  9:10         ` Bruce Richardson
  2020-04-03 10:56       ` Thomas Monjalon
  1 sibling, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-03  8:18 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula, Bruce Richardson
  Cc: Jerin Jacob, Thomas Monjalon, Ferruh Yigit, dev, Neil Horman

On Fri, Apr 3, 2020 at 10:06 AM Pavan Nikhilesh Bhagavatula
<pbhagavatula@marvell.com> wrote:
>
> ><david.marchand@redhat.com> wrote:
> >> On Thu, Apr 2, 2020 at 8:33 PM Jerin Jacob <jerinjacobk@gmail.com>
> >wrote:
> >> - You can still find traces in meson files.
> >> $ git grep -il allow.experimental.api |grep meson.build$ |grep -vE
> >> '^((app|drivers|lib)/meson.build|examples/)'
> >> app/test/meson.build
> >> drivers/net/e1000/base/meson.build
> >> drivers/net/enic/meson.build
> >> drivers/net/i40e/base/meson.build
> >> drivers/net/i40e/meson.build
> >> drivers/net/ixgbe/base/meson.build
> >> drivers/net/octeontx/base/meson.build
> >> drivers/net/qede/base/meson.build
> >> drivers/net/sfc/base/meson.build
> >> drivers/net/thunderx/base/meson.build
> >> lib/librte_mempool/meson.build
> >
> >Sorry, those drivers passing directly the cflag were special cases.
>
> Yup. Mostly base static libs.

Actually, how about something like this in drivers/meson.build ?
Bruce, do you see something wrong with this ?

on top of Pavan patch:

diff --git a/drivers/meson.build b/drivers/meson.build
index 987e616ae7..4d8f842ab8 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
@@ -105,7 +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)

-                       cflags += '-DALLOW_EXPERIMENTAL_API'
                        dpdk_extra_ldflags += pkgconfig_extra_libs

                        # generate pmdinfo sources by building a temporary

Since the base drivers make use of "cflags", it works afaics.

>
> >This just leaves lib/librte_mempool/meson.build to clean.
>
> I will clean it up in v3. Along with modifying title and updating doc.
>
> Doc to be updated are coding styles and release notes right?
> Let me know if anything else need to be added to the list.

lgtm, thanks.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  8:18       ` David Marchand
@ 2020-04-03  9:10         ` Bruce Richardson
  2020-04-03  9:14           ` David Marchand
  0 siblings, 1 reply; 29+ messages in thread
From: Bruce Richardson @ 2020-04-03  9:10 UTC (permalink / raw)
  To: David Marchand
  Cc: Pavan Nikhilesh Bhagavatula, Jerin Jacob, Thomas Monjalon,
	Ferruh Yigit, dev, Neil Horman

On Fri, Apr 03, 2020 at 10:18:02AM +0200, David Marchand wrote:
> On Fri, Apr 3, 2020 at 10:06 AM Pavan Nikhilesh Bhagavatula
> <pbhagavatula@marvell.com> wrote:
> >
> > ><david.marchand@redhat.com> wrote:
> > >> On Thu, Apr 2, 2020 at 8:33 PM Jerin Jacob <jerinjacobk@gmail.com>
> > >wrote:
> > >> - You can still find traces in meson files.
> > >> $ git grep -il allow.experimental.api |grep meson.build$ |grep -vE
> > >> '^((app|drivers|lib)/meson.build|examples/)'
> > >> app/test/meson.build
> > >> drivers/net/e1000/base/meson.build
> > >> drivers/net/enic/meson.build
> > >> drivers/net/i40e/base/meson.build
> > >> drivers/net/i40e/meson.build
> > >> drivers/net/ixgbe/base/meson.build
> > >> drivers/net/octeontx/base/meson.build
> > >> drivers/net/qede/base/meson.build
> > >> drivers/net/sfc/base/meson.build
> > >> drivers/net/thunderx/base/meson.build
> > >> lib/librte_mempool/meson.build
> > >
> > >Sorry, those drivers passing directly the cflag were special cases.
> >
> > Yup. Mostly base static libs.
> 
> Actually, how about something like this in drivers/meson.build ?
> Bruce, do you see something wrong with this ?
> 
> on top of Pavan patch:
> 
> diff --git a/drivers/meson.build b/drivers/meson.build
> index 987e616ae7..4d8f842ab8 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

I see nothing wrong with that.

Out of interest, is there a reason we don't just set it at the top level as
a project c_arg, e.g. after setting "-include rte_config.h" in
config/meson.build?

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  9:10         ` Bruce Richardson
@ 2020-04-03  9:14           ` David Marchand
  2020-04-03  9:35             ` Bruce Richardson
  0 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-03  9:14 UTC (permalink / raw)
  To: Bruce Richardson
  Cc: Pavan Nikhilesh Bhagavatula, Jerin Jacob, Thomas Monjalon,
	Ferruh Yigit, dev, Neil Horman

On Fri, Apr 3, 2020 at 11:10 AM Bruce Richardson
<bruce.richardson@intel.com> wrote:
> > diff --git a/drivers/meson.build b/drivers/meson.build
> > index 987e616ae7..4d8f842ab8 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
>
> I see nothing wrong with that.
>
> Out of interest, is there a reason we don't just set it at the top level as
> a project c_arg, e.g. after setting "-include rte_config.h" in
> config/meson.build?

As long as it is not inherited by examples and external apps, I am
fine with any simple solution :-).


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  9:14           ` David Marchand
@ 2020-04-03  9:35             ` Bruce Richardson
  0 siblings, 0 replies; 29+ messages in thread
From: Bruce Richardson @ 2020-04-03  9:35 UTC (permalink / raw)
  To: David Marchand
  Cc: Pavan Nikhilesh Bhagavatula, Jerin Jacob, Thomas Monjalon,
	Ferruh Yigit, dev, Neil Horman

On Fri, Apr 03, 2020 at 11:14:03AM +0200, David Marchand wrote:
> On Fri, Apr 3, 2020 at 11:10 AM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> > > diff --git a/drivers/meson.build b/drivers/meson.build
> > > index 987e616ae7..4d8f842ab8 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
> >
> > I see nothing wrong with that.
> >
> > Out of interest, is there a reason we don't just set it at the top level as
> > a project c_arg, e.g. after setting "-include rte_config.h" in
> > config/meson.build?
> 
> As long as it is not inherited by examples and external apps, I am
> fine with any simple solution :-).
> 
It will be inherited by everything inside the current build, but building
any examples separately or any external apps separately won't be affected.

/Bruce

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-02 18:32 [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global Jerin Jacob
  2020-04-02 18:32 ` [dpdk-dev] [PATCH v2 2/2] build: makefile " Jerin Jacob
  2020-04-03  7:23 ` [dpdk-dev] [PATCH v2 1/2] build: meson " David Marchand
@ 2020-04-03 10:20 ` Hemant Agrawal (OSS)
  2020-04-03 14:19 ` [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally pbhagavatula
  2020-04-13 14:55 ` [dpdk-dev] [PATCH v5] build: disable experimental API check internally David Marchand
  4 siblings, 0 replies; 29+ messages in thread
From: Hemant Agrawal (OSS) @ 2020-04-03 10:20 UTC (permalink / raw)
  To: Jerin Jacob, Nicolas Chautru, Declan Doherty, Vladimir Medvedkin,
	Wenzhuo Lu, Jingjing Wu, Bernard Iremonger, Konstantin Ananyev,
	Sachin Saxena, Rosen Xu, Stephen Hemminger, Anoob Joseph,
	Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko, Jerin Jacob,
	Nithin Dabilpuram, Vamsi Attunuru, Lee Daly, Fiona Trahe,
	Ashish Gupta, Sunila Sahu, Pablo de Lara, Ruifeng Wang,
	Gagandeep Singh, Akhil Goyal, Nagadheeraj Rottela,
	Srikanth Jampala, Ankur Dwivedi, Nipun Gupta,
	Mattias Rönnblom, Pavan Nikhilesh, Liang Ma, Peter Mccarthy,
	Artem V. Andreev, Andrew Rybchenko, Harman Kalra, Gage Eads,
	Olivier Matz, Igor Russkikh, Pavel Belous, Steven Webster,
	Matt Peters, Ravi Kumar, Rasesh Mody, Shahed Shaikh,
	Chas Williams, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Igor Chauskin, Gaetan Rivet, Qi Zhang,
	Xiao Wang, Ziyang Xuan, Xiaoyun Wang, Guoyang Zhou,
	Wei Hu (Xavier), Min Hu (Connor),
	Yisen Zhuang, Beilei Xing, Qiming Yang, Jakub Grajciar,
	K. Y. Srinivasan, Haiyang Zhang, Heinrich Kuhn, Jasvinder Singh,
	Cristian Dumitrescu, Keith Wiles, Maciej Czekaj, Maxime Coquelin,
	Zhihong Wang, Xiaolong Ye, Yong Wang, Tianfei zhang, Xiaoyun Li,
	Thomas Monjalon, Ferruh Yigit, Jiayu Hu, Yipeng Wang,
	Sameh Gobriel, Bruce Richardson, Reshma Pattan,
	Honnappa Nagarahalli, Kevin Laatz, Robert Sanford,
	Erik Gabriel Carrillo
  Cc: dev, david.marchand

> Subject: [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as
> global
> 
> From: Pavan Nikhilesh <pbhagavatula@marvell.com>
> 
> Meson make allow_experimental_api global across lib, drivers and apps.
> 
> Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
> ---
Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>

^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03  8:05     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
  2020-04-03  8:18       ` David Marchand
@ 2020-04-03 10:56       ` Thomas Monjalon
  2020-04-03 11:02         ` Pavan Nikhilesh Bhagavatula
  1 sibling, 1 reply; 29+ messages in thread
From: Thomas Monjalon @ 2020-04-03 10:56 UTC (permalink / raw)
  To: Pavan Nikhilesh Bhagavatula
  Cc: David Marchand, Jerin Jacob, Ferruh Yigit, Bruce Richardson, dev,
	Neil Horman

03/04/2020 10:05, Pavan Nikhilesh Bhagavatula:
> Let me know if anything else need to be added to the list.

I think you can squash the patches in a single one.



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [EXT] Re: [PATCH v2 1/2] build: meson make experimental tag as global
  2020-04-03 10:56       ` Thomas Monjalon
@ 2020-04-03 11:02         ` Pavan Nikhilesh Bhagavatula
  0 siblings, 0 replies; 29+ messages in thread
From: Pavan Nikhilesh Bhagavatula @ 2020-04-03 11:02 UTC (permalink / raw)
  To: Thomas Monjalon
  Cc: David Marchand, Jerin Jacob, Ferruh Yigit, Bruce Richardson, dev,
	Neil Horman



>-----Original Message-----
>From: Thomas Monjalon <thomas@monjalon.net>
>Sent: Friday, April 3, 2020 4:26 PM
>To: Pavan Nikhilesh Bhagavatula <pbhagavatula@marvell.com>
>Cc: David Marchand <david.marchand@redhat.com>; Jerin Jacob
><jerinjacobk@gmail.com>; Ferruh Yigit <ferruh.yigit@intel.com>; Bruce
>Richardson <bruce.richardson@intel.com>; dev <dev@dpdk.org>; Neil
>Horman <nhorman@tuxdriver.com>
>Subject: Re: [EXT] Re: [dpdk-dev] [PATCH v2 1/2] build: meson make
>experimental tag as global
>
>03/04/2020 10:05, Pavan Nikhilesh Bhagavatula:
>> Let me know if anything else need to be added to the list.
>
>I think you can squash the patches in a single one.
>
Sure I'll do that in v3.


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally
  2020-04-02 18:32 [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global Jerin Jacob
                   ` (2 preceding siblings ...)
  2020-04-03 10:20 ` [dpdk-dev] " Hemant Agrawal (OSS)
@ 2020-04-03 14:19 ` pbhagavatula
  2020-04-06 20:16   ` David Marchand
  2020-04-10  9:03   ` [dpdk-dev] [PATCH v4] build: enable allow experimental API flag pbhagavatula
  2020-04-13 14:55 ` [dpdk-dev] [PATCH v5] build: disable experimental API check internally David Marchand
  4 siblings, 2 replies; 29+ messages in thread
From: pbhagavatula @ 2020-04-03 14:19 UTC (permalink / raw)
  To: jerinj, david.marchand, thomas, ferruh.yigit, bruce.richardson,
	mattias.ronnblom, arybchenko, declan.doherty, olivier.matz,
	nhorman, Nicolas Chautru, Vladimir Medvedkin, Wenzhuo Lu,
	Jingjing Wu, Bernard Iremonger, Konstantin Ananyev,
	John McNamara, Marko Kovacevic, Hemant Agrawal, Sachin Saxena,
	Rosen Xu, Stephen Hemminger, Anoob Joseph, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Nithin Dabilpuram,
	Vamsi Attunuru, Fiona Trahe, John Griffin, Deepak Kumar Jain,
	Lee Daly, Ashish Gupta, Sunila Sahu, Pablo de Lara, Ruifeng Wang,
	Gagandeep Singh, Akhil Goyal, Nagadheeraj Rottela,
	Srikanth Jampala, Ankur Dwivedi, Nipun Gupta, Pavan Nikhilesh,
	Liang Ma, Peter Mccarthy, Artem V. Andreev, Harman Kalra,
	Gage Eads, Igor Russkikh, Pavel Belous, Steven Webster,
	Matt Peters, Ravi Kumar, Rasesh Mody, Shahed Shaikh,
	Chas Williams, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Igor Chauskin, John Daley, Hyong Youb Kim,
	Gaetan Rivet, Qi Zhang, Xiao Wang, Ziyang Xuan, Xiaoyun Wang,
	Guoyang Zhou, Wei Hu (Xavier), Min Hu (Connor),
	Yisen Zhuang, Beilei Xing, Qiming Yang, Alfredo Cardigliano,
	Jakub Grajciar, K. Y. Srinivasan, Haiyang Zhang, Heinrich Kuhn,
	Jasvinder Singh, Cristian Dumitrescu, Keith Wiles, Maciej Czekaj,
	Maxime Coquelin, Zhihong Wang, Xiaolong Ye, Yong Wang,
	Tianfei zhang, Xiaoyun Li, Jiayu Hu, Yipeng Wang, Sameh Gobriel,
	Reshma Pattan, David Hunt, Honnappa Nagarahalli, Kevin Laatz,
	Robert Sanford, Erik Gabriel Carrillo
  Cc: dev

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
meson.build in app, lib and drivers instead enable ALLOW_EXPERIMENTAL_API
flag globally.
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

 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                           | 6 +-----
 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 --
 doc/guides/contributing/coding_style.rst  | 9 ---------
 doc/guides/rel_notes/release_20_05.rst    | 6 ++++++
 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                           | 5 +----
 mk/rte.app.mk                             | 2 ++
 mk/rte.lib.mk                             | 1 +
 244 files changed, 20 insertions(+), 395 deletions(-)

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/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/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/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst
index 000bbf501..9059f9563 100644
--- a/doc/guides/rel_notes/release_20_05.rst
+++ b/doc/guides/rel_notes/release_20_05.rst
@@ -62,6 +62,12 @@ New Features

   * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit.

+* **Enable ALLOW_EXPERIMENTAL_API flag globally.**
+
+  Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
+  meson.build in app, lib and drivers instead enable ALLOW_EXPERIMENTAL_API
+  flag globally.
+

 Removed Items
 -------------
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..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
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
--
2.17.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally
  2020-04-03 14:19 ` [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally pbhagavatula
@ 2020-04-06 20:16   ` David Marchand
  2020-04-10  9:03   ` [dpdk-dev] [PATCH v4] build: enable allow experimental API flag pbhagavatula
  1 sibling, 0 replies; 29+ messages in thread
From: David Marchand @ 2020-04-06 20:16 UTC (permalink / raw)
  To: Pavan Nikhilesh
  Cc: Jerin Jacob Kollanukkaran, Thomas Monjalon, Yigit, Ferruh,
	Bruce Richardson, Neil Horman, Kevin Laatz, dev

On Fri, Apr 3, 2020 at 4:20 PM <pbhagavatula@marvell.com> wrote:
> Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
> meson.build in app, lib and drivers instead enable ALLOW_EXPERIMENTAL_API
> flag globally.

This change does not enable the flag globally.


> 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>

[snip]

> 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,

Please apply the same logic in app/ than for drivers/.
This will spare us the special app/test/meson.build thing, which can
be removed too.

[snip]

> diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst
> index 000bbf501..9059f9563 100644
> --- a/doc/guides/rel_notes/release_20_05.rst
> +++ b/doc/guides/rel_notes/release_20_05.rst
> @@ -62,6 +62,12 @@ New Features
>
>    * Added support for matching on IPv4 Time To Live and IPv6 Hop Limit.
>
> +* **Enable ALLOW_EXPERIMENTAL_API flag globally.**
> +
> +  Remove setting ALLOW_EXPERIMENTAL_API individually for each Makefile and
> +  meson.build in app, lib and drivers instead enable ALLOW_EXPERIMENTAL_API
> +  flag globally.
> +

Reading this and the sections we have, it does not fit here.
This is not a new feature.

This change only affects DPDK contributors, so let's just drop the
release notes update.


>
>  Removed Items
>  -------------

[snip]

> 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

Ditto, apply same logic than drivers/meson.build


Thanks.
-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [dpdk-dev]  [PATCH v4] build: enable allow experimental API flag
  2020-04-03 14:19 ` [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally pbhagavatula
  2020-04-06 20:16   ` David Marchand
@ 2020-04-10  9:03   ` pbhagavatula
  2020-04-10 12:12     ` David Marchand
  1 sibling, 1 reply; 29+ messages in thread
From: pbhagavatula @ 2020-04-10  9:03 UTC (permalink / raw)
  To: jerinj, david.marchand, thomas, ferruh.yigit, bruce.richardson,
	mattias.ronnblom, arybchenko, declan.doherty, olivier.matz,
	nhorman, Nicolas Chautru, Vladimir Medvedkin, Wenzhuo Lu,
	Jingjing Wu, Bernard Iremonger, Konstantin Ananyev,
	John McNamara, Marko Kovacevic, Hemant Agrawal, Sachin Saxena,
	Rosen Xu, Stephen Hemminger, Anoob Joseph, Matan Azrad,
	Shahaf Shuler, Viacheslav Ovsiienko, Nithin Dabilpuram,
	Vamsi Attunuru, John Griffin, Fiona Trahe, Deepak Kumar Jain,
	Lee Daly, Ashish Gupta, Sunila Sahu, Pablo de Lara, Ruifeng Wang,
	Gagandeep Singh, Akhil Goyal, Nagadheeraj Rottela,
	Srikanth Jampala, Ankur Dwivedi, Nipun Gupta, Pavan Nikhilesh,
	Liang Ma, Peter Mccarthy, Artem V. Andreev, Harman Kalra,
	Gage Eads, Igor Russkikh, Pavel Belous, Steven Webster,
	Matt Peters, Ravi Kumar, Rasesh Mody, Shahed Shaikh,
	Chas Williams, Marcin Wojtas, Michal Krawczyk, Guy Tzalik,
	Evgeny Schemeilin, Igor Chauskin, John Daley, Hyong Youb Kim,
	Gaetan Rivet, Qi Zhang, Xiao Wang, Ziyang Xuan, Xiaoyun Wang,
	Guoyang Zhou, Wei Hu (Xavier), Min Hu (Connor),
	Yisen Zhuang, Beilei Xing, Qiming Yang, Alfredo Cardigliano,
	Jakub Grajciar, K. Y. Srinivasan, Haiyang Zhang, Heinrich Kuhn,
	Jasvinder Singh, Cristian Dumitrescu, Keith Wiles, Maciej Czekaj,
	Maxime Coquelin, Zhihong Wang, Xiaolong Ye, Yong Wang,
	Tianfei zhang, Xiaoyun Li, Jiayu Hu, Yipeng Wang, Sameh Gobriel,
	Reshma Pattan, David Hunt, Honnappa Nagarahalli, Kevin Laatz,
	Robert Sanford, Erik Gabriel Carrillo
  Cc: dev

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(-)

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
--
2.17.1


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v4] build: enable allow experimental API flag
  2020-04-10  9:03   ` [dpdk-dev] [PATCH v4] build: enable allow experimental API flag pbhagavatula
@ 2020-04-10 12:12     ` David Marchand
  2020-04-10 15:48       ` David Marchand
  0 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-10 12:12 UTC (permalink / raw)
  To: Pavan Nikhilesh
  Cc: Jerin Jacob Kollanukkaran, Thomas Monjalon, Yigit, Ferruh,
	Bruce Richardson, Neil Horman, dev, Hemant Agrawal

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


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v4] build: enable allow experimental API flag
  2020-04-10 12:12     ` David Marchand
@ 2020-04-10 15:48       ` David Marchand
  0 siblings, 0 replies; 29+ messages in thread
From: David Marchand @ 2020-04-10 15:48 UTC (permalink / raw)
  To: Pavan Nikhilesh
  Cc: Jerin Jacob Kollanukkaran, Thomas Monjalon, Yigit, Ferruh,
	Bruce Richardson, Neil Horman, dev, Hemant Agrawal

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.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-02 18:32 [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global Jerin Jacob
                   ` (3 preceding siblings ...)
  2020-04-03 14:19 ` [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally pbhagavatula
@ 2020-04-13 14:55 ` David Marchand
  2020-04-14 14:23   ` David Marchand
  4 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-13 14:55 UTC (permalink / raw)
  To: dev
  Cc: jerinjacobk, pbhagavatula, bruce.richardson, thomas,
	ferruh.yigit, Hemant Agrawal

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>
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 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                      | 3 +--
 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        | 2 --
 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/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_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/target/generic/rte.vars.mk             | 1 +
 240 files changed, 9 insertions(+), 395 deletions(-)

diff --git a/app/meson.build b/app/meson.build
index 75aa161148..0f7fe94649 100644
--- a/app/meson.build
+++ b/app/meson.build
@@ -22,12 +22,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
@@ -54,10 +53,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 c53982ffc1..8272d2b1c8 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 4f53a2ed88..0d9f684a12 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 ad3b91d0a2..2bff531836 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 1fe26cc14a..a1a484da9a 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 78135f38ce..0dced790f0 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 0674396da8..ef28cb5a03 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 9da34eb8fe..2ea799c0e9 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
 
 # all source are stored in SRCS-y
 SRCS-y := main.c
diff --git a/app/test-fib/meson.build b/app/test-fib/meson.build
index 4db0010357..f74ac651c0 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 d5258eae4a..ea818de220 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 6006c60f99..4872882979 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 9b354132e1..9b5a7ddc61 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 31f9aab632..db15b658d7 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 1f080d1626..be53d33c3f 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 351d29cb65..777c536ae0 100644
--- a/app/test/meson.build
+++ b/app/test/meson.build
@@ -355,7 +355,6 @@ if dpdk_conf.has('RTE_LIBRTE_PDUMP')
 	test_deps += 'pdump'
 endif
 
-cflags = machine_args
 if cc.has_argument('-Wno-format-truncation')
     cflags += '-Wno-format-truncation'
 endif
@@ -393,7 +392,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,
 	install_rpath: driver_install_path,
 	install: true)
 
diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 841ef6d5c8..4efde93f6a 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 b4a442ca54..30caafe3db 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 c4d3a489a9..e00688da33 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 28751eeb79..0ee500166d 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 e491c7da4a..02ef7db573 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 ec74d277e9..c2a6fe0f81 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 21c3cf819a..f5a1ab3fcb 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 9e1a31bb75..ba40b21166 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 2b1cf19114..c2cffa4943 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 6d22860885..c70e359c87 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 6e709a8d5a..eb8874a5ac 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 290c1124ba..1df369103c 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 c9b08c8627..4ea31f1741 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 975d796527..f4102d0a7f 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 a3feb86aea..b520bdfc14 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 63c9b3f59b..01747f03a4 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 12605e5c74..967d54e4f8 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 59e789db9b..335df6a0ba 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 251f21b662..a68a1de9d5 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 d2e84fff33..beecf0da30 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 59bd8ae15d..15b0b38d0d 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 d41bb50732..ff2d1a5071 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 43383e376f..f06dafd408 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 7b68ef27fa..ce50aceaf0 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 f671710714..ac2cfa6236 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 48f033dc69..efe3da2cc8 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 cc2c26123d..996ddba146 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 63d8efb2b2..28bd5668f7 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 6438b75ce8..1e225ab434 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 25578880db..5ee17e28f5 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 d6324b5302..9ba1db791e 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 7cd202d07a..0dc98b7627 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 9d15076dc6..a002469809 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 1eba3560fe..9f695f7d9a 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 b1328c535e..b19a6d2b16 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 b443167d51..01cb4fddfe 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 3a6e332dcb..ea83e87740 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 aa2e428106..f0dc82f395 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 3e16874165..e557e0103e 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 7f20a28d49..0e3bc9fb70 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 6ecb78b42a..c445c5bd3d 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 db17294395..89d3238172 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 50132aebef..f8b5250a93 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 96b9c78435..a0a2795575 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 ab9c8c8bf9..cb1c2d0492 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 13a5ff20cf..ea266962a3 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 71de819407..7d422d8d55 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 ad19aad11c..a7d0d079d2 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 7350f41abd..7560fb7cfa 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 fc42ac8088..535121196b 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 03788366b1..9c0e89c2c3 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 08a99c8272..296755ee90 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 63a59c51a1..cf031b006c 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 1458e2b72f..5f9a6a0e3f 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 a5317990a7..a28c700b9f 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 58a26eced6..b85c816551 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 394e74c9eb..d9ac698971 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 cbf1a77904..469aefaa56 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 9d93cbe26c..c1c5fd37f7 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 1875344472..529b47f25e 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 be3824c54c..c3454d799e 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 15ffc157f8..a39dc27c62 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 b74f3bf323..2f761f8e5b 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 1cd3b88bd6..75cf197c5c 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 ca914ccc4d..71c8be3d6e 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 68d681fab9..f6e7dda1fd 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 3b39cb653e..60ab13d906 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 bcd22ee8cd..9d67b00c69 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 56febb8d86..4b938416b9 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 1dfd6f5e83..71713b00ae 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 e67b164e3e..1fe034ea12 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 1dc0079f8f..c766c35b2c 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 2fd77f9d45..618d791283 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 8c786ddbeb..144969c627 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 b7446f174b..754e6397f2 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 52565be9a9..04db6d27de 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 d79fc31644..df299a0456 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 ee54c66dc2..9c840620d9 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 1954359502..3baaf7db25 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 337babf66e..3828219b11 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
 
 #
diff --git a/drivers/mempool/octeontx2/meson.build b/drivers/mempool/octeontx2/meson.build
index 8255377df5..9fde40f0e9 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 97c3dab071..ccfd970400 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 03e369a410..580dde79eb 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 5502bf9924..4d8f842ab8 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 016e369283..0d0d0a502d 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 919d74149e..60b84684ec 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 8c12d3b7a0..075247b13a 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 793bb185dd..a5f63cdef9 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 0097a93074..e421d0da11 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 366b289276..86873b7ef9 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 5f6c39e4ee..451434cc18 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 678708905e..4892bb234c 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 a64296d8cf..728551a846 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 d133375d4a..a3eff3b31c 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 f63c9bf540..d7bbc0e158 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 542b44af4f..271416f081 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 cdd9115ba4..6f38c18b9b 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 571cdb7d4b..6dd0eb274c 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 d93a5225c3..9fb038cf08 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 f26f242987..5e1716defe 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 d0901d3779..cf456995cc 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 b44daa896f..8ccff36db7 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 091ca6e3f8..189903b901 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 7f7a85f649..7276026e37 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 af11c0960c..bea54bea88 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 316088a3c7..d098a474a1 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 e5eeb56675..1bd7cc7e1b 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 bebc9056e0..464fd0515d 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 dfd4067cbd..56010e2120 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 29e659da8a..d486389928 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 40d9b730a3..6ac11b2012 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 8f6e423922..2772ea4dfc 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/hns3/Makefile b/drivers/net/hns3/Makefile
index ae0ee7e931..d7798a4706 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 1a350fc8c6..e01e6ce60b 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 819473abac..7ec8d95331 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 3dee8c9754..db0c830dc2 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 b01babba1f..886e8da664 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 514073d76e..399682594e 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 dbd0b01db5..7bf3a33043 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 6c4d155268..54a90a86f9 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 f9e897bbc2..617b2c815d 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 f74ac2d34f..7442e2c5cb 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 2c7ef0a1d8..40696dbde8 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 f19083af15..ec9cb7daf0 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 aec56a6807..0f0bcf1d66 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 bbd0f51ea5..da3887560d 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 06cf42a4aa..949075eb22 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 959b36bcbd..3bf4ddce4c 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 4c1c647f64..9c3ba432d0 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 c5543ed3da..02e9b2ec07 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 c598745730..5a25e11a7b 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 e8ba6244d6..2577ee5e5c 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 d418d26ba9..928663af7e 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 45526e2a8e..da8991584a 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 131dd2866e..e7f4493028 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 aa720d6698..289b3a60e3 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 b487cdffdf..24a9a6da9c 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 8ddfc30894..49ef8f3742 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 a06a2c89c9..b72104170e 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 0e249eb98d..ef789eaa90 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 20a3839e7a..75d30b01aa 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 678ce49a9d..3e1a228a3f 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 ada33800c4..5810b4d49a 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 71b89737df..59b41c895d 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 1755719f0a..12388a680e 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 1f9c0bc3e0..921771db76 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 074112f169..bc7bc86cdb 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 8c54f9d548..c2f6af7579 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 5068ffa18a..dabbe13a5f 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 9c10c2ec80..96c003e157 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 088fa8f9a9..cbf87af401 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 baa70f7564..c1cdf9e673 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 969338a189..149638a499 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 bf4e8608ad..8998264a3a 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 23d9458115..69819a97fa 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 9cd81225b3..01d26fb798 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 bf62edb7a3..58b0012ed9 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 efdcb0d93f..c9edb84eeb 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 5e7ca855c8..15150eea17 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 3a63cf2e91..4390fedee0 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 a92bd28680..0641f776ff 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 f671a30ccf..227ec4896e 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 70247622bc..e7656a3cda 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 fc5b3435b0..7b2abdddb4 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 fe166d9183..b9b08153ac 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 eb03a856c0..371e127f19 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 e2a4b8cccb..05a1711b5d 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 d69b4306bc..8f0bff9b02 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 7a7d261263..2926193a0a 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 fe227b8110..b468bfdbdd 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 adc9ed9ff0..b179987f98 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 71532174e2..ef34c0b880 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 9c152e5469..2963aad711 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 cdabf64f47..9d7576b358 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 f6ca0ad7a2..1267782203 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 3a20f95e74..3be6750432 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 52cfaf9ac2..6070898cb6 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 5bcaecc338..619d9a2426 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 a7dd319664..7fc54ff1ab 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 112cdc5b28..53679d69b8 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 5416571c9d..7d95cd4f30 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 7fac49afa3..2ba0dbeecc 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 49bae03a88..42825a8107 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 e5d4d8ff26..2d53ce9eef 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 e5f44959c6..fc2316667a 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 9d219a0e6e..0267c3b9d8 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 b627e4e23b..943fb8c877 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 3537f22f59..ab341d9c04 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 1052ccdbb5..c85c0d3cfb 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 02ac61ad2c..16d8240e94 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 7773427d19..1dd2a495b1 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 e2c6f44a76..771828fbed 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 34298af1a4..ca3cae82dd 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 d7e487475f..a7a5b3d577 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_hash/Makefile b/lib/librte_hash/Makefile
index 9b36097f47..ec9f864992 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 bce11ad9e0..6ab46ae9d7 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 f74e8a9045..e4c69646b0 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 70358526b0..fc69970ec5 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 9f6e6387f9..41ea5496e3 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 d9b53b6ae3..e95c770e5a 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 a5649050b1..84aae66043 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 f8710b61bc..45e0cb7ea3 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 aabdf4879d..aa1d6fed5a 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 208eee2dc2..f799349b3e 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 fde8ac92b8..ece8aaacc1 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 1173cdea34..3a95eabde6 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 d2abb5f3ff..cfbbd18282 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 be8a3536af..d70b1a023b 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 9a6db07e5f..087d643ee5 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 c4bb28d779..728669975a 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 62920ba02c..5929bd3a70 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 4a1df4e06a..be80ce5d3f 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 46a1c0c906..7bacbb4535 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 917c560ad0..28368e6d10 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 f2f3ccc88b..05402e4f0c 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 94ee48d4b3..020ef102b5 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 f420a5c223..8f82a40ec2 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 f364548556..12009b9a7c 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 26a331140b..1bdf128c1a 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 1c290b4c2d..7e95d120c0 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 d3b828ce9d..89b17e0397 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 c5cf6632d7..e592795f22 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 ef7a5bced4..f80632848c 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 9c3cc55d5e..63c17ee75e 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/target/generic/rte.vars.mk b/mk/target/generic/rte.vars.mk
index 374722173d..ec26728970 100644
--- a/mk/target/generic/rte.vars.mk
+++ b/mk/target/generic/rte.vars.mk
@@ -105,6 +105,7 @@ CFLAGS += -DRTE_USE_FUNCTION_VERSIONING
 ifeq ($(BUILDING_RTE_SDK),1)
 # building sdk
 CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 else
 # if we are building an external application, include SDK's lib and
 # includes too
-- 
2.23.0


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-13 14:55 ` [dpdk-dev] [PATCH v5] build: disable experimental API check internally David Marchand
@ 2020-04-14 14:23   ` David Marchand
  2020-04-17 10:21     ` Trahe, Fiona
  0 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-14 14:23 UTC (permalink / raw)
  To: dev
  Cc: Jerin Jacob, Pavan Nikhilesh, Bruce Richardson, Thomas Monjalon,
	Yigit, Ferruh, Hemant Agrawal

On Mon, Apr 13, 2020 at 4:56 PM David Marchand
<david.marchand@redhat.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>
> Signed-off-by: David Marchand <david.marchand@redhat.com>

Applied.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-14 14:23   ` David Marchand
@ 2020-04-17 10:21     ` Trahe, Fiona
  2020-04-17 13:23       ` David Marchand
  0 siblings, 1 reply; 29+ messages in thread
From: Trahe, Fiona @ 2020-04-17 10:21 UTC (permalink / raw)
  To: David Marchand, dev
  Cc: Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce, Thomas Monjalon,
	Yigit, Ferruh, Hemant Agrawal, Trahe, Fiona

Hi David / Pavan,

I see this is already applied.

However,
rte_cryptodev_queue_pair_setup() calls
rte_cryptodev_sym_get_existing_header_session_size() 
The former is a stable API, the latter is experimental.
So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.

I tried to build the crypto_perf tool to check this, wasn't clear where it gets it, seems like it inherits from here:
mk/target/generic/rte.vars.mk. So I disabled it there and got many build errors.

Am I missing something?
How was this tested with the flag disabled?

Fiona

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of David Marchand
> Sent: Tuesday, April 14, 2020 3:23 PM
> To: dev <dev@dpdk.org>
> Cc: Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh <pbhagavatula@marvell.com>;
> Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon <thomas@monjalon.net>; Yigit,
> Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal <hemant.agrawal@nxp.com>
> Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> 
> On Mon, Apr 13, 2020 at 4:56 PM David Marchand
> <david.marchand@redhat.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>
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> 
> Applied.
> 
> 
> --
> David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 10:21     ` Trahe, Fiona
@ 2020-04-17 13:23       ` David Marchand
  2020-04-17 13:44         ` Trahe, Fiona
  0 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-17 13:23 UTC (permalink / raw)
  To: Trahe, Fiona
  Cc: dev, Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce,
	Thomas Monjalon, Yigit, Ferruh, Hemant Agrawal

On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> I see this is already applied.
>
> However,
> rte_cryptodev_queue_pair_setup() calls
> rte_cryptodev_sym_get_existing_header_session_size()
> The former is a stable API, the latter is experimental.
> So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.
>
> I tried to build the crypto_perf tool to check this, wasn't clear where it gets it, seems like it inherits from here:
> mk/target/generic/rte.vars.mk. So I disabled it there and got many build errors.

I suppose you mean dpdk-test-crypto-perf.
This tool is compiled inside dpdk, so the flag is inherited from
rte.vars.mk as intended.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 13:23       ` David Marchand
@ 2020-04-17 13:44         ` Trahe, Fiona
  2020-04-17 13:54           ` Thomas Monjalon
  2020-04-17 13:56           ` David Marchand
  0 siblings, 2 replies; 29+ messages in thread
From: Trahe, Fiona @ 2020-04-17 13:44 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce,
	Thomas Monjalon, Yigit, Ferruh, Hemant Agrawal, Trahe, Fiona

Hi David,

> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Friday, April 17, 2020 2:23 PM
> To: Trahe, Fiona <fiona.trahe@intel.com>
> Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> 
> On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> > I see this is already applied.
> >
> > However,
> > rte_cryptodev_queue_pair_setup() calls
> > rte_cryptodev_sym_get_existing_header_session_size()
> > The former is a stable API, the latter is experimental.
> > So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.
[Fiona] Thanks for confirming where the flag is.
But I think you've missed my point.
What about this problem?
How was this tested with the flag disabled?


> > I tried to build the crypto_perf tool to check this, wasn't clear where it gets it, seems like it inherits
> from here:
> > mk/target/generic/rte.vars.mk. So I disabled it there and got many build errors.
> 
> I suppose you mean dpdk-test-crypto-perf.
> This tool is compiled inside dpdk, so the flag is inherited from
> rte.vars.mk as intended.
> 
> 
> --
> David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 13:44         ` Trahe, Fiona
@ 2020-04-17 13:54           ` Thomas Monjalon
  2020-04-17 13:56           ` David Marchand
  1 sibling, 0 replies; 29+ messages in thread
From: Thomas Monjalon @ 2020-04-17 13:54 UTC (permalink / raw)
  To: Trahe, Fiona
  Cc: David Marchand, dev, Jerin Jacob, Pavan Nikhilesh, Richardson,
	Bruce, Yigit, Ferruh, Hemant Agrawal

17/04/2020 15:44, Trahe, Fiona:
> From: David Marchand <david.marchand@redhat.com>
> > On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> > > I see this is already applied.
> > >
> > > However,
> > > rte_cryptodev_queue_pair_setup() calls
> > > rte_cryptodev_sym_get_existing_header_session_size()
> > > The former is a stable API, the latter is experimental.
> > > So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.
> [Fiona] Thanks for confirming where the flag is.
> But I think you've missed my point.
> What about this problem?
> How was this tested with the flag disabled?

We are not supposed to disable the flag internally.
The examples are not affected by the global enablement,
so you can test non-experimental build with examples.




^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 13:44         ` Trahe, Fiona
  2020-04-17 13:54           ` Thomas Monjalon
@ 2020-04-17 13:56           ` David Marchand
  2020-04-17 15:05             ` Trahe, Fiona
  1 sibling, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-17 13:56 UTC (permalink / raw)
  To: Trahe, Fiona
  Cc: dev, Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce,
	Thomas Monjalon, Yigit, Ferruh, Hemant Agrawal

On Fri, Apr 17, 2020 at 3:44 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
>
> Hi David,
>
> > -----Original Message-----
> > From: David Marchand <david.marchand@redhat.com>
> > Sent: Friday, April 17, 2020 2:23 PM
> > To: Trahe, Fiona <fiona.trahe@intel.com>
> > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> > <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon
> > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> > <hemant.agrawal@nxp.com>
> > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> >
> > On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> > > I see this is already applied.
> > >
> > > However,
> > > rte_cryptodev_queue_pair_setup() calls
> > > rte_cryptodev_sym_get_existing_header_session_size()
> > > The former is a stable API, the latter is experimental.
> > > So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.
> [Fiona] Thanks for confirming where the flag is.
> But I think you've missed my point.
> What about this problem?

- dpdk-test-crypto-perf is built as part of the dpdk compilation itself.
There is no user to be made aware of its use of experimental API.

Now if you are talking about how the crypto API is bent in that it
exposes a stable ABI with an underlying experimental ABI, this has
nothing to do with the flag change.

- But if you want to check crypto experimental api, then try to
disable the flag in examples making use of them.


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 13:56           ` David Marchand
@ 2020-04-17 15:05             ` Trahe, Fiona
  2020-04-17 15:52               ` Trahe, Fiona
  0 siblings, 1 reply; 29+ messages in thread
From: Trahe, Fiona @ 2020-04-17 15:05 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce,
	Thomas Monjalon, Yigit, Ferruh, Hemant Agrawal, Trahe, Fiona

Hi Davd, 

> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Friday, April 17, 2020 2:56 PM
> To: Trahe, Fiona <fiona.trahe@intel.com>
> Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> 
> On Fri, Apr 17, 2020 at 3:44 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> >
> > Hi David,
> >
> > > -----Original Message-----
> > > From: David Marchand <david.marchand@redhat.com>
> > > Sent: Friday, April 17, 2020 2:23 PM
> > > To: Trahe, Fiona <fiona.trahe@intel.com>
> > > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> > > <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas
> Monjalon
> > > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> > > <hemant.agrawal@nxp.com>
> > > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> > >
> > > On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> > > > I see this is already applied.
> > > >
> > > > However,
> > > > rte_cryptodev_queue_pair_setup() calls
> > > > rte_cryptodev_sym_get_existing_header_session_size()
> > > > The former is a stable API, the latter is experimental.
> > > > So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.
> > [Fiona] Thanks for confirming where the flag is.
> > But I think you've missed my point.
> > What about this problem?
> 
> - dpdk-test-crypto-perf is built as part of the dpdk compilation itself.
> There is no user to be made aware of its use of experimental API.
> 
> Now if you are talking about how the crypto API is bent in that it
> exposes a stable ABI with an underlying experimental ABI, this has
> nothing to do with the flag change.
[Fiona] Before this if an application didn't set ALLOW_EXPERIMENTAL_API
(which I expect is the default for many apps) then the build worked fine
as long as the app didn't directly call an experimental API. The crypto lib
still built ok as its own Makefile had the flag.
I just tried this with dpdk-test-crypto-perf. I had to remove one direct call,
without that it built ok. When I remove the flag from the crypto lib Makefile, the
build breaks as expected due to the above issue.

So, yes, cryptodev lib should be fixed.
However this patch just applied will potentially break builds for many apps!
It could expose many other issues of internal dependencies on experimental APIs.



> 
> - But if you want to check crypto experimental api, then try to
> disable the flag in examples making use of them.
> 
> 
> --
> David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 15:05             ` Trahe, Fiona
@ 2020-04-17 15:52               ` Trahe, Fiona
  2020-04-18 19:43                 ` Chautru, Nicolas
  0 siblings, 1 reply; 29+ messages in thread
From: Trahe, Fiona @ 2020-04-17 15:52 UTC (permalink / raw)
  To: David Marchand
  Cc: dev, Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce,
	Thomas Monjalon, Yigit, Ferruh, Hemant Agrawal, Trahe, Fiona

Hi David,

> -----Original Message-----
> From: Trahe, Fiona <fiona.trahe@intel.com>
> Sent: Friday, April 17, 2020 4:05 PM
> To: David Marchand <david.marchand@redhat.com>
> Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas Monjalon
> <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Trahe, Fiona <fiona.trahe@intel.com>
> Subject: RE: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> 
> Hi Davd,
> 
> > -----Original Message-----
> > From: David Marchand <david.marchand@redhat.com>
> > Sent: Friday, April 17, 2020 2:56 PM
> > To: Trahe, Fiona <fiona.trahe@intel.com>
> > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> > <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas
> Monjalon
> > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> > <hemant.agrawal@nxp.com>
> > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> >
> > On Fri, Apr 17, 2020 at 3:44 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> > >
> > > Hi David,
> > >
> > > > -----Original Message-----
> > > > From: David Marchand <david.marchand@redhat.com>
> > > > Sent: Friday, April 17, 2020 2:23 PM
> > > > To: Trahe, Fiona <fiona.trahe@intel.com>
> > > > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> > > > <pbhagavatula@marvell.com>; Richardson, Bruce <bruce.richardson@intel.com>; Thomas
> > Monjalon
> > > > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> > > > <hemant.agrawal@nxp.com>
> > > > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
> > > >
> > > > On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com> wrote:
> > > > > I see this is already applied.
> > > > >
> > > > > However,
> > > > > rte_cryptodev_queue_pair_setup() calls
> > > > > rte_cryptodev_sym_get_existing_header_session_size()
> > > > > The former is a stable API, the latter is experimental.
> > > > > So I expect the build to break when ALLOW_EXPERIMENTAL_API is disabled.
> > > [Fiona] Thanks for confirming where the flag is.
> > > But I think you've missed my point.
> > > What about this problem?
> >
> > - dpdk-test-crypto-perf is built as part of the dpdk compilation itself.
> > There is no user to be made aware of its use of experimental API.
> >
> > Now if you are talking about how the crypto API is bent in that it
> > exposes a stable ABI with an underlying experimental ABI, this has
> > nothing to do with the flag change.
> [Fiona] Before this if an application didn't set ALLOW_EXPERIMENTAL_API
> (which I expect is the default for many apps) then the build worked fine
> as long as the app didn't directly call an experimental API. The crypto lib
> still built ok as its own Makefile had the flag.
> I just tried this with dpdk-test-crypto-perf. I had to remove one direct call,
> without that it built ok. When I remove the flag from the crypto lib Makefile, the
> build breaks as expected due to the above issue.
> 
> So, yes, cryptodev lib should be fixed.
> However this patch just applied will potentially break builds for many apps!
> It could expose many other issues of internal dependencies on experimental APIs.

[Fiona] Ok, I get it now, there's no issue.
I see now why the patch name was changed from "global" to "internal"!
I had understood that the flag the application set or didn't set would ripple down
through the whole build. Instead the flag is set (or not set) once by the application
only affecting direct API calls and once for the rest of the build, which includes
apps in the app folder, but not apps in the examples folder.
So allowing experimental APIs internally, while disallowing them externally.
A bit confusing, but ok, doesn't break anything and definitely better than
having flags in every Make/meson file.

Fiona



^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-17 15:52               ` Trahe, Fiona
@ 2020-04-18 19:43                 ` Chautru, Nicolas
  2020-04-19  7:35                   ` David Marchand
  0 siblings, 1 reply; 29+ messages in thread
From: Chautru, Nicolas @ 2020-04-18 19:43 UTC (permalink / raw)
  To: Trahe, Fiona, David Marchand, Akhil Goyal
  Cc: dev, Jerin Jacob, Pavan Nikhilesh, Richardson, Bruce,
	Thomas Monjalon, Yigit, Ferruh, Hemant Agrawal, Trahe, Fiona

Hi,

It is probably just me but I having issue with this new patch. 
I typically rebuild the PMD libraries directly when doing incremental changes from the Makefile in the PMD directory (ie. not rebuilding full DPDK each time, which still work okay obviously). 
With this new change it doesn't seem to work any longer with the updated Makefiles without the ALLOW_EXPERIMENTAL_API:
	Symbol is not yet part of stable ABI [-Werror=deprecated-declarations]
I would need to have a further look but checking whether it is just me. 

Thanks
Nic

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Trahe, Fiona
> Sent: Friday, April 17, 2020 8:52 AM
> To: David Marchand <david.marchand@redhat.com>
> Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan
> Nikhilesh <pbhagavatula@marvell.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; Thomas Monjalon <thomas@monjalon.net>;
> Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>; Trahe, Fiona <fiona.trahe@intel.com>
> Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check
> internally
> 
> Hi David,
> 
> > -----Original Message-----
> > From: Trahe, Fiona <fiona.trahe@intel.com>
> > Sent: Friday, April 17, 2020 4:05 PM
> > To: David Marchand <david.marchand@redhat.com>
> > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan
> > Nikhilesh <pbhagavatula@marvell.com>; Richardson, Bruce
> > <bruce.richardson@intel.com>; Thomas Monjalon <thomas@monjalon.net>;
> > Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> > <hemant.agrawal@nxp.com>; Trahe, Fiona <fiona.trahe@intel.com>
> > Subject: RE: [dpdk-dev] [PATCH v5] build: disable experimental API
> > check internally
> >
> > Hi Davd,
> >
> > > -----Original Message-----
> > > From: David Marchand <david.marchand@redhat.com>
> > > Sent: Friday, April 17, 2020 2:56 PM
> > > To: Trahe, Fiona <fiona.trahe@intel.com>
> > > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan
> > > Nikhilesh <pbhagavatula@marvell.com>; Richardson, Bruce
> > > <bruce.richardson@intel.com>; Thomas
> > Monjalon
> > > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>;
> > > Hemant Agrawal <hemant.agrawal@nxp.com>
> > > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API
> > > check internally
> > >
> > > On Fri, Apr 17, 2020 at 3:44 PM Trahe, Fiona <fiona.trahe@intel.com>
> wrote:
> > > >
> > > > Hi David,
> > > >
> > > > > -----Original Message-----
> > > > > From: David Marchand <david.marchand@redhat.com>
> > > > > Sent: Friday, April 17, 2020 2:23 PM
> > > > > To: Trahe, Fiona <fiona.trahe@intel.com>
> > > > > Cc: dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>;
> > > > > Pavan Nikhilesh <pbhagavatula@marvell.com>; Richardson, Bruce
> > > > > <bruce.richardson@intel.com>; Thomas
> > > Monjalon
> > > > > <thomas@monjalon.net>; Yigit, Ferruh <ferruh.yigit@intel.com>;
> > > > > Hemant Agrawal <hemant.agrawal@nxp.com>
> > > > > Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental
> > > > > API check internally
> > > > >
> > > > > On Fri, Apr 17, 2020 at 12:21 PM Trahe, Fiona <fiona.trahe@intel.com>
> wrote:
> > > > > > I see this is already applied.
> > > > > >
> > > > > > However,
> > > > > > rte_cryptodev_queue_pair_setup() calls
> > > > > > rte_cryptodev_sym_get_existing_header_session_size()
> > > > > > The former is a stable API, the latter is experimental.
> > > > > > So I expect the build to break when ALLOW_EXPERIMENTAL_API is
> disabled.
> > > > [Fiona] Thanks for confirming where the flag is.
> > > > But I think you've missed my point.
> > > > What about this problem?
> > >
> > > - dpdk-test-crypto-perf is built as part of the dpdk compilation itself.
> > > There is no user to be made aware of its use of experimental API.
> > >
> > > Now if you are talking about how the crypto API is bent in that it
> > > exposes a stable ABI with an underlying experimental ABI, this has
> > > nothing to do with the flag change.
> > [Fiona] Before this if an application didn't set
> > ALLOW_EXPERIMENTAL_API (which I expect is the default for many apps)
> > then the build worked fine as long as the app didn't directly call an
> > experimental API. The crypto lib still built ok as its own Makefile had the flag.
> > I just tried this with dpdk-test-crypto-perf. I had to remove one
> > direct call, without that it built ok. When I remove the flag from the
> > crypto lib Makefile, the build breaks as expected due to the above issue.
> >
> > So, yes, cryptodev lib should be fixed.
> > However this patch just applied will potentially break builds for many apps!
> > It could expose many other issues of internal dependencies on experimental
> APIs.
> 
> [Fiona] Ok, I get it now, there's no issue.
> I see now why the patch name was changed from "global" to "internal"!
> I had understood that the flag the application set or didn't set would ripple
> down through the whole build. Instead the flag is set (or not set) once by the
> application only affecting direct API calls and once for the rest of the build,
> which includes apps in the app folder, but not apps in the examples folder.
> So allowing experimental APIs internally, while disallowing them externally.
> A bit confusing, but ok, doesn't break anything and definitely better than having
> flags in every Make/meson file.
> 
> Fiona
> 


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-18 19:43                 ` Chautru, Nicolas
@ 2020-04-19  7:35                   ` David Marchand
  2020-04-19 16:17                     ` Chautru, Nicolas
  0 siblings, 1 reply; 29+ messages in thread
From: David Marchand @ 2020-04-19  7:35 UTC (permalink / raw)
  To: Chautru, Nicolas
  Cc: Trahe, Fiona, Akhil Goyal, dev, Jerin Jacob, Pavan Nikhilesh,
	Richardson, Bruce, Thomas Monjalon, Yigit, Ferruh,
	Hemant Agrawal

On Sat, Apr 18, 2020 at 9:46 PM Chautru, Nicolas
<nicolas.chautru@intel.com> wrote:
> It is probably just me but I having issue with this new patch.
> I typically rebuild the PMD libraries directly when doing incremental changes from the Makefile in the PMD directory (ie. not rebuilding full DPDK each time, which still work okay obviously).
> With this new change it doesn't seem to work any longer with the updated Makefiles without the ALLOW_EXPERIMENTAL_API:
>         Symbol is not yet part of stable ABI [-Werror=deprecated-declarations]
> I would need to have a further look but checking whether it is just me.

Can you give details?

I just tried with fpga_lte_fec:
$ make O=$HOME/builds/x86_64-native-linux-gcc+shared+kmods
drivers/baseband/fpga_lte_fec_sub
drivers/baseband/fpga_lte_fec_sub
== Build drivers/baseband/fpga_lte_fec
  CC fpga_lte_fec.o
  PMDINFO fpga_lte_fec.o.pmd.c
  CC fpga_lte_fec.o.pmd.o
  LD fpga_lte_fec.o
  LD librte_pmd_bbdev_fpga_lte_fec.so.20.0.2
  INSTALL-LIB librte_pmd_bbdev_fpga_lte_fec.so.20.0.2


-- 
David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

* Re: [dpdk-dev] [PATCH v5] build: disable experimental API check internally
  2020-04-19  7:35                   ` David Marchand
@ 2020-04-19 16:17                     ` Chautru, Nicolas
  0 siblings, 0 replies; 29+ messages in thread
From: Chautru, Nicolas @ 2020-04-19 16:17 UTC (permalink / raw)
  To: David Marchand
  Cc: Trahe, Fiona, Akhil Goyal, dev, Jerin Jacob, Pavan Nikhilesh,
	Richardson, Bruce, Thomas Monjalon, Yigit, Ferruh,
	Hemant Agrawal

Hi David, 
I will double check internally then as it may be something just that I miss on my end right now given you cannot reproduce it. 

> -----Original Message-----
> From: David Marchand <david.marchand@redhat.com>
> Sent: Sunday, April 19, 2020 12:35 AM
> To: Chautru, Nicolas <nicolas.chautru@intel.com>
> Cc: Trahe, Fiona <fiona.trahe@intel.com>; Akhil Goyal <akhil.goyal@nxp.com>;
> dev <dev@dpdk.org>; Jerin Jacob <jerinjacobk@gmail.com>; Pavan Nikhilesh
> <pbhagavatula@marvell.com>; Richardson, Bruce
> <bruce.richardson@intel.com>; Thomas Monjalon <thomas@monjalon.net>;
> Yigit, Ferruh <ferruh.yigit@intel.com>; Hemant Agrawal
> <hemant.agrawal@nxp.com>
> Subject: Re: [dpdk-dev] [PATCH v5] build: disable experimental API check
> internally
> 
> On Sat, Apr 18, 2020 at 9:46 PM Chautru, Nicolas <nicolas.chautru@intel.com>
> wrote:
> > It is probably just me but I having issue with this new patch.
> > I typically rebuild the PMD libraries directly when doing incremental changes
> from the Makefile in the PMD directory (ie. not rebuilding full DPDK each time,
> which still work okay obviously).
> > With this new change it doesn't seem to work any longer with the updated
> Makefiles without the ALLOW_EXPERIMENTAL_API:
> >         Symbol is not yet part of stable ABI
> > [-Werror=deprecated-declarations] I would need to have a further look but
> checking whether it is just me.
> 
> Can you give details?
> 
> I just tried with fpga_lte_fec:
> $ make O=$HOME/builds/x86_64-native-linux-gcc+shared+kmods
> drivers/baseband/fpga_lte_fec_sub
> drivers/baseband/fpga_lte_fec_sub
> == Build drivers/baseband/fpga_lte_fec
>   CC fpga_lte_fec.o
>   PMDINFO fpga_lte_fec.o.pmd.c
>   CC fpga_lte_fec.o.pmd.o
>   LD fpga_lte_fec.o
>   LD librte_pmd_bbdev_fpga_lte_fec.so.20.0.2
>   INSTALL-LIB librte_pmd_bbdev_fpga_lte_fec.so.20.0.2
> 
> 
> --
> David Marchand


^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2020-04-19 16:17 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-02 18:32 [dpdk-dev] [PATCH v2 1/2] build: meson make experimental tag as global Jerin Jacob
2020-04-02 18:32 ` [dpdk-dev] [PATCH v2 2/2] build: makefile " Jerin Jacob
2020-04-03  7:23 ` [dpdk-dev] [PATCH v2 1/2] build: meson " David Marchand
2020-04-03  7:45   ` David Marchand
2020-04-03  8:05     ` [dpdk-dev] [EXT] " Pavan Nikhilesh Bhagavatula
2020-04-03  8:18       ` David Marchand
2020-04-03  9:10         ` Bruce Richardson
2020-04-03  9:14           ` David Marchand
2020-04-03  9:35             ` Bruce Richardson
2020-04-03 10:56       ` Thomas Monjalon
2020-04-03 11:02         ` Pavan Nikhilesh Bhagavatula
2020-04-03 10:20 ` [dpdk-dev] " Hemant Agrawal (OSS)
2020-04-03 14:19 ` [dpdk-dev] [PATCH v3] build: enable allow experimental API flag globally pbhagavatula
2020-04-06 20:16   ` David Marchand
2020-04-10  9:03   ` [dpdk-dev] [PATCH v4] build: enable allow experimental API flag pbhagavatula
2020-04-10 12:12     ` David Marchand
2020-04-10 15:48       ` David Marchand
2020-04-13 14:55 ` [dpdk-dev] [PATCH v5] build: disable experimental API check internally David Marchand
2020-04-14 14:23   ` David Marchand
2020-04-17 10:21     ` Trahe, Fiona
2020-04-17 13:23       ` David Marchand
2020-04-17 13:44         ` Trahe, Fiona
2020-04-17 13:54           ` Thomas Monjalon
2020-04-17 13:56           ` David Marchand
2020-04-17 15:05             ` Trahe, Fiona
2020-04-17 15:52               ` Trahe, Fiona
2020-04-18 19:43                 ` Chautru, Nicolas
2020-04-19  7:35                   ` David Marchand
2020-04-19 16:17                     ` Chautru, Nicolas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).