The SWX table symbols have been experimental since 20.11 (exact match),
21.05 (wildcard match), 21.08 (selector) and 21.11 (learner), with only
the learner timeout and rearm additions in 22.07 being more recent.

The interface has been unchanged for several releases and is the only
table API remaining now that the legacy rte_table_* API has been
removed, so promote it to stable.

Signed-off-by: Stephen Hemminger <[email protected]>
---
 lib/table/rte_swx_table_em.c       |  4 ++--
 lib/table/rte_swx_table_learner.c  | 20 ++++++++++----------
 lib/table/rte_swx_table_learner.h  | 12 ------------
 lib/table/rte_swx_table_selector.c | 12 ++++++------
 lib/table/rte_swx_table_selector.h |  8 --------
 lib/table/rte_swx_table_wm.c       |  2 +-
 6 files changed, 19 insertions(+), 39 deletions(-)

diff --git a/lib/table/rte_swx_table_em.c b/lib/table/rte_swx_table_em.c
index c408ea6fc3..ad49443389 100644
--- a/lib/table/rte_swx_table_em.c
+++ b/lib/table/rte_swx_table_em.c
@@ -646,7 +646,7 @@ table_footprint(struct rte_swx_table_params *params,
        return memory_footprint;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_exact_match_unoptimized_ops, 
20.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_exact_match_unoptimized_ops)
 struct rte_swx_table_ops rte_swx_table_exact_match_unoptimized_ops = {
        .footprint_get = table_footprint,
        .mailbox_size_get = table_mailbox_size_get_unoptimized,
@@ -657,7 +657,7 @@ struct rte_swx_table_ops 
rte_swx_table_exact_match_unoptimized_ops = {
        .free = table_free,
 };
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_exact_match_ops, 20.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_exact_match_ops)
 struct rte_swx_table_ops rte_swx_table_exact_match_ops = {
        .footprint_get = table_footprint,
        .mailbox_size_get = table_mailbox_size_get,
diff --git a/lib/table/rte_swx_table_learner.c 
b/lib/table/rte_swx_table_learner.c
index 3680bf26c1..633f9df2e2 100644
--- a/lib/table/rte_swx_table_learner.c
+++ b/lib/table/rte_swx_table_learner.c
@@ -273,7 +273,7 @@ table_entry_id_get(struct table *t, struct table_bucket *b, 
size_t bucket_key_po
        return (bucket_id << TABLE_KEYS_PER_BUCKET_LOG2) + bucket_key_pos;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_footprint_get, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_footprint_get)
 uint64_t
 rte_swx_table_learner_footprint_get(struct rte_swx_table_learner_params 
*params)
 {
@@ -285,7 +285,7 @@ rte_swx_table_learner_footprint_get(struct 
rte_swx_table_learner_params *params)
        return status ? 0 : p.total_size;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_create, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_create)
 void *
 rte_swx_table_learner_create(struct rte_swx_table_learner_params *params, int 
numa_node)
 {
@@ -309,7 +309,7 @@ rte_swx_table_learner_create(struct 
rte_swx_table_learner_params *params, int nu
        return t;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_free, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_free)
 void
 rte_swx_table_learner_free(void *table)
 {
@@ -321,7 +321,7 @@ rte_swx_table_learner_free(void *table)
        env_free(t, t->params.total_size);
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_timeout_update, 22.07)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_timeout_update)
 int
 rte_swx_table_learner_timeout_update(void *table,
                                     uint32_t key_timeout_id,
@@ -359,14 +359,14 @@ struct mailbox {
        int state;
 };
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_mailbox_size_get, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_mailbox_size_get)
 uint64_t
 rte_swx_table_learner_mailbox_size_get(void)
 {
        return sizeof(struct mailbox);
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_lookup, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_lookup)
 int
 rte_swx_table_learner_lookup(void *table,
                             void *mailbox,
@@ -453,7 +453,7 @@ rte_swx_table_learner_lookup(void *table,
        }
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_rearm, 22.07)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_rearm)
 void
 rte_swx_table_learner_rearm(void *table,
                            void *mailbox,
@@ -477,7 +477,7 @@ rte_swx_table_learner_rearm(void *table,
        b->time[bucket_key_pos] = (input_time + key_timeout) >> 32;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_rearm_new, 22.07)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_rearm_new)
 void
 rte_swx_table_learner_rearm_new(void *table,
                                void *mailbox,
@@ -502,7 +502,7 @@ rte_swx_table_learner_rearm_new(void *table,
        b->key_timeout_id[bucket_key_pos] = (uint8_t)key_timeout_id;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_add, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_add)
 uint32_t
 rte_swx_table_learner_add(void *table,
                          void *mailbox,
@@ -579,7 +579,7 @@ rte_swx_table_learner_add(void *table,
        return 1;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_learner_delete, 21.11)
+RTE_EXPORT_SYMBOL(rte_swx_table_learner_delete)
 void
 rte_swx_table_learner_delete(void *table __rte_unused,
                             void *mailbox)
diff --git a/lib/table/rte_swx_table_learner.h 
b/lib/table/rte_swx_table_learner.h
index 9a18be083d..92f1ed949e 100644
--- a/lib/table/rte_swx_table_learner.h
+++ b/lib/table/rte_swx_table_learner.h
@@ -45,8 +45,6 @@
 #include <stdint.h>
 #include <sys/types.h>
 
-#include <rte_compat.h>
-
 #include "rte_swx_hash_func.h"
 
 #ifdef __cplusplus
@@ -107,7 +105,6 @@ struct rte_swx_table_learner_params {
  * @return
  *   Table memory footprint in bytes.
  */
-__rte_experimental
 uint64_t
 rte_swx_table_learner_footprint_get(struct rte_swx_table_learner_params 
*params);
 
@@ -121,7 +118,6 @@ rte_swx_table_learner_footprint_get(struct 
rte_swx_table_learner_params *params)
  * @return
  *   Table mailbox footprint in bytes.
  */
-__rte_experimental
 uint64_t
 rte_swx_table_learner_mailbox_size_get(void);
 
@@ -135,7 +131,6 @@ rte_swx_table_learner_mailbox_size_get(void);
  * @return
  *   Table handle, on success, or NULL, on error.
  */
-__rte_experimental
 void *
 rte_swx_table_learner_create(struct rte_swx_table_learner_params *params, int 
numa_node);
 
@@ -152,7 +147,6 @@ rte_swx_table_learner_create(struct 
rte_swx_table_learner_params *params, int nu
  *   0 on success or the following error codes otherwise:
  *   -EINVAL: Invalid argument(s).
  */
-__rte_experimental
 int
 rte_swx_table_learner_timeout_update(void *table,
                                     uint32_t key_timeout_id,
@@ -206,7 +200,6 @@ rte_swx_table_learner_timeout_update(void *table,
  *   0 when the table lookup operation is not yet completed, and 1 when the 
table lookup operation
  *   is completed. No other return values are allowed.
  */
-__rte_experimental
 int
 rte_swx_table_learner_lookup(void *table,
                             void *mailbox,
@@ -239,7 +232,6 @@ rte_swx_table_learner_lookup(void *table,
  * @return
  *   0 on success, 1 or error (table full).
  */
-__rte_experimental
 uint32_t
 rte_swx_table_learner_add(void *table,
                          void *mailbox,
@@ -261,7 +253,6 @@ rte_swx_table_learner_add(void *table,
  * @param[in] time
  *   Current time measured in CPU clock cycles.
  */
-__rte_experimental
 void
 rte_swx_table_learner_rearm(void *table,
                            void *mailbox,
@@ -282,7 +273,6 @@ rte_swx_table_learner_rearm(void *table,
  * @param[in] key_timeout_id
  *   Key timeout ID.
  */
-__rte_experimental
 void
 rte_swx_table_learner_rearm_new(void *table,
                                void *mailbox,
@@ -301,7 +291,6 @@ rte_swx_table_learner_rearm_new(void *table,
  * @param[in] mailbox
  *   Mailbox for the current operation.
  */
-__rte_experimental
 void
 rte_swx_table_learner_delete(void *table,
                             void *mailbox);
@@ -312,7 +301,6 @@ rte_swx_table_learner_delete(void *table,
  * @param[in] table
  *   Table handle.
  */
-__rte_experimental
 void
 rte_swx_table_learner_free(void *table);
 
diff --git a/lib/table/rte_swx_table_selector.c 
b/lib/table/rte_swx_table_selector.c
index d42f67f157..041fc70db5 100644
--- a/lib/table/rte_swx_table_selector.c
+++ b/lib/table/rte_swx_table_selector.c
@@ -171,7 +171,7 @@ struct table {
        uint32_t n_members_per_group_max_log2;
 };
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_footprint_get, 21.08)
+RTE_EXPORT_SYMBOL(rte_swx_table_selector_footprint_get)
 uint64_t
 rte_swx_table_selector_footprint_get(uint32_t n_groups_max, uint32_t 
n_members_per_group_max)
 {
@@ -184,7 +184,7 @@ rte_swx_table_selector_footprint_get(uint32_t n_groups_max, 
uint32_t n_members_p
        return sizeof(struct table) + group_table_size + members_size;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_free, 21.08)
+RTE_EXPORT_SYMBOL(rte_swx_table_selector_free)
 void
 rte_swx_table_selector_free(void *table)
 {
@@ -262,7 +262,7 @@ group_set(struct table *t,
          uint32_t group_id,
          struct rte_swx_table_selector_group *group);
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_create, 21.08)
+RTE_EXPORT_SYMBOL(rte_swx_table_selector_create)
 void *
 rte_swx_table_selector_create(struct rte_swx_table_selector_params *params,
                              struct rte_swx_table_selector_group **groups,
@@ -532,7 +532,7 @@ group_set(struct table *t,
        return 0;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_group_set, 21.08)
+RTE_EXPORT_SYMBOL(rte_swx_table_selector_group_set)
 int
 rte_swx_table_selector_group_set(void *table,
                                 uint32_t group_id,
@@ -547,14 +547,14 @@ struct mailbox {
 
 };
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_mailbox_size_get, 21.08)
+RTE_EXPORT_SYMBOL(rte_swx_table_selector_mailbox_size_get)
 uint64_t
 rte_swx_table_selector_mailbox_size_get(void)
 {
        return sizeof(struct mailbox);
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_selector_select, 21.08)
+RTE_EXPORT_SYMBOL(rte_swx_table_selector_select)
 int
 rte_swx_table_selector_select(void *table,
                              void *mailbox __rte_unused,
diff --git a/lib/table/rte_swx_table_selector.h 
b/lib/table/rte_swx_table_selector.h
index ef29bdb6b0..d13f556803 100644
--- a/lib/table/rte_swx_table_selector.h
+++ b/lib/table/rte_swx_table_selector.h
@@ -13,8 +13,6 @@
 
 #include <stdint.h>
 
-#include <rte_compat.h>
-
 #include "rte_swx_table.h"
 
 #ifdef __cplusplus
@@ -83,7 +81,6 @@ struct rte_swx_table_selector_group {
  * @return
  *   Selector table memory footprint in bytes.
  */
-__rte_experimental
 uint64_t
 rte_swx_table_selector_footprint_get(uint32_t n_groups_max, uint32_t 
n_members_per_group_max);
 
@@ -97,7 +94,6 @@ rte_swx_table_selector_footprint_get(uint32_t n_groups_max, 
uint32_t n_members_p
  * @return
  *   Selector table mailbox footprint in bytes.
  */
-__rte_experimental
 uint64_t
 rte_swx_table_selector_mailbox_size_get(void);
 
@@ -115,7 +111,6 @@ rte_swx_table_selector_mailbox_size_get(void);
  * @return
  *   Table handle, on success, or NULL, on error.
  */
-__rte_experimental
 void *
 rte_swx_table_selector_create(struct rte_swx_table_selector_params *params,
                              struct rte_swx_table_selector_group **groups,
@@ -135,7 +130,6 @@ rte_swx_table_selector_create(struct 
rte_swx_table_selector_params *params,
  *   -EINVAL: Invalid argument(s);
  *   -ENOSPC: Too many group members.
  */
-__rte_experimental
 int
 rte_swx_table_selector_group_set(void *table,
                                 uint32_t group_id,
@@ -177,7 +171,6 @@ rte_swx_table_selector_group_set(void *table,
  *   0 when the operation is not yet completed, and 1 when the operation is 
complete. No other
  *   return values are allowed.
  */
-__rte_experimental
 int
 rte_swx_table_selector_select(void *table,
                              void *mailbox,
@@ -191,7 +184,6 @@ rte_swx_table_selector_select(void *table,
  * @param[in] table
  *   Selector table handle.
  */
-__rte_experimental
 void
 rte_swx_table_selector_free(void *table);
 
diff --git a/lib/table/rte_swx_table_wm.c b/lib/table/rte_swx_table_wm.c
index c57738dda3..626192341a 100644
--- a/lib/table/rte_swx_table_wm.c
+++ b/lib/table/rte_swx_table_wm.c
@@ -458,7 +458,7 @@ table_lookup(void *table,
        return 1;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_swx_table_wildcard_match_ops, 21.05)
+RTE_EXPORT_SYMBOL(rte_swx_table_wildcard_match_ops)
 struct rte_swx_table_ops rte_swx_table_wildcard_match_ops = {
        .footprint_get = NULL,
        .mailbox_size_get = table_mailbox_size_get,
-- 
2.53.0

Reply via email to