Skip to contentSkip to conversation

ethdev: make offload name API non-experimental

RFC Applied Stephen Hemminger 2 participants 5 messages Oct 19, 2018 – Oct 26, 2018

lore
Share & tools
lore
#0 lore raw

RFC 1/1 ethdev: make offload name API non-experimental

The offload name functions are useful, but since they are marked experimental they can not be used by upstream projects. For example, VPP duplicates the same table in its code.

---
 lib/librte_ethdev/rte_ethdev.c           |  4 ++--
 lib/librte_ethdev/rte_ethdev.h           | 10 ++--------
 lib/librte_ethdev/rte_ethdev_version.map |  9 +++++++--
 3 files changed, 11 insertions(+), 12 deletions(-)
lib/librte_ethdev/rte_ethdev.c +2 -2
index 21f1dfbe4f5a..beeaa0bd0850 100644
@@ -983,7 +983,7 @@ rte_eth_speed_bitflag(uint32_t speed, int duplex)
 	}
 }
 
-const char * __rte_experimental
+const char *
 rte_eth_dev_rx_offload_name(uint64_t offload)
 {
 	const char *name = "UNKNOWN";
@@ -999,7 +999,7 @@ rte_eth_dev_rx_offload_name(uint64_t offload)
 	return name;
 }
 
-const char * __rte_experimental
+const char *
 rte_eth_dev_tx_offload_name(uint64_t offload)
 {
 	const char *name = "UNKNOWN";
lib/librte_ethdev/rte_ethdev.h +2 -8
index fb40c89e01ba..5f88a2220139 100644
@@ -1465,9 +1465,6 @@ int rte_eth_dev_detach(uint16_t port_id, char *devname);
 uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Get DEV_RX_OFFLOAD_* flag name.
  *
  * @param offload
@@ -1475,12 +1472,9 @@ uint32_t rte_eth_speed_bitflag(uint32_t speed, int duplex);
  * @return
  *   Offload name or 'UNKNOWN' if the flag cannot be recognised.
  */
-const char * __rte_experimental rte_eth_dev_rx_offload_name(uint64_t offload);
+const char *rte_eth_dev_rx_offload_name(uint64_t offload);
 
 /**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice
- *
  * Get DEV_TX_OFFLOAD_* flag name.
  *
  * @param offload
@@ -1488,7 +1482,7 @@ const char * __rte_experimental rte_eth_dev_rx_offload_name(uint64_t offload);
  * @return
  *   Offload name or 'UNKNOWN' if the flag cannot be recognised.
  */
-const char * __rte_experimental rte_eth_dev_tx_offload_name(uint64_t offload);
+const char *rte_eth_dev_tx_offload_name(uint64_t offload);
 
 /**
  * Configure an Ethernet device.
lib/librte_ethdev/rte_ethdev_version.map +7 -2
index dfa122c1a051..f1026b962501 100644
@@ -220,6 +220,13 @@ DPDK_18.08 {
 
 } DPDK_18.05;
 
+DPDK_18.11 {
+	global:
+
+	rte_eth_dev_rx_offload_name;
+	rte_eth_dev_tx_offload_name;
+} DPDK_18.11;
+
 EXPERIMENTAL {
 	global:
 
@@ -236,8 +243,6 @@ EXPERIMENTAL {
 	rte_eth_dev_owner_set;
 	rte_eth_dev_owner_unset;
 	rte_eth_dev_rx_intr_ctl_q_get_fd;
-	rte_eth_dev_rx_offload_name;
-	rte_eth_dev_tx_offload_name;
 	rte_eth_switch_domain_alloc;
 	rte_eth_switch_domain_free;
 	rte_flow_conv;
Signature · 1 line
2.19.1
#1 lore raw
Quoted 5 lines · Stephen Hemminger

The offload name functions are useful, but since they are marked experimental they can not be used by upstream projects. For example, VPP duplicates the same table in its code.

+1, they have been added on 18.02, and I think we can remove experimental tag for them now.

#2 lore raw
Quoted 9 lines · Ferruh Yigit
Quoted 5 lines · Stephen Hemminger

The offload name functions are useful, but since they are marked experimental they can not be used by upstream projects. For example, VPP duplicates the same table in its code.

+1, they have been added on 18.02, and I think we can remove experimental tag for them now.

Is there any objection to this, if not I am for getting change for rc1?

Reviewed-by on v1 1/1
#3 lore raw
In reply to Stephen Hemminger
Quoted 5 lines · Stephen Hemminger

The offload name functions are useful, but since they are marked experimental they can not be used by upstream projects. For example, VPP duplicates the same table in its code.

lib/librte_ethdev/rte_ethdev_version.map DPDK_18.08 { · line 228

Quoted 6 lines
lib/librte_ethdev/rte_ethdev_version.map +6 -0
+DPDK_18.11 {
+	global:
+
+	rte_eth_dev_rx_offload_name;
+	rte_eth_dev_tx_offload_name;
+} DPDK_18.11;

DPDK_18.08, can be fixed while merging.