From 2d68cec5899c78af496eaf5c3972e40eb2e7f3bd Mon Sep 17 00:00:00 2001 From: Bruce Richardson Date: Mon, 10 Feb 2025 16:44:25 +0000 Subject: [PATCH] drivers: move iavf common folder to iavf net The common/iavf driver folder contains the base code for the iavf driver, which is also linked against by the ice driver and others. However, there is no need for this to be in common, and we can move it to the net/intel/iavf as a base code driver. This involves updating dependencies that were on common/iavf to net/iavf Signed-off-by: Bruce Richardson Acked-by: Ian Stokes --- devtools/libabigail.abignore | 1 + doc/guides/rel_notes/release_25_03.rst | 5 ++++- drivers/common/iavf/version.map | 13 ------------- drivers/common/meson.build | 1 - .../{common/iavf => net/intel/iavf/base}/README | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.c | 0 .../iavf => net/intel/iavf/base}/iavf_adminq.h | 0 .../iavf => net/intel/iavf/base}/iavf_adminq_cmd.h | 0 .../iavf => net/intel/iavf/base}/iavf_alloc.h | 0 .../iavf => net/intel/iavf/base}/iavf_common.c | 0 .../iavf => net/intel/iavf/base}/iavf_devids.h | 0 .../iavf => net/intel/iavf/base}/iavf_impl.c | 0 .../iavf => net/intel/iavf/base}/iavf_osdep.h | 0 .../iavf => net/intel/iavf/base}/iavf_prototype.h | 0 .../iavf => net/intel/iavf/base}/iavf_register.h | 0 .../iavf => net/intel/iavf/base}/iavf_status.h | 0 .../iavf => net/intel/iavf/base}/iavf_type.h | 0 .../iavf => net/intel/iavf/base}/meson.build | 0 .../iavf => net/intel/iavf/base}/virtchnl.h | 0 .../intel/iavf/base}/virtchnl_inline_ipsec.h | 0 drivers/net/intel/iavf/meson.build | 13 +++++++++---- drivers/net/intel/iavf/version.map | 14 ++++++++++++++ drivers/net/intel/ice/meson.build | 7 +++---- drivers/net/intel/idpf/meson.build | 2 +- 24 files changed, 32 insertions(+), 24 deletions(-) delete mode 100644 drivers/common/iavf/version.map rename drivers/{common/iavf => net/intel/iavf/base}/README (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_adminq_cmd.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_alloc.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_common.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_devids.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_impl.c (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_osdep.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_prototype.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_register.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_status.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/iavf_type.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/meson.build (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl.h (100%) rename drivers/{common/iavf => net/intel/iavf/base}/virtchnl_inline_ipsec.h (100%) diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index b7daca48412..ce501632b39 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -23,6 +23,7 @@ ; This is not a libabigail rule (see check-abi.sh). ; This is used for driver removal and other special cases like mlx glue libs. ; +; SKIP_LIBRARY=librte_common_iavf ; SKIP_LIBRARY=librte_common_idpf ; SKIP_LIBRARY=librte_common_mlx5_glue ; SKIP_LIBRARY=librte_net_mlx4_glue diff --git a/doc/guides/rel_notes/release_25_03.rst b/doc/guides/rel_notes/release_25_03.rst index 2338a97e763..d2e8b031072 100644 --- a/doc/guides/rel_notes/release_25_03.rst +++ b/doc/guides/rel_notes/release_25_03.rst @@ -182,9 +182,12 @@ API Changes ``-Denable_drivers=net/intel/e1000``. * The driver ``common/idpf`` has been merged into the ``net/intel/idpf`` driver. - This change should have no impact to end applications, but, + Similarly, the ``common/iavf`` driver has been merged into the ``net/intel/iavf`` driver. + These changes should have no impact to end applications, but, when specifying the ``idpf`` or ``cpfl`` net drivers to meson via ``-Denable_drivers`` option, there is no longer any need to also specify the ``common/idpf`` driver. + In the same way, when specifying the ``iavf`` or ``ice`` net drivers, + there is no need to also specify the ``common/iavf`` driver. Note, however, ``net/intel/cpfl`` driver now depends upon the ``net/intel/idpf`` driver. diff --git a/drivers/common/iavf/version.map b/drivers/common/iavf/version.map deleted file mode 100644 index 6c1427cca4c..00000000000 --- a/drivers/common/iavf/version.map +++ /dev/null @@ -1,13 +0,0 @@ -INTERNAL { - global: - - iavf_aq_send_msg_to_pf; - iavf_clean_arq_element; - iavf_init_adminq; - iavf_set_mac_type; - iavf_shutdown_adminq; - iavf_vf_parse_hw_config; - iavf_vf_reset; - - local: *; -}; diff --git a/drivers/common/meson.build b/drivers/common/meson.build index e1e3149d8fd..dc096aab0a1 100644 --- a/drivers/common/meson.build +++ b/drivers/common/meson.build @@ -5,7 +5,6 @@ std_deps = ['eal'] drivers = [ 'cpt', 'dpaax', - 'iavf', 'ionic', 'mvep', 'octeontx', diff --git a/drivers/common/iavf/README b/drivers/net/intel/iavf/base/README similarity index 100% rename from drivers/common/iavf/README rename to drivers/net/intel/iavf/base/README diff --git a/drivers/common/iavf/iavf_adminq.c b/drivers/net/intel/iavf/base/iavf_adminq.c similarity index 100% rename from drivers/common/iavf/iavf_adminq.c rename to drivers/net/intel/iavf/base/iavf_adminq.c diff --git a/drivers/common/iavf/iavf_adminq.h b/drivers/net/intel/iavf/base/iavf_adminq.h similarity index 100% rename from drivers/common/iavf/iavf_adminq.h rename to drivers/net/intel/iavf/base/iavf_adminq.h diff --git a/drivers/common/iavf/iavf_adminq_cmd.h b/drivers/net/intel/iavf/base/iavf_adminq_cmd.h similarity index 100% rename from drivers/common/iavf/iavf_adminq_cmd.h rename to drivers/net/intel/iavf/base/iavf_adminq_cmd.h diff --git a/drivers/common/iavf/iavf_alloc.h b/drivers/net/intel/iavf/base/iavf_alloc.h similarity index 100% rename from drivers/common/iavf/iavf_alloc.h rename to drivers/net/intel/iavf/base/iavf_alloc.h diff --git a/drivers/common/iavf/iavf_common.c b/drivers/net/intel/iavf/base/iavf_common.c similarity index 100% rename from drivers/common/iavf/iavf_common.c rename to drivers/net/intel/iavf/base/iavf_common.c diff --git a/drivers/common/iavf/iavf_devids.h b/drivers/net/intel/iavf/base/iavf_devids.h similarity index 100% rename from drivers/common/iavf/iavf_devids.h rename to drivers/net/intel/iavf/base/iavf_devids.h diff --git a/drivers/common/iavf/iavf_impl.c b/drivers/net/intel/iavf/base/iavf_impl.c similarity index 100% rename from drivers/common/iavf/iavf_impl.c rename to drivers/net/intel/iavf/base/iavf_impl.c diff --git a/drivers/common/iavf/iavf_osdep.h b/drivers/net/intel/iavf/base/iavf_osdep.h similarity index 100% rename from drivers/common/iavf/iavf_osdep.h rename to drivers/net/intel/iavf/base/iavf_osdep.h diff --git a/drivers/common/iavf/iavf_prototype.h b/drivers/net/intel/iavf/base/iavf_prototype.h similarity index 100% rename from drivers/common/iavf/iavf_prototype.h rename to drivers/net/intel/iavf/base/iavf_prototype.h diff --git a/drivers/common/iavf/iavf_register.h b/drivers/net/intel/iavf/base/iavf_register.h similarity index 100% rename from drivers/common/iavf/iavf_register.h rename to drivers/net/intel/iavf/base/iavf_register.h diff --git a/drivers/common/iavf/iavf_status.h b/drivers/net/intel/iavf/base/iavf_status.h similarity index 100% rename from drivers/common/iavf/iavf_status.h rename to drivers/net/intel/iavf/base/iavf_status.h diff --git a/drivers/common/iavf/iavf_type.h b/drivers/net/intel/iavf/base/iavf_type.h similarity index 100% rename from drivers/common/iavf/iavf_type.h rename to drivers/net/intel/iavf/base/iavf_type.h diff --git a/drivers/common/iavf/meson.build b/drivers/net/intel/iavf/base/meson.build similarity index 100% rename from drivers/common/iavf/meson.build rename to drivers/net/intel/iavf/base/meson.build diff --git a/drivers/common/iavf/virtchnl.h b/drivers/net/intel/iavf/base/virtchnl.h similarity index 100% rename from drivers/common/iavf/virtchnl.h rename to drivers/net/intel/iavf/base/virtchnl.h diff --git a/drivers/common/iavf/virtchnl_inline_ipsec.h b/drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h similarity index 100% rename from drivers/common/iavf/virtchnl_inline_ipsec.h rename to drivers/net/intel/iavf/base/virtchnl_inline_ipsec.h diff --git a/drivers/net/intel/iavf/meson.build b/drivers/net/intel/iavf/meson.build index d9b605f55a3..c823d618e38 100644 --- a/drivers/net/intel/iavf/meson.build +++ b/drivers/net/intel/iavf/meson.build @@ -7,9 +7,13 @@ endif testpmd_sources = files('iavf_testpmd.c') -deps += ['common_iavf', 'security', 'cryptodev'] +deps += ['security', 'cryptodev'] sources = files( + 'base/iavf_adminq.c', + 'base/iavf_common.c', + 'base/iavf_impl.c', + 'iavf_ethdev.c', 'iavf_rxtx.c', 'iavf_vchnl.c', @@ -20,8 +24,9 @@ sources = files( 'iavf_ipsec_crypto.c', 'iavf_fsub.c', ) +includes += include_directories('base') -if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') +if arch_subdir == 'x86' sources += files('iavf_rxtx_vec_sse.c') if is_windows and cc.get_id() != 'clang' @@ -30,7 +35,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') iavf_avx2_lib = static_library('iavf_avx2_lib', 'iavf_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: [cflags, '-mavx2']) objs += iavf_avx2_lib.extract_objects('iavf_rxtx_vec_avx2.c') @@ -43,7 +48,7 @@ if arch_subdir == 'x86' and is_variable('static_rte_common_iavf') endif iavf_avx512_lib = static_library('iavf_avx512_lib', 'iavf_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, static_rte_common_iavf], + dependencies: [static_rte_ethdev], include_directories: includes, c_args: avx512_args) objs += iavf_avx512_lib.extract_objects('iavf_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/iavf/version.map b/drivers/net/intel/iavf/version.map index 98de64cca26..d18dea64dd5 100644 --- a/drivers/net/intel/iavf/version.map +++ b/drivers/net/intel/iavf/version.map @@ -17,3 +17,17 @@ EXPERIMENTAL { # added in 21.11 rte_pmd_ifd_dynflag_proto_xtr_ipsec_crypto_said_mask; }; + +INTERNAL { + global: + + iavf_aq_send_msg_to_pf; + iavf_clean_arq_element; + iavf_init_adminq; + iavf_set_mac_type; + iavf_shutdown_adminq; + iavf_vf_parse_hw_config; + iavf_vf_reset; + + local: *; +}; diff --git a/drivers/net/intel/ice/meson.build b/drivers/net/intel/ice/meson.build index beaf21e176d..5faf8873867 100644 --- a/drivers/net/intel/ice/meson.build +++ b/drivers/net/intel/ice/meson.build @@ -18,7 +18,7 @@ sources = files( testpmd_sources = files('ice_testpmd.c') -deps += ['hash', 'net', 'common_iavf'] +deps += ['hash', 'net', 'net_iavf'] includes += include_directories('base') if arch_subdir == 'x86' @@ -30,7 +30,7 @@ if arch_subdir == 'x86' ice_avx2_lib = static_library('ice_avx2_lib', 'ice_rxtx_vec_avx2.c', - dependencies: [static_rte_ethdev, static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: [cflags, '-mavx2']) objs += ice_avx2_lib.extract_objects('ice_rxtx_vec_avx2.c') @@ -43,8 +43,7 @@ if arch_subdir == 'x86' endif ice_avx512_lib = static_library('ice_avx512_lib', 'ice_rxtx_vec_avx512.c', - dependencies: [static_rte_ethdev, - static_rte_kvargs, static_rte_hash], + dependencies: [static_rte_ethdev, static_rte_hash], include_directories: includes, c_args: avx512_args) objs += ice_avx512_lib.extract_objects('ice_rxtx_vec_avx512.c') diff --git a/drivers/net/intel/idpf/meson.build b/drivers/net/intel/idpf/meson.build index 87bc39f76e2..d69254484bd 100644 --- a/drivers/net/intel/idpf/meson.build +++ b/drivers/net/intel/idpf/meson.build @@ -7,7 +7,7 @@ if is_windows subdir_done() endif -includes += include_directories('../../../common/iavf') +includes += include_directories('../iavf/base') sources = files( 'idpf_common_device.c',