Skip to contentSkip to conversation

ethdev: remove deprecated flow copy API

PATCH New Stephen Hemminger 1 participant 2 messages Sep 1

lore
Share & tools
lore
#0 lore raw

PATCH 1/2 ethdev: remove deprecated flow copy API

The rte_flow_copy() function and struct rte_flow_desc have been deprecated since 18.05. The function was only a wrapper around rte_flow_conv(), and struct rte_flow_desc uses a flexible array member which makes it unusable from C++.

Remove the function, the structure and the associated trace point. Users should call rte_flow_conv() with RTE_FLOW_CONV_OP_RULE instead.

---
 doc/guides/rel_notes/release_26_11.rst |  1 +
 lib/ethdev/ethdev_trace.h              | 15 -------
 lib/ethdev/ethdev_trace_points.c       |  3 --
 lib/ethdev/rte_flow.c                  | 56 --------------------------
 lib/ethdev/rte_flow.h                  | 45 ---------------------
 5 files changed, 1 insertion(+), 119 deletions(-)
doc/guides/rel_notes/release_26_11.rst +1 -0
index 760f49c496..591718253d 100644
@@ -71,6 +71,7 @@ Removed Items
 * Removed deprecated symbols:
 
   * eal: ``__rte_packed``
+  * ethdev: ``rte_flow_copy``, ``struct rte_flow_desc``
   * fib: ``RTE_FIB6_IPV6_ADDR_SIZE``, ``RTE_FIB6_MAXDEPTH``
   * lpm: ``RTE_LPM6_IPV6_ADDR_SIZE``, ``RTE_LPM6_MAX_DEPTH``
   * net: ``RTE_IP_ICMP_ECHO_REPLY``, ``RTE_IP_ICMP_ECHO_REQUEST``
lib/ethdev/ethdev_trace.h +0 -15
index 6554cc1a21..8cd95a2851 100644
@@ -1402,21 +1402,6 @@ RTE_TRACE_POINT(
 	rte_trace_point_emit_int(ret);
 )
 
-RTE_TRACE_POINT(
-	rte_flow_trace_copy,
-	RTE_TRACE_POINT_ARGS(struct rte_flow_desc *fd, size_t len,
-		const struct rte_flow_attr *attr,
-		const struct rte_flow_item *items,
-		const struct rte_flow_action *actions, int ret),
-	rte_trace_point_emit_ptr(fd);
-	rte_trace_point_emit_size_t(len);
-	rte_trace_point_emit_u32(attr->group);
-	rte_trace_point_emit_u32(attr->priority);
-	rte_trace_point_emit_ptr(items);
-	rte_trace_point_emit_ptr(actions);
-	rte_trace_point_emit_int(ret);
-)
-
 RTE_TRACE_POINT(
 	rte_flow_trace_tunnel_decap_set,
 	RTE_TRACE_POINT_ARGS(uint16_t port_id,
lib/ethdev/ethdev_trace_points.c +0 -3
index 0a28378a56..a81398893f 100644
@@ -503,9 +503,6 @@ RTE_TRACE_POINT_REGISTER(rte_eth_trace_count_aggr_ports,
 RTE_TRACE_POINT_REGISTER(rte_eth_trace_map_aggr_tx_affinity,
 	lib.ethdev.map_aggr_tx_affinity)
 
-RTE_TRACE_POINT_REGISTER(rte_flow_trace_copy,
-	lib.ethdev.flow.copy)
-
 RTE_TRACE_POINT_REGISTER(rte_flow_trace_create,
 	lib.ethdev.flow.create)
 
lib/ethdev/rte_flow.c +0 -56

62 lines not on this page · raw message

lib/ethdev/rte_flow.h +0 -45

51 lines not on this page · raw message

Signature · 1 line
2.53.0
#1 lore raw

PATCH 2/2 ethdev: remove deprecated shared flow action

RTE_FLOW_ACTION_TYPE_SHARED has been deprecated since 21.05 when it was replaced by RTE_FLOW_ACTION_TYPE_INDIRECT. It has no remaining users in the tree.

---
 cover-letter.txt                       | 12 ++++++++++++
 doc/guides/rel_notes/release_26_11.rst |  3 ++-
 lib/ethdev/rte_flow.h                  | 11 -----------
 3 files changed, 14 insertions(+), 12 deletions(-)
 create mode 100644 cover-letter.txt
cover-letter.txt new file +12 -0
new file mode 100644
index 0000000000..ecbd3239e2
@@ -0,0 +1,12 @@
+The DPDK policy is that an experimental API should be promoted to
+stable after one or more releases. A large part of the ethdev API had
+been left marked experimental long past that point; the meter API, for
+example, has been experimental since 17.11 and is implemented by many
+drivers and used by applications as if it were already stable. This
+series promotes 119 ethdev symbols introduced in 24.11 or earlier whose
+prototypes have not changed since, along with the stale doxygen
+EXPERIMENTAL warnings on structures and inline functions. The patches
+are split by feature so that each can be dropped on its own.
+
+The trace point symbols are left experimental on purpose; trace
+infrastructure is intended to stay unstable.
doc/guides/rel_notes/release_26_11.rst +2 -1
index 591718253d..7f278d4645 100644
@@ -71,7 +71,8 @@ Removed Items
 * Removed deprecated symbols:
 
   * eal: ``__rte_packed``
-  * ethdev: ``rte_flow_copy``, ``struct rte_flow_desc``
+  * ethdev: ``rte_flow_copy``, ``struct rte_flow_desc``,
+    ``RTE_FLOW_ACTION_TYPE_SHARED``
   * fib: ``RTE_FIB6_IPV6_ADDR_SIZE``, ``RTE_FIB6_MAXDEPTH``
   * lpm: ``RTE_LPM6_IPV6_ADDR_SIZE``, ``RTE_LPM6_MAX_DEPTH``
   * net: ``RTE_IP_ICMP_ECHO_REPLY``, ``RTE_IP_ICMP_ECHO_REQUEST``
lib/ethdev/rte_flow.h +0 -11
index dcd1dbf03e..869cc9a26d 100644
@@ -3059,17 +3059,6 @@ enum rte_flow_action_type {
 	 */
 	RTE_FLOW_ACTION_TYPE_SAMPLE,
 
-	/**
-	 * @deprecated
-	 * @see RTE_FLOW_ACTION_TYPE_INDIRECT
-	 *
-	 * Describe action shared across multiple flow rules.
-	 *
-	 * Allow multiple rules reference the same action by handle (see
-	 * struct rte_flow_shared_action).
-	 */
-	RTE_FLOW_ACTION_TYPE_SHARED,
-
 	/**
 	 * Modify a packet header field, tag, mark or metadata.
 	 *
Signature · 1 line
2.53.0