[PATCH v5 3/4] drivers: move iavf common folder to iavf net
Stokes, Ian
ian.stokes at intel.com
Tue Feb 11 15:12:32 CET 2025
> 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 <bruce.richardson at intel.com>
> ---
> 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 b7daca4841..ce501632b3 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 2338a97e76..d2e8b03107 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 6c1427cca4..0000000000
> --- 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 e1e3149d8f..dc096aab0a 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 d9b605f55a..c823d618e3 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 98de64cca2..d18dea64dd 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 beaf21e176..5faf887386 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 87bc39f76e..d69254484b 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',
> --
> 2.43.0
Patch looks good to me Bruce.
Acked-by: Ian Stokes <ian.stokes at intel.com>
More information about the dev
mailing list