[PATCH 12/22] ethdev: promote flex item API to stable
Stephen Hemminger
stephen at networkplumber.org
Tue Sep 1 22:23:11 CEST 2026
rte_flow_flex_item_create() and rte_flow_flex_item_release() were
added in v21.11 to let applications describe vendor specific or
otherwise unsupported protocol headers for matching. Both are
unchanged since.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 1 +
lib/ethdev/rte_flow.c | 4 ++--
lib/ethdev/rte_flow.h | 9 ---------
3 files changed, 3 insertions(+), 11 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 0f819b7013..141ad134b0 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -123,6 +123,7 @@ API Changes
``rte_flow_template_*``,
``rte_flow_async_*``,
``rte_flow_push``, ``rte_flow_pull``
+ * flow flex: ``rte_flow_flex_item_create`` and ``rte_flow_flex_item_release``
ABI Changes
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index edbf8a8bce..75e3e1f10f 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -1626,7 +1626,7 @@ rte_flow_pick_transfer_proxy(uint16_t port_id, uint16_t *proxy_port_id,
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_flex_item_create, 21.11)
+RTE_EXPORT_SYMBOL(rte_flow_flex_item_create)
struct rte_flow_item_flex_handle *
rte_flow_flex_item_create(uint16_t port_id,
const struct rte_flow_item_flex_conf *conf,
@@ -1653,7 +1653,7 @@ rte_flow_flex_item_create(uint16_t port_id,
return handle;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_flex_item_release, 21.11)
+RTE_EXPORT_SYMBOL(rte_flow_flex_item_release)
int
rte_flow_flex_item_release(uint16_t port_id,
const struct rte_flow_item_flex_handle *handle,
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index 16645207c3..6fc6f750f1 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -2252,10 +2252,6 @@ struct rte_flow_item_flex_link {
uint32_t next;
};
-/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice
- */
struct rte_flow_item_flex_conf {
/**
* Specifies the flex item and tunnel relations and tells the PMD
@@ -5402,9 +5398,6 @@ rte_flow_pick_transfer_proxy(uint16_t port_id, uint16_t *proxy_port_id,
struct rte_flow_error *error);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Create the flex item with specified configuration over
* the Ethernet device.
*
@@ -5419,7 +5412,6 @@ rte_flow_pick_transfer_proxy(uint16_t port_id, uint16_t *proxy_port_id,
* @return
* Non-NULL opaque pointer on success, NULL otherwise and rte_errno is set.
*/
-__rte_experimental
struct rte_flow_item_flex_handle *
rte_flow_flex_item_create(uint16_t port_id,
const struct rte_flow_item_flex_conf *conf,
@@ -5439,7 +5431,6 @@ rte_flow_flex_item_create(uint16_t port_id,
* @return
* 0 on success, a negative errno value otherwise and rte_errno is set.
*/
-__rte_experimental
int
rte_flow_flex_item_release(uint16_t port_id,
const struct rte_flow_item_flex_handle *handle,
--
2.53.0
More information about the dev
mailing list