[PATCH 14/22] ethdev: promote congestion management API to stable
Stephen Hemminger
stephen at networkplumber.org
Tue Sep 1 22:23:13 CEST 2026
The congestion management interface was added in v22.11 and its four
functions have not changed since. With this rte_ethdev_cman.c has no
experimental symbol left.
Signed-off-by: Stephen Hemminger <stephen at networkplumber.org>
---
doc/guides/rel_notes/release_26_11.rst | 3 +++
lib/ethdev/rte_ethdev.h | 22 ----------------------
lib/ethdev/rte_ethdev_cman.c | 8 ++++----
3 files changed, 7 insertions(+), 26 deletions(-)
diff --git a/doc/guides/rel_notes/release_26_11.rst b/doc/guides/rel_notes/release_26_11.rst
index 6649a847ff..477139a2a1 100644
--- a/doc/guides/rel_notes/release_26_11.rst
+++ b/doc/guides/rel_notes/release_26_11.rst
@@ -127,6 +127,9 @@ API Changes
* remaining flow helpers: ``rte_flow_actions_update``, ``rte_flow_restore_info_dynflag``,
``rte_flow_calc_table_hash``, ``rte_flow_group_set_miss_actions``,
and ``rte_flow_calc_encap_hash``
+ * congestion management:
+ ``rte_eth_cman_config_init``, ``rte_eth_cman_config_set``,
+ ``rte_eth_cman_config_get`` and ``rte_eth_cman_info_get``
ABI Changes
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index 2a694130ea..2b40340004 100644
--- a/lib/ethdev/rte_ethdev.h
+++ b/lib/ethdev/rte_ethdev.h
@@ -6040,9 +6040,6 @@ enum rte_eth_cman_obj {
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change, or be removed, without prior notice
- *
* A structure used to retrieve information of ethdev congestion management.
*/
struct rte_eth_cman_info {
@@ -6064,9 +6061,6 @@ struct rte_eth_cman_info {
};
/**
- * @warning
- * @b EXPERIMENTAL: this structure may change, or be removed, without prior notice
- *
* A structure used to configure the ethdev congestion management.
*/
struct rte_eth_cman_config {
@@ -6108,9 +6102,6 @@ struct rte_eth_cman_config {
};
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
* Retrieve the information for ethdev congestion management
*
* @param port_id
@@ -6124,13 +6115,9 @@ struct rte_eth_cman_config {
* - (-ENODEV) if *port_id* invalid.
* - (-EINVAL) if bad parameter.
*/
-__rte_experimental
int rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
* Initialize the ethdev congestion management configuration structure with default values.
*
* @param port_id
@@ -6144,13 +6131,9 @@ int rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info);
* - (-ENODEV) if *port_id* invalid.
* - (-EINVAL) if bad parameter.
*/
-__rte_experimental
int rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config *config);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
* Configure ethdev congestion management
*
* @param port_id
@@ -6163,13 +6146,9 @@ int rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config *confi
* - (-ENODEV) if *port_id* invalid.
* - (-EINVAL) if bad parameter.
*/
-__rte_experimental
int rte_eth_cman_config_set(uint16_t port_id, const struct rte_eth_cman_config *config);
/**
- * @warning
- * @b EXPERIMENTAL: this API may change, or be removed, without prior notice
- *
* Retrieve the applied ethdev congestion management parameters for the given port.
*
* @param port_id
@@ -6186,7 +6165,6 @@ int rte_eth_cman_config_set(uint16_t port_id, const struct rte_eth_cman_config *
* - (-ENODEV) if *port_id* invalid.
* - (-EINVAL) if bad parameter.
*/
-__rte_experimental
int rte_eth_cman_config_get(uint16_t port_id, struct rte_eth_cman_config *config);
#ifdef __cplusplus
diff --git a/lib/ethdev/rte_ethdev_cman.c b/lib/ethdev/rte_ethdev_cman.c
index a8460e6977..3a62432bf0 100644
--- a/lib/ethdev/rte_ethdev_cman.c
+++ b/lib/ethdev/rte_ethdev_cman.c
@@ -12,7 +12,7 @@
#include "ethdev_trace.h"
/* Get congestion management information for a port */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_info_get, 22.11)
+RTE_EXPORT_SYMBOL(rte_eth_cman_info_get)
int
rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info)
{
@@ -41,7 +41,7 @@ rte_eth_cman_info_get(uint16_t port_id, struct rte_eth_cman_info *info)
}
/* Initialize congestion management structure with default values */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_config_init, 22.11)
+RTE_EXPORT_SYMBOL(rte_eth_cman_config_init)
int
rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config *config)
{
@@ -70,7 +70,7 @@ rte_eth_cman_config_init(uint16_t port_id, struct rte_eth_cman_config *config)
}
/* Configure congestion management on a port */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_config_set, 22.11)
+RTE_EXPORT_SYMBOL(rte_eth_cman_config_set)
int
rte_eth_cman_config_set(uint16_t port_id, const struct rte_eth_cman_config *config)
{
@@ -98,7 +98,7 @@ rte_eth_cman_config_set(uint16_t port_id, const struct rte_eth_cman_config *conf
}
/* Retrieve congestion management configuration of a port */
-RTE_EXPORT_EXPERIMENTAL_SYMBOL(rte_eth_cman_config_get, 22.11)
+RTE_EXPORT_SYMBOL(rte_eth_cman_config_get)
int
rte_eth_cman_config_get(uint16_t port_id, struct rte_eth_cman_config *config)
{
--
2.53.0
More information about the dev
mailing list