+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Core suppression rules: DO NOT TOUCH ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+
[suppress_function]
symbol_version = EXPERIMENTAL
[suppress_variable]
[suppress_variable]
name_regexp = _pmd_info$
-; Explicit ignore for driver-only ABI
-[suppress_function]
- name_regexp = rte_vdev_(|un)register
+; Ignore changes on soname for mlx glue internal drivers
+[suppress_file]
+ soname_regexp = ^librte_.*mlx.*glue\.
-; Ignore fields inserted in cacheline boundary of rte_cryptodev
-[suppress_type]
- name = rte_cryptodev
- has_data_member_inserted_between = {offset_after(attached), end}
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
+; Experimental APIs exceptions ;
+;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
-; Ignore fields inserted in union boundary of rte_cryptodev_symmetric_capability
+; Ignore changes to asymmetric crypto API which is experimental
[suppress_type]
- name = rte_cryptodev_symmetric_capability
- has_data_member_inserted_between = {offset_after(cipher.iv_size), end}
-
-; Ignore fields inserted in middle padding of rte_crypto_cipher_xform
+ name = rte_crypto_asym_op
[suppress_type]
- name = rte_crypto_cipher_xform
- has_data_member_inserted_between = {offset_after(key), offset_of(iv)}
+ 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 fields inserted in place of reserved fields of rte_eventdev
+; Ignore ethdev event enum update
+; because new event cannot be received if not registered
[suppress_type]
- name = rte_eventdev
- has_data_member_inserted_between = {offset_after(attached), end}
+ type_kind = enum
+ changed_enumerators = RTE_ETH_EVENT_MAX
-; Ignore fields inserted in alignment hole of rte_eth_rxq_info
+; 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_at = offset_after(scattered_rx)
+ name = rte_eth_rxq_info
+ has_data_member_inserted_between = {offset_of(rx_buf_size), end}
-; Ignore fields inserted in cacheline boundary of rte_eth_txq_info
+; Ignore fields inserted in place of reserved_opts of rte_security_ipsec_sa_options
[suppress_type]
- name = rte_eth_txq_info
- has_data_member_inserted_between = {offset_after(nb_desc), end}
+ 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