DPDK-dev Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] ethdev: promote flow metadata APIs to stable
@ 2026-05-27 10:32 Dariusz Sosnowski
  2026-05-29  7:28 ` [PATCH v2] " Dariusz Sosnowski
  0 siblings, 1 reply; 3+ messages in thread
From: Dariusz Sosnowski @ 2026-05-27 10:32 UTC (permalink / raw)
  To: Ori Kam, Thomas Monjalon, Andrew Rybchenko; +Cc: dev

Following experimental symbols related to flow metadata
were added in v19.11:

- rte_flow_dynf_metadata_register
- rte_flow_dynf_metadata_offs
- rte_flow_dynf_metadata_mask

Type of rte_flow_dynf_metadata_offs was changed from int to int32_t
in v20.05 release.
There were no changes to these symbols since then.

This patch promotes these symbols and removes __rte_experimental
from the following inline functions:

- rte_flow_dynf_metadata_avail
- rte_flow_dynf_metadata_get
- rte_flow_dynf_metadata_set

All these symbols and functions will be used by netdev-doca
backend in Open vSwitch [1].
Stabilizing these symbols is required by current OVS policy
to remove the need for ALLOW_EXPERIMENTAL_API [2].

[1]: https://patchwork.ozlabs.org/project/openvswitch/list/?series=504726&state=%2A&archive=both
[2]: https://mail.openvswitch.org/pipermail/ovs-dev/2026-May/432066.html

Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
 lib/ethdev/rte_flow.c | 6 +++---
 lib/ethdev/rte_flow.h | 4 ----
 2 files changed, 3 insertions(+), 7 deletions(-)

diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 7a51b667cf..ec0fe08355 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -23,11 +23,11 @@
 #define FLOW_LOG RTE_ETHDEV_LOG_LINE
 
 /* Mbuf dynamic field name for metadata. */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_offs, 19.11)
+RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_offs)
 int32_t rte_flow_dynf_metadata_offs = -1;
 
 /* Mbuf dynamic field flag bit number for metadata. */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_mask, 19.11)
+RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_mask)
 uint64_t rte_flow_dynf_metadata_mask;
 
 /**
@@ -281,7 +281,7 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {
 	MK_FLOW_ACTION(JUMP_TO_TABLE_INDEX, sizeof(struct rte_flow_action_jump_to_table_index)),
 };
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_register, 19.11)
+RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_register)
 int
 rte_flow_dynf_metadata_register(void)
 {
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index ba3bcc89a3..0c6d42c0d8 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -4253,14 +4253,12 @@ extern uint64_t rte_flow_dynf_metadata_mask;
 #define RTE_MBUF_DYNFLAG_RX_METADATA (rte_flow_dynf_metadata_mask)
 #define RTE_MBUF_DYNFLAG_TX_METADATA (rte_flow_dynf_metadata_mask)
 
-__rte_experimental
 static inline uint32_t
 rte_flow_dynf_metadata_get(struct rte_mbuf *m)
 {
 	return *RTE_FLOW_DYNF_METADATA(m);
 }
 
-__rte_experimental
 static inline void
 rte_flow_dynf_metadata_set(struct rte_mbuf *m, uint32_t v)
 {
@@ -4590,7 +4588,6 @@ rte_flow_dev_dump(uint16_t port_id, struct rte_flow *flow,
  * @return
  *   True if registered, false otherwise.
  */
-__rte_experimental
 static inline int
 rte_flow_dynf_metadata_avail(void)
 {
@@ -4607,7 +4604,6 @@ rte_flow_dynf_metadata_avail(void)
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_dynf_metadata_register(void);
 
-- 
2.47.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [PATCH v2] ethdev: promote flow metadata APIs to stable
  2026-05-27 10:32 [PATCH] ethdev: promote flow metadata APIs to stable Dariusz Sosnowski
@ 2026-05-29  7:28 ` Dariusz Sosnowski
  2026-05-30 16:37   ` Stephen Hemminger
  0 siblings, 1 reply; 3+ messages in thread
From: Dariusz Sosnowski @ 2026-05-29  7:28 UTC (permalink / raw)
  To: Ori Kam, Thomas Monjalon, Andrew Rybchenko; +Cc: dev

Following experimental symbols related to flow metadata
were added in v19.11:

- rte_flow_dynf_metadata_register
- rte_flow_dynf_metadata_offs
- rte_flow_dynf_metadata_mask

Type of rte_flow_dynf_metadata_offs was changed from int to int32_t
in v20.05 release.
There were no changes to these symbols since then.

This patch promotes these symbols and removes __rte_experimental
from the following inline functions:

- rte_flow_dynf_metadata_avail
- rte_flow_dynf_metadata_get
- rte_flow_dynf_metadata_set

All these symbols and functions will be used by netdev-doca
backend in Open vSwitch [1].
Stabilizing these symbols is required by current OVS policy
to remove the need for ALLOW_EXPERIMENTAL_API [2].

[1]: https://patchwork.ozlabs.org/project/openvswitch/list/?series=504726&state=%2A&archive=both
[2]: https://mail.openvswitch.org/pipermail/ovs-dev/2026-May/432066.html

Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
---
v2:
- Updated 26.07 release notes.

 doc/guides/rel_notes/release_26_07.rst | 11 +++++++++++
 lib/ethdev/rte_flow.c                  |  6 +++---
 lib/ethdev/rte_flow.h                  |  4 ----
 3 files changed, 14 insertions(+), 7 deletions(-)

diff --git a/doc/guides/rel_notes/release_26_07.rst b/doc/guides/rel_notes/release_26_07.rst
index 8b4f8401e2..6eba91a5e9 100644
--- a/doc/guides/rel_notes/release_26_07.rst
+++ b/doc/guides/rel_notes/release_26_07.rst
@@ -116,6 +116,17 @@ API Changes
    Also, make sure to start the actual text at the margin.
    =======================================================

+* **ethdev: promoted flow metadata APIs from experimental to stable.**
+
+  The following ethdev APIs and symbols are no longer marked experimental:
+
+  - ``rte_flow_dynf_metadata_register``
+  - ``rte_flow_dynf_metadata_offs``
+  - ``rte_flow_dynf_metadata_mask``
+  - ``rte_flow_dynf_metadata_avail``
+  - ``rte_flow_dynf_metadata_get``
+  - ``rte_flow_dynf_metadata_set``
+

 ABI Changes
 -----------
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 7a51b667cf..ec0fe08355 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -23,11 +23,11 @@
 #define FLOW_LOG RTE_ETHDEV_LOG_LINE

 /* Mbuf dynamic field name for metadata. */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_offs, 19.11)
+RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_offs)
 int32_t rte_flow_dynf_metadata_offs = -1;

 /* Mbuf dynamic field flag bit number for metadata. */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_mask, 19.11)
+RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_mask)
 uint64_t rte_flow_dynf_metadata_mask;

 /**
@@ -281,7 +281,7 @@ static const struct rte_flow_desc_data rte_flow_desc_action[] = {
 	MK_FLOW_ACTION(JUMP_TO_TABLE_INDEX, sizeof(struct rte_flow_action_jump_to_table_index)),
 };

-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_dynf_metadata_register, 19.11)
+RTE_EXPORT_SYMBOL(rte_flow_dynf_metadata_register)
 int
 rte_flow_dynf_metadata_register(void)
 {
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index ba3bcc89a3..0c6d42c0d8 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -4253,14 +4253,12 @@ extern uint64_t rte_flow_dynf_metadata_mask;
 #define RTE_MBUF_DYNFLAG_RX_METADATA (rte_flow_dynf_metadata_mask)
 #define RTE_MBUF_DYNFLAG_TX_METADATA (rte_flow_dynf_metadata_mask)

-__rte_experimental
 static inline uint32_t
 rte_flow_dynf_metadata_get(struct rte_mbuf *m)
 {
 	return *RTE_FLOW_DYNF_METADATA(m);
 }

-__rte_experimental
 static inline void
 rte_flow_dynf_metadata_set(struct rte_mbuf *m, uint32_t v)
 {
@@ -4590,7 +4588,6 @@ rte_flow_dev_dump(uint16_t port_id, struct rte_flow *flow,
  * @return
  *   True if registered, false otherwise.
  */
-__rte_experimental
 static inline int
 rte_flow_dynf_metadata_avail(void)
 {
@@ -4607,7 +4604,6 @@ rte_flow_dynf_metadata_avail(void)
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_dynf_metadata_register(void);

--
2.47.3


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] ethdev: promote flow metadata APIs to stable
  2026-05-29  7:28 ` [PATCH v2] " Dariusz Sosnowski
