]> git.droids-corp.org - dpdk.git/commitdiff
regexdev: fix section attribute of symbols
authorThomas Monjalon <thomas@monjalon.net>
Sun, 6 Mar 2022 09:20:22 +0000 (10:20 +0100)
committerThomas Monjalon <thomas@monjalon.net>
Tue, 8 Mar 2022 14:22:28 +0000 (15:22 +0100)
The functions used by the drivers must be internal,
while the function and variables used in inline functions
must be experimental.

These are the changes done in the shared library:
- DF .text  Base          rte_regexdev_get_device_by_name
+ DF .text  INTERNAL      rte_regexdev_get_device_by_name
- DF .text  Base          rte_regexdev_register
+ DF .text  INTERNAL      rte_regexdev_register
- DF .text  Base          rte_regexdev_unregister
+ DF .text  INTERNAL      rte_regexdev_unregister
- DF .text  Base          rte_regexdev_is_valid_dev
+ DF .text  EXPERIMENTAL  rte_regexdev_is_valid_dev
- DO .bss   Base          rte_regex_devices
+ DO .bss   EXPERIMENTAL  rte_regex_devices
- DO .bss   Base          rte_regexdev_logtype
+ DO .bss   EXPERIMENTAL  rte_regexdev_logtype

Because these symbols were exported in the default section in DPDK 21.11,
any change in these functions would be seen as incompatible
by the ABI compatibility check.
An exception rule is added for this experimental library,
so the ABI check will skip it until the next ABI version.

Fixes: bab9497ef78b ("regexdev: introduce API")
Cc: stable@dpdk.org
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Ori Kam <orika@nvidia.com>
devtools/libabigail.abignore
lib/regexdev/rte_regexdev.h
lib/regexdev/rte_regexdev_driver.h
lib/regexdev/version.map

index 9c921c47d4c3e5c6d1d5e776a62e2690322b2924..18c11c80c65f23298ae7875ed5959c84ce447c69 100644 (file)
 [suppress_type]
         name = rte_crypto_asym_op
 
+; 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\.
index 4ba67b0c25456eca41b796c876574a6294caaf51..3bce8090f62dfd8e9841abf9fc8f63dac5963f0d 100644 (file)
@@ -225,6 +225,9 @@ extern int rte_regexdev_logtype;
 } while (0)
 
 /**
+ * @warning
+ * @b EXPERIMENTAL: this API may change without prior notice.
+ *
  * Check if dev_id is ready.
  *
  * @param dev_id
@@ -234,6 +237,7 @@ extern int rte_regexdev_logtype;
  *   - 0 if device state is not in ready state.
  *   - 1 if device state is ready state.
  */
+__rte_experimental
 int rte_regexdev_is_valid_dev(uint16_t dev_id);
 
 /**
index 64742016c0de74da1de76a3b12415859a1b302eb..6246b144a6c18b70cfe0111e5a0f68c15d6b55bc 100644 (file)
@@ -32,6 +32,7 @@ extern "C" {
  *   A pointer to the RegEx device slot case of success,
  *   NULL otherwise.
  */
+__rte_internal
 struct rte_regexdev *rte_regexdev_register(const char *name);
 
 /**
@@ -41,6 +42,7 @@ struct rte_regexdev *rte_regexdev_register(const char *name);
  * @param dev
  *   Device to be released.
  */
+__rte_internal
 void rte_regexdev_unregister(struct rte_regexdev *dev);
 
 /**
@@ -50,6 +52,7 @@ void rte_regexdev_unregister(struct rte_regexdev *dev);
  * @param name
  *   The device name.
  */
+__rte_internal
 struct rte_regexdev *rte_regexdev_get_device_by_name(const char *name);
 
 #ifdef __cplusplus
index 8db9b170186d12392be0a9ee4de6b14652269791..988b9096385f5b65a0f35a836896ac8dc5a3e105 100644 (file)
@@ -1,6 +1,7 @@
 EXPERIMENTAL {
        global:
 
+       rte_regex_devices;
        rte_regexdev_attr_get;
        rte_regexdev_attr_set;
        rte_regexdev_close;
@@ -11,6 +12,8 @@ EXPERIMENTAL {
        rte_regexdev_enqueue_burst;
        rte_regexdev_get_dev_id;
        rte_regexdev_info_get;
+       rte_regexdev_is_valid_dev;
+       rte_regexdev_logtype;
        rte_regexdev_queue_pair_setup;
        rte_regexdev_rule_db_compile_activate;
        rte_regexdev_rule_db_export;
@@ -24,3 +27,9 @@ EXPERIMENTAL {
        rte_regexdev_xstats_names_get;
        rte_regexdev_xstats_reset;
 };
+
+INTERNAL {
+       rte_regexdev_get_device_by_name;
+       rte_regexdev_register;
+       rte_regexdev_unregister;
+};