The tunnel offload model was added in v20.11 to let PMDs split
tunnel handling between the match and the decap stages and to let
applications recover the missed packet state.

The only change since was in v23.06, when flow restore was made
discoverable through an mbuf dynamic flag; the function prototypes
were not touched. The API is implemented by several PMDs
(mlx5, sfc, bnxt, cnxk, nfp), so promote it as one unit.

Signed-off-by: Stephen Hemminger <[email protected]>
---
 doc/guides/rel_notes/release_26_11.rst |  4 ++++
 lib/ethdev/rte_flow.c                  | 10 +++++-----
 lib/ethdev/rte_flow.h                  |  5 -----
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/doc/guides/rel_notes/release_26_11.rst 
b/doc/guides/rel_notes/release_26_11.rst
index 9b5e3cf902..fe76ffa7ad 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -110,6 +110,10 @@ API Changes
   * flow dump: ``rte_flow_dev_dump``
   * FEC: ``rte_eth_fec_get_capability``, ``rte_eth_fec_get`` and 
``rte_eth_fec_set``
   * link speed: ``rte_eth_link_speed_to_str`` and ``rte_eth_link_to_str``
+  * flow tunnel: ``rte_flow_tunnel_decap_set``, ``rte_flow_tunnel_match``,
+    ``rte_flow_tunnel_item_release``,
+    ``rte_flow_tunnel_action_decap_release`` and
+    ``rte_flow_get_restore_info``
 
 
 ABI Changes
diff --git a/lib/ethdev/rte_flow.c b/lib/ethdev/rte_flow.c
index 827305385f..6223096278 100644
--- a/lib/ethdev/rte_flow.c
+++ b/lib/ethdev/rte_flow.c
@@ -1424,7 +1424,7 @@ rte_flow_action_handle_query(uint16_t port_id,
        return ret;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_decap_set, 20.11)
+RTE_EXPORT_SYMBOL(rte_flow_tunnel_decap_set)
 int
 rte_flow_tunnel_decap_set(uint16_t port_id,
                          struct rte_flow_tunnel *tunnel,
@@ -1454,7 +1454,7 @@ rte_flow_tunnel_decap_set(uint16_t port_id,
                                  NULL, rte_strerror(ENOTSUP));
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_match, 20.11)
+RTE_EXPORT_SYMBOL(rte_flow_tunnel_match)
 int
 rte_flow_tunnel_match(uint16_t port_id,
                      struct rte_flow_tunnel *tunnel,
@@ -1484,7 +1484,7 @@ rte_flow_tunnel_match(uint16_t port_id,
                                  NULL, rte_strerror(ENOTSUP));
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_get_restore_info, 20.11)
+RTE_EXPORT_SYMBOL(rte_flow_get_restore_info)
 int
 rte_flow_get_restore_info(uint16_t port_id,
                          struct rte_mbuf *m,
@@ -1540,7 +1540,7 @@ rte_flow_restore_info_dynflag_register(void)
        return 0;
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_action_decap_release, 20.11)
+RTE_EXPORT_SYMBOL(rte_flow_tunnel_action_decap_release)
 int
 rte_flow_tunnel_action_decap_release(uint16_t port_id,
                                     struct rte_flow_action *actions,
@@ -1570,7 +1570,7 @@ rte_flow_tunnel_action_decap_release(uint16_t port_id,
                                  NULL, rte_strerror(ENOTSUP));
 }
 
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_flow_tunnel_item_release, 20.11)
+RTE_EXPORT_SYMBOL(rte_flow_tunnel_item_release)
 int
 rte_flow_tunnel_item_release(uint16_t port_id,
                             struct rte_flow_item *items,
diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
index 15ad58f699..2fe9d6ca12 100644
--- a/lib/ethdev/rte_flow.h
+++ b/lib/ethdev/rte_flow.h
@@ -5270,7 +5270,6 @@ struct rte_flow_restore_info {
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_tunnel_decap_set(uint16_t port_id,
                          struct rte_flow_tunnel *tunnel,
@@ -5301,7 +5300,6 @@ rte_flow_tunnel_decap_set(uint16_t port_id,
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_tunnel_match(uint16_t port_id,
                      struct rte_flow_tunnel *tunnel,
@@ -5345,7 +5343,6 @@ rte_flow_restore_info_dynflag(void);
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_get_restore_info(uint16_t port_id,
                          struct rte_mbuf *m,
@@ -5368,7 +5365,6 @@ rte_flow_get_restore_info(uint16_t port_id,
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_tunnel_action_decap_release(uint16_t port_id,
                                     struct rte_flow_action *actions,
@@ -5391,7 +5387,6 @@ rte_flow_tunnel_action_decap_release(uint16_t port_id,
  * @return
  *   0 on success, a negative errno value otherwise and rte_errno is set.
  */
-__rte_experimental
 int
 rte_flow_tunnel_item_release(uint16_t port_id,
                             struct rte_flow_item *items,
-- 
2.53.0

Reply via email to