+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Core suppression rules: DO NOT TOUCH ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
[suppress_function]
symbol_version = EXPERIMENTAL
[suppress_variable]
symbol_version = EXPERIMENTAL
-; Explicit ignore for driver-only ABI
+[suppress_function]
+ symbol_version = INTERNAL
+[suppress_variable]
+ symbol_version = INTERNAL
+
+; Ignore generated PMD information strings
+[suppress_variable]
+ name_regexp = _pmd_info$
+
+; Ignore changes on soname for mlx glue internal drivers
+[suppress_file]
+ soname_regexp = ^librte_.*mlx.*glue\.
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Experimental APIs exceptions ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; Ignore changes to asymmetric crypto API which is experimental
+[suppress_type]
+ name = rte_crypto_asym_op
[suppress_type]
- name = rte_cryptodev_ops
-; Ignore this enum update as it is part of an experimental API
+ type_kind = enum
+ changed_enumerators = RTE_CRYPTO_ASYM_XFORM_ECPM, RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
+
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Temporary exceptions till next major ABI version ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
+; Ignore ethdev event enum update
+; because new event cannot be received if not registered
[suppress_type]
type_kind = enum
- name = rte_crypto_asym_xform_type
- changed_enumerators = RTE_CRYPTO_ASYM_XFORM_TYPE_LIST_END
+ changed_enumerators = RTE_ETH_EVENT_MAX
+
+; Ignore fields inserted in cacheline boundary of rte_eth_rxq_info
+; because the struct size is unchanged
+[suppress_type]
+ name = rte_eth_rxq_info
+ has_data_member_inserted_between = {offset_of(rx_buf_size), end}
+
+; Ignore fields inserted in place of reserved_opts of rte_security_ipsec_sa_options
+[suppress_type]
+ name = rte_security_ipsec_sa_options
+ has_data_member_inserted_between = {offset_of(reserved_opts), end}
+
+; Ignore section attribute fixes in experimental regexdev library
+[suppress_file]
+ soname_regexp = ^librte_regexdev\.
+
+; Ignore changes in common mlx5 driver, should be all internal
+[suppress_file]
+ soname_regexp = ^librte_common_mlx5\.
+
+; Ignore visibility fix of local functions in experimental auxiliary driver
+[suppress_file]
+ soname_regexp = ^librte_bus_auxiliary\.
+
+; Ignore visibility fix of local functions in experimental gpudev library
+[suppress_file]
+ soname_regexp = ^librte_gpudev\.
+
+; Ignore libabigail false-positive in clang builds, after moving code.
+[suppress_function]
+ name = rte_eal_remote_launch