From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Thomas Monjalon <thomas@monjalon.net>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: [PATCH 19/22] ethdev: promote queue helpers and aggregated ports to stable
Date: Tue, 1 Sep 2026 13:23:18 -0700 [thread overview]
Message-ID: <20260901203217.1485915-20-stephen@networkplumber.org> (raw)
In-Reply-To: <20260901203217.1485915-1-stephen@networkplumber.org>
22.07 rte_eth_rx_avail_thresh_set, rte_eth_rx_avail_thresh_query
23.03 rte_eth_dev_count_aggr_ports,
rte_eth_dev_map_aggr_tx_affinity
23.07 rte_eth_rx_queue_is_valid, rte_eth_tx_queue_is_valid
23.11 rte_eth_recycle_rx_queue_info_get
None of these has changed since it was introduced.
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 6 +++++
lib/ethdev/rte_ethdev.c | 14 ++++++------
lib/ethdev/rte_ethdev.h | 31 --------------------------
3 files changed, 13 insertions(+), 38 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 01030cefe5..b23ffa6cb0 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -145,6 +145,12 @@ API Changes
* speed lanes:
``rte_eth_speed_lanes_get``, ``rte_eth_speed_lanes_set`` and
``rte_eth_speed_lanes_get_capability``
+ * queue helpers:
+ ``rte_eth_rx_queue_is_valid``, ``rte_eth_tx_queue_is_valid``,
+ ``rte_eth_rx_avail_thresh_set``, ``rte_eth_rx_avail_thresh_query``,
+ ``rte_eth_recycle_rx_queue_info_get``,
+ ``rte_eth_dev_count_aggr_ports`` and
+ ``rte_eth_dev_map_aggr_tx_affinity``
ABI Changes
diff --git a/lib/ethdev/rte_ethdev.c b/lib/ethdev/rte_ethdev.c
index 783fb817c2..4c675f1f22 100644
--- a/lib/ethdev/rte_ethdev.c
+++ b/lib/ethdev/rte_ethdev.c
@@ -839,7 +839,7 @@ eth_dev_validate_tx_queue(const struct rte_eth_dev *dev, uint16_t tx_queue_id)
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_queue_is_valid, 23.07)
+RTE_EXPORT_SYMBOL(rte_eth_rx_queue_is_valid)
int
rte_eth_rx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
{
@@ -851,7 +851,7 @@ rte_eth_rx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
return eth_dev_validate_rx_queue(dev, queue_id);
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_tx_queue_is_valid, 23.07)
+RTE_EXPORT_SYMBOL(rte_eth_tx_queue_is_valid)
int
rte_eth_tx_queue_is_valid(uint16_t port_id, uint16_t queue_id)
{
@@ -5737,7 +5737,7 @@ int rte_eth_get_queue_rate_limit(uint16_t port_id, uint16_t queue_idx,
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_avail_thresh_set, 22.07)
+RTE_EXPORT_SYMBOL(rte_eth_rx_avail_thresh_set)
int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
uint8_t avail_thresh)
{
@@ -5770,7 +5770,7 @@ int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_rx_avail_thresh_query, 22.07)
+RTE_EXPORT_SYMBOL(rte_eth_rx_avail_thresh_query)
int rte_eth_rx_avail_thresh_query(uint16_t port_id, uint16_t *queue_id,
uint8_t *avail_thresh)
{
@@ -6456,7 +6456,7 @@ rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,
return 0;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_recycle_rx_queue_info_get, 23.11)
+RTE_EXPORT_SYMBOL(rte_eth_recycle_rx_queue_info_get)
int
rte_eth_recycle_rx_queue_info_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_recycle_rxq_info *recycle_rxq_info)
@@ -7429,7 +7429,7 @@ rte_eth_buffer_split_get_supported_hdr_ptypes(uint16_t port_id, uint32_t *ptypes
return j;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_count_aggr_ports, 23.03)
+RTE_EXPORT_SYMBOL(rte_eth_dev_count_aggr_ports)
int rte_eth_dev_count_aggr_ports(uint16_t port_id)
{
struct rte_eth_dev *dev;
@@ -7447,7 +7447,7 @@ int rte_eth_dev_count_aggr_ports(uint16_t port_id)
return ret;
}
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_dev_map_aggr_tx_affinity, 23.03)
+RTE_EXPORT_SYMBOL(rte_eth_dev_map_aggr_tx_affinity)
int rte_eth_dev_map_aggr_tx_affinity(uint16_t port_id, uint16_t tx_queue_id,
uint8_t affinity)
{
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index dfb9cfd614..d18afa20c6 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -1913,9 +1913,6 @@ struct __rte_cache_min_aligned rte_eth_txq_info {
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change without prior notice.
- *
* Ethernet device Rx queue information structure for recycling mbufs.
* Used to retrieve Rx queue information when Tx queue reusing mbufs and moving
* them into Rx mbuf ring.
@@ -2685,9 +2682,6 @@ int rte_eth_hairpin_bind(uint16_t tx_port, uint16_t rx_port);
int rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Get the number of aggregated ports of the DPDK port (specified with port_id).
* It is used when multiple ports are aggregated into a single one.
*
@@ -2699,13 +2693,9 @@ int rte_eth_hairpin_unbind(uint16_t tx_port, uint16_t rx_port);
* @return
* - (>=0) the number of aggregated port if success.
*/
-__rte_experimental
int rte_eth_dev_count_aggr_ports(uint16_t port_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Map a Tx queue with an aggregated port of the DPDK port (specified with port_id).
* When multiple ports are aggregated into a single one,
* it allows choosing which port to use for Tx via a queue.
@@ -2729,7 +2719,6 @@ int rte_eth_dev_count_aggr_ports(uint16_t port_id);
* @return
* Zero if successful. Non-zero otherwise.
*/
-__rte_experimental
int rte_eth_dev_map_aggr_tx_affinity(uint16_t port_id, uint16_t tx_queue_id,
uint8_t affinity);
@@ -2759,9 +2748,6 @@ int rte_eth_dev_socket_id(uint16_t port_id);
int rte_eth_dev_is_valid_port(uint16_t port_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice.
- *
* Check if Rx queue is valid.
* If the queue has been setup, it is considered valid.
*
@@ -2774,13 +2760,9 @@ int rte_eth_dev_is_valid_port(uint16_t port_id);
* - -EINVAL: if queue_id is out of range or queue has not been setup.
* - 0 if Rx queue is valid.
*/
-__rte_experimental
int rte_eth_rx_queue_is_valid(uint16_t port_id, uint16_t queue_id);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice.
- *
* Check if Tx queue is valid.
* If the queue has been setup, it is considered valid.
*
@@ -2793,7 +2775,6 @@ int rte_eth_rx_queue_is_valid(uint16_t port_id, uint16_t queue_id);
* - -EINVAL: if queue_id is out of range or queue has not been setup.
* - 0 if Tx queue is valid.
*/
-__rte_experimental
int rte_eth_tx_queue_is_valid(uint16_t port_id, uint16_t queue_id);
/**
@@ -3791,9 +3772,6 @@ int rte_eth_dev_get_vlan_offload(uint16_t port_id);
int rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Set Rx queue available descriptors threshold.
*
* @param port_id
@@ -3815,14 +3793,10 @@ int rte_eth_dev_set_vlan_pvid(uint16_t port_id, uint16_t pvid, int on);
* - (-ENOTSUP) if available Rx descriptors threshold is not supported.
* - (-EIO) if device is removed.
*/
-__rte_experimental
int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
uint8_t avail_thresh);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change without prior notice.
- *
* Find Rx queue with RTE_ETH_EVENT_RX_AVAIL_THRESH event pending.
*
* @param port_id
@@ -3845,7 +3819,6 @@ int rte_eth_rx_avail_thresh_set(uint16_t port_id, uint16_t queue_id,
* - (-ENOTSUP) if operation is not supported.
* - (-EIO) if device is removed.
*/
-__rte_experimental
int rte_eth_rx_avail_thresh_query(uint16_t port_id, uint16_t *queue_id,
uint8_t *avail_thresh);
@@ -5103,9 +5076,6 @@ int rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,
struct rte_eth_txq_info *qinfo);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
* Retrieve information about given ports's Rx queue for recycling mbufs.
*
* @param port_id
@@ -5122,7 +5092,6 @@ int rte_eth_tx_queue_info_get(uint16_t port_id, uint16_t queue_id,
* - -ENOTSUP: routine is not supported by the device PMD.
* - -EINVAL: The queue_id is out of range.
*/
-__rte_experimental
int rte_eth_recycle_rx_queue_info_get(uint16_t port_id,
uint16_t queue_id,
struct rte_eth_recycle_rxq_info *recycle_rxq_info);
--
2.53.0
next prev parent reply other threads:[~2026-09-01 20:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-01 20:22 [PATCH 00/22] ethdev: convert experimental symbols etc Stephen Hemminger
2026-09-01 20:23 ` [PATCH 01/22] ethdev: promote meter API to stable Stephen Hemminger
2026-09-01 20:23 ` [PATCH 02/22] ethdev: promote module EEPROM " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 03/22] ethdev: promote rte_flow_conv " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 04/22] ethdev: promote hairpin API " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 05/22] ethdev: promote read clock and flow dump " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 06/22] ethdev: promote FEC API " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 07/22] ethdev: promote link speed helpers " Stephen Hemminger
2026-09-02 8:05 ` Bruce Richardson
2026-09-01 20:23 ` [PATCH 08/22] ethdev: promote flow tunnel offload API " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 09/22] ethdev: promote aged flow query " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 10/22] ethdev: promote indirect action API " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 11/22] ethdev: promote asynchronous flow " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 12/22] ethdev: promote flex item " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 13/22] ethdev: promote remaining aged flow helpers " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 14/22] ethdev: promote congestion management API " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 15/22] ethdev: promote IP reassembly offload " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 16/22] ethdev: promote per-queue priority flow control " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 17/22] ethdev: promote device info and dump helpers " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 18/22] ethdev: promote speed lanes API " Stephen Hemminger
2026-09-01 20:23 ` Stephen Hemminger [this message]
2026-09-01 20:23 ` [PATCH 20/22] ethdev: promote remaining aged symbols " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 21/22] ethdev: promote fast path inline helpers " Stephen Hemminger
2026-09-01 20:23 ` [PATCH 22/22] ethdev: promote experimental structures " Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260901203217.1485915-20-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.