The functions which are not explicitly marked as internal were exported because the local catch-all rule was missing in the version script. After adding the missing rule, all local functions are hidden. The function mlx5_get_device_guid is used in another library, so it needs to be exported (as internal).
Because the local functions were exported as non-internal in DPDK 21.11, any change in these functions would break the ABI. An ABI exception is added for this library, considering that all functions are either local or internal. Signed-off-by: Michael Baum <michae...@nvidia.com> --- devtools/libabigail.abignore | 4 ++++ drivers/common/mlx5/linux/mlx5_common_os.h | 1 + drivers/common/mlx5/version.map | 3 +++ 3 files changed, 8 insertions(+) diff --git a/devtools/libabigail.abignore b/devtools/libabigail.abignore index ef0602975a..78d57497e6 100644 --- a/devtools/libabigail.abignore +++ b/devtools/libabigail.abignore @@ -20,3 +20,7 @@ ; Ignore changes to rte_crypto_asym_op, asymmetric crypto API is experimental [suppress_type] name = rte_crypto_asym_op + +; Ignore changes in common mlx5 driver, should be all internal +[suppress_file] + soname_regexp = ^librte_common_mlx5\. \ No newline at end of file diff --git a/drivers/common/mlx5/linux/mlx5_common_os.h b/drivers/common/mlx5/linux/mlx5_common_os.h index 83066e752d..edf356a30a 100644 --- a/drivers/common/mlx5/linux/mlx5_common_os.h +++ b/drivers/common/mlx5/linux/mlx5_common_os.h @@ -300,6 +300,7 @@ mlx5_set_context_attr(struct rte_device *dev, struct ibv_context *ctx); * 0 if OFED doesn't support. * >0 if success. */ +__rte_internal int mlx5_get_device_guid(const struct rte_pci_addr *dev, uint8_t *guid, size_t len); diff --git a/drivers/common/mlx5/version.map b/drivers/common/mlx5/version.map index 1c6153c576..cb20a7d893 100644 --- a/drivers/common/mlx5/version.map +++ b/drivers/common/mlx5/version.map @@ -80,6 +80,7 @@ INTERNAL { mlx5_free; + mlx5_get_device_guid; # WINDOWS_NO_EXPORT mlx5_get_ifname_sysfs; # WINDOWS_NO_EXPORT mlx5_get_pci_addr; # WINDOWS_NO_EXPORT @@ -149,4 +150,6 @@ INTERNAL { mlx5_mp_req_mempool_reg; mlx5_mr_mempool2mr_bh; mlx5_mr_mempool_populate_cache; + + local: *; }; -- 2.25.1