@ 2026-05-30 16:37   ` Stephen Hemminger
  0 siblings, 0 replies; 3+ messages in thread
From: Stephen Hemminger @ 2026-05-30 16:37 UTC (permalink / raw)
  To: Dariusz Sosnowski; +Cc: Ori Kam, Thomas Monjalon, Andrew Rybchenko, dev

On Fri, 29 May 2026 09:28:53 +0200
Dariusz Sosnowski <dsosnowski@nvidia.com> wrote:

> Following experimental symbols related to flow metadata
> were added in v19.11:
> 
> - rte_flow_dynf_metadata_register
> - rte_flow_dynf_metadata_offs
> - rte_flow_dynf_metadata_mask
> 
> Type of rte_flow_dynf_metadata_offs was changed from int to int32_t
> in v20.05 release.
> There were no changes to these symbols since then.
> 
> This patch promotes these symbols and removes __rte_experimental
> from the following inline functions:
> 
> - rte_flow_dynf_metadata_avail
> - rte_flow_dynf_metadata_get
> - rte_flow_dynf_metadata_set
> 
> All these symbols and functions will be used by netdev-doca
> backend in Open vSwitch [1].
> Stabilizing these symbols is required by current OVS policy
> to remove the need for ALLOW_EXPERIMENTAL_API [2].
> 
> [1]: https://patchwork.ozlabs.org/project/openvswitch/list/?series=504726&state=%2A&archive=both
> [2]: https://mail.openvswitch.org/pipermail/ovs-dev/2026-May/432066.html
> 
> Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>

LGTM
Applied to next-net

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-05-30 16:38 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-27 10:32 [PATCH] ethdev: promote flow metadata APIs to stable Dariusz Sosnowski
2026-05-29  7:28 ` [PATCH v2] " Dariusz Sosnowski
2026-05-30 16:37   ` Stephen Hemminger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox