[PATCH v3 1/2] build: add backward compatibility for nested drivers
Kevin Traynor
ktraynor at redhat.com
Mon Sep 29 12:05:27 CEST 2025
Intel driver were moved from 'net/*' to '/net/intel/*' in DPDK 25.03
in commit
c1d145834f28 ("net/intel: move Intel drivers to a subdirectory")
This means that any enabling or disabling of those drivers from
the command line using the old names will no longer work.
e.g. 'net/ixgbe' will not enable/disable the ixgbe driver.
The drivers enabled or disabled are reported in the meson logs,
but it is easy to miss this change in the list of drivers and end up
with a build missing drivers or drivers unintentionally enabled.
It also means that any users working with different versions of DPDK
have to enable/disable drivers differently depending on the DPDK
version.
To avoid the issues above, add backwards compatibility for old Intel
driver names. It can be extended for other drivers if the need arises.
Fixes: c1d145834f28 ("net/intel: move Intel drivers to a subdirectory")
Signed-off-by: Kevin Traynor <ktraynor at redhat.com>
Acked-by: Bruce Richardson <bruce.richardson at intel.com>
---
drivers/meson.build | 38 +++++++++++++++++++++++++++++++++-----
1 file changed, 33 insertions(+), 5 deletions(-)
diff --git a/drivers/meson.build b/drivers/meson.build
index f25f425565..2f32a8559f 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -33,10 +33,38 @@ if meson.is_cross_build()
endif
-# add cmdline disabled drivers and meson disabled drivers together
-disable_drivers += ',' + get_option('disable_drivers')
+# map legacy driver names
+driver_map = {
+ 'net/e1000': 'net/intel/e1000',
+ 'net/fm10k': 'net/intel/fm10k',
+ 'net/i40e': 'net/intel/i40e',
+ 'net/iavf': 'net/intel/iavf',
+ 'net/ice': 'net/intel/ice',
+ 'net/idpf': 'net/intel/idpf',
+ 'net/ipn3ke': 'net/intel/ipn3ke',
+ 'net/ixgbe': 'net/intel/ixgbe',
+ 'net/cpfl': 'net/intel/cpfl',
+}
+
+foreach driver_option : ['disable_drivers', 'enable_drivers']
+ # get list of drivers from the option
+ cmdline_drivers = get_option(driver_option)
+ foreach driver : cmdline_drivers.split(',')
+ if driver == ''
+ continue
+ endif
+ # check if driver has a legacy name which maps to a new name
+ if driver_map.has_key(driver)
+ # use new name instead of legacy name
+ driver = driver_map[driver]
+ endif
+ if driver_option == 'disable_drivers'
+ disable_drivers += ',' + driver
+ else
+ enable_drivers += ',' + driver
+ endif
+ endforeach
+endforeach
+
disable_drivers = run_command(list_dir_globs, disable_drivers, check: true).stdout().split()
-
-# add cmdline enabled drivers and meson enabled drivers together
-enable_drivers = ',' + get_option('enable_drivers')
enable_drivers = run_command(list_dir_globs, enable_drivers, check: true).stdout().split()
require_drivers = true
--
2.51.0
More information about the dev
mailing list