[PATCH 13/22] ethdev: promote remaining aged flow helpers to stable
Stephen Hemminger
stephen at networkplumber.org
Tue Sep 1 22:23:12 CEST 2026
The last aged experimental symbols of rte_flow:
23.07 rte_flow_actions_update, rte_flow_restore_info_dynflag
23.11 rte_flow_calc_table_hash, rte_flow_group_set_miss_actions
24.03 rte_flow_calc_encap_hash
With this rte_flow.c has no experimental symbol left.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 3 +++
lib/ethdev/rte_flow.c | 10 +++++-----
lib/ethdev/rte_flow.h | 17 -----------------
3 files changed, 8 insertions(+), 22 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 141ad134b0..6649a847ff 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -124,6 +124,9 @@ API Changes
``rte_flow_async_*``,
``rte_flow_push``, ``rte_flow_pull``
* flow flex: ``rte_flow_flex_item_create`` and ``rte_flow_flex_item_release``
+ * remaining flow helpers: ``rte_flow_actions_update``, ``rte_flow_restore_info_dynflag``,
+ ``rte_flow_calc_table_hash``, ``rte_flow_group_set_miss_actions``,
+ and ``rte_flow_calc_encap_hash``
ABI Changes
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 75e3e1f10f..1056cfd2c5 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -466,7 +466,7 @@ rte_flow_destroy(uint16_t port_id,
NULL, rte_strerror(ENOSYS));
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_actions_update, 23.07)
+RTE_EXPORT_SYMBOL(rte_flow_actions_update)
int
rte_flow_actions_update(uint16_t port_id,
struct rte_flow *flow,
@@ -1519,7 +1519,7 @@ static struct {
.desc = { .name = "RTE_MBUF_F_RX_RESTORE_INFO", },
};
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_restore_info_dynflag, 23.07)
+RTE_EXPORT_SYMBOL(rte_flow_restore_info_dynflag)
uint64_t
rte_flow_restore_info_dynflag(void)
{
@@ -2062,7 +2062,7 @@ rte_flow_template_table_destroy(uint16_t port_id,
NULL, rte_strerror(ENOTSUP));
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_group_set_miss_actions, 23.11)
+RTE_EXPORT_SYMBOL(rte_flow_group_set_miss_actions)
int
rte_flow_group_set_miss_actions(uint16_t port_id,
uint32_t group_id,
@@ -2691,7 +2691,7 @@ rte_flow_async_action_list_handle_query_update(uint16_t port_id, uint32_t queue_
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_calc_table_hash, 23.11)
+RTE_EXPORT_SYMBOL(rte_flow_calc_table_hash)
int
rte_flow_calc_table_hash(uint16_t port_id, const struct rte_flow_template_table *table,
const struct rte_flow_item pattern[], uint8_t pattern_template_index,
@@ -2713,7 +2713,7 @@ rte_flow_calc_table_hash(uint16_t port_id, const struct rte_flow_template_table
return flow_err(port_id, ret, error);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_calc_encap_hash, 24.03)
+RTE_EXPORT_SYMBOL(rte_flow_calc_encap_hash)
int
rte_flow_calc_encap_hash(uint16_t port_id, const struct rte_flow_item pattern[],
enum rte_flow_encap_hash_field dest_field, uint8_t hash_len,
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index 6fc6f750f1..f7523bdf8f 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -4726,7 +4726,6 @@ rte_flow_destroy(uint16_t port_id,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
-__rte_experimental
int
rte_flow_actions_update(uint16_t port_id,
struct rte_flow *flow,
@@ -5293,7 +5292,6 @@ rte_flow_tunnel_match(uint16_t port_id,
* @return
* The offload flag indicating rte_flow_get_restore_info() must be called.
*/
-__rte_experimental
uint64_t
rte_flow_restore_info_dynflag(void);
@@ -5964,9 +5962,6 @@ rte_flow_template_table_destroy(uint16_t port_id,
struct rte_flow_error *error);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Set group miss actions.
*
* @param port_id
@@ -5984,7 +5979,6 @@ rte_flow_template_table_destroy(uint16_t port_id,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
-__rte_experimental
int
rte_flow_group_set_miss_actions(uint16_t port_id,
uint32_t group_id,
@@ -6765,9 +6759,6 @@ rte_flow_async_action_list_handle_query_update(uint16_t port_id, uint32_t queue_
struct rte_flow_error *error);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Calculate the hash for a given pattern in a given table as
* calculated by the HW.
*
@@ -6790,16 +6781,12 @@ rte_flow_async_action_list_handle_query_update(uint16_t port_id, uint32_t queue_
* - (-ENODEV) if *port_id* invalid.
* - (-ENOTSUP) if underlying device does not support this functionality.
*/
-__rte_experimental
int
rte_flow_calc_table_hash(uint16_t port_id, const struct rte_flow_template_table *table,
const struct rte_flow_item pattern[], uint8_t pattern_template_index,
uint32_t *hash, struct rte_flow_error *error);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Destination field type for the hash calculation, when encap action is used.
* The encap field implies the size, meaning XXX_SRC_PORT hash len is 2 bytes,
* while XXX_NVGRE_FLOW_ID hash len is 1 byte.
@@ -6814,9 +6801,6 @@ enum rte_flow_encap_hash_field {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Simulate HW hash calculation that is done when an encap action is being used.
* This hash can be stored in tunnel outer header to improve packet distribution.
*
@@ -6843,7 +6827,6 @@ enum rte_flow_encap_hash_field {
* - (-EINVAL) if *pattern* doesn't hold enough information to calculate the hash
* or the dest is not supported.
*/
-__rte_experimental
int
rte_flow_calc_encap_hash(uint16_t port_id, const struct rte_flow_item pattern[],
enum rte_flow_encap_hash_field dest_field, uint8_t hash_len,
--
2.53.0
More information about the dev
mailing list