@@ -221,14 +221,10 @@ rte_softrss_be(uint32_t *input_tuple, uint32_t input_len,
/**
* Indicates if GFNI implementations of the Toeplitz hash are supported.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @return
* 1 if GFNI is supported
* 0 otherwise
*/
-__rte_experimental
int
rte_thash_gfni_supported(void);
@@ -236,9 +232,6 @@ rte_thash_gfni_supported(void);
* Converts Toeplitz hash key (RSS key) into matrixes required
* for GFNI implementation
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param matrixes
* pointer to the memory where matrices will be written.
* Note: the size of this memory must be equal to size * 8
@@ -247,7 +240,6 @@ rte_thash_gfni_supported(void);
* @param size
* Size of the rss_key in bytes.
*/
-__rte_experimental
void
rte_thash_complete_matrix(uint64_t *matrixes, const uint8_t *rss_key,
int size);
@@ -276,9 +268,6 @@ struct rte_thash_subtuple_helper;
/**
* Create a new thash context.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param name
* Context name
* @param key_len
@@ -298,7 +287,6 @@ struct rte_thash_subtuple_helper;
* A pointer to the created context on success
* NULL otherwise
*/
-__rte_experimental
struct rte_thash_ctx *
rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
uint8_t *key, uint32_t flags);
@@ -306,9 +294,6 @@ rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
/**
* Find an existing thash context and return a pointer to it.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param name
* Name of the thash context
* @return
@@ -316,20 +301,15 @@ rte_thash_init_ctx(const char *name, uint32_t key_len, uint32_t reta_sz,
* set appropriately. Possible rte_errno values include:
* - ENOENT - required entry not available to return.
*/
-__rte_experimental
struct rte_thash_ctx *
rte_thash_find_existing(const char *name);
/**
* Free a thash context object
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param ctx
* Thash context
*/
-__rte_experimental
void
rte_thash_free_ctx(struct rte_thash_ctx *ctx);
@@ -339,9 +319,6 @@ rte_thash_free_ctx(struct rte_thash_ctx *ctx);
* to calculate toeplitz hash collisions.
* This function is not multi-thread safe.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param ctx
* Thash context
* @param name
@@ -355,7 +332,6 @@ rte_thash_free_ctx(struct rte_thash_ctx *ctx);
* 0 on success
* negative on error
*/
-__rte_experimental
int
rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
uint32_t offset);
@@ -363,9 +339,6 @@ rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
/**
* Find a helper in the context by the given name
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param ctx
* Thash context
* @param name
@@ -373,7 +346,6 @@ rte_thash_add_helper(struct rte_thash_ctx *ctx, const char *name, uint32_t len,
* @return
* Pointer to the thash helper or NULL if it was not found.
*/
-__rte_experimental
struct rte_thash_subtuple_helper *
rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name);
@@ -392,7 +364,6 @@ rte_thash_get_helper(struct rte_thash_ctx *ctx, const char *name);
* @return
* A complementary value which must be xored with the corresponding subtuple
*/
-__rte_experimental
uint32_t
rte_thash_get_complement(struct rte_thash_subtuple_helper *h,
uint32_t hash, uint32_t desired_hash);
@@ -402,15 +373,11 @@ rte_thash_get_complement(struct rte_thash_subtuple_helper *h,
* It changes after each addition of a helper. It should be installed to
* the NIC.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param ctx
* Thash context
* @return
* A pointer to the toeplitz hash key
*/
-__rte_experimental
const uint8_t *
rte_thash_get_key(struct rte_thash_ctx *ctx);
@@ -420,16 +387,12 @@ rte_thash_get_key(struct rte_thash_ctx *ctx);
* CPU supports GFNI.
* Matrices changes after each addition of a helper.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param ctx
* Thash context
* @return
* A pointer to the toeplitz hash key matrices on success
* NULL if GFNI is not supported.
*/
-__rte_experimental
const uint64_t *
rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx);
@@ -439,9 +402,6 @@ rte_thash_get_gfni_matrices(struct rte_thash_ctx *ctx);
* Generally it is some kind of lookup function to check
* if adjusted tuple is already in use.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param userdata
* Pointer to the userdata. It could be a pointer to the
* table with used tuples to search.
@@ -459,9 +419,6 @@ typedef int (*rte_thash_check_tuple_t)(void *userdata, uint8_t *tuple);
* desired least significant bits.
* This function is multi-thread safe.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param ctx
* Thash context
* @param h
@@ -483,7 +440,6 @@ typedef int (*rte_thash_check_tuple_t)(void *userdata, uint8_t *tuple);
* 0 on success
* negative otherwise
*/
-__rte_experimental
int
rte_thash_adjust_tuple(struct rte_thash_ctx *ctx,
struct rte_thash_subtuple_helper *h,
@@ -24,9 +24,6 @@ extern "C" {
* Calculate Toeplitz hash.
* Dummy implementation.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param m
* Pointer to the matrices generated from the corresponding
* RSS hash key using rte_thash_complete_matrix().
@@ -37,7 +34,6 @@ extern "C" {
* @return
* Calculated Toeplitz hash value.
*/
-__rte_experimental
static inline uint32_t
rte_thash_gfni(const uint64_t *mtrx __rte_unused,
const uint8_t *key __rte_unused, int len __rte_unused)
@@ -50,9 +46,6 @@ rte_thash_gfni(const uint64_t *mtrx __rte_unused,
* Bulk implementation for Toeplitz hash.
* Dummy implementation.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param m
* Pointer to the matrices generated from the corresponding
* RSS hash key using rte_thash_complete_matrix().
@@ -66,7 +59,6 @@ rte_thash_gfni(const uint64_t *mtrx __rte_unused,
* @param num
* Number of tuples to hash.
*/
-__rte_experimental
static inline void
rte_thash_gfni_bulk(const uint64_t *mtrx __rte_unused,
int len __rte_unused, uint8_t *tuple[] __rte_unused,
@@ -161,9 +161,6 @@ __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple,
/**
* Calculate Toeplitz hash.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param m
* Pointer to the matrices generated from the corresponding
* RSS hash key using rte_thash_complete_matrix().
@@ -175,7 +172,6 @@ __rte_thash_gfni(const uint64_t *mtrx, const uint8_t *tuple,
* @return
* Calculated Toeplitz hash value.
*/
-__rte_experimental
static inline uint32_t
rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len)
{
@@ -190,9 +186,6 @@ rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len)
/**
* Bulk implementation for Toeplitz hash.
*
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* @param m
* Pointer to the matrices generated from the corresponding
* RSS hash key using rte_thash_complete_matrix().
@@ -207,7 +200,6 @@ rte_thash_gfni(const uint64_t *m, const uint8_t *tuple, int len)
* @param num
* Number of tuples to hash.
*/
-__rte_experimental
static inline void
rte_thash_gfni_bulk(const uint64_t *mtrx, int len, uint8_t *tuple[],
uint32_t val[], uint32_t num)
@@ -30,25 +30,17 @@ DPDK_24 {
rte_hash_rcu_qsbr_add;
rte_hash_reset;
rte_hash_set_cmp_func;
-
- local: *;
-};
-
-EXPERIMENTAL {
- global:
-
- # added in 21.05
rte_thash_add_helper;
rte_thash_adjust_tuple;
+ rte_thash_complete_matrix;
rte_thash_find_existing;
rte_thash_free_ctx;
rte_thash_get_complement;
+ rte_thash_get_gfni_matrices;
rte_thash_get_helper;
rte_thash_get_key;
+ rte_thash_gfni_supported;
rte_thash_init_ctx;
- # added in 21.11
- rte_thash_complete_matrix;
- rte_thash_get_gfni_matrices;
- rte_thash_gfni_supported;
+ local: *;
};