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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox