[dpdk-dev] [PATCH V5 2/2] ethdev: change data type in TC rxq and TC txq

Min Hu (Connor) humin29 at huawei.com
Sun Sep 27 05:16:36 CEST 2020


From: Huisong Li <lihuisong at huawei.com>

Currently, base and nb_queue in the tc_rxq and tc_txq information
of queue and TC mapping on both TX and RX paths are uint8_t.
However, these data will be truncated when queue number under a TC
is greater than 256. So it is necessary for base and nb_queue to
change from uint8_t to uint16_t.

Fixes: 01eb53eefeb40e8 ("ethdev: rename folder to library name")

Signed-off-by: Huisong Li <lihuisong at huawei.com>
Signed-off-by: Min Hu (Connor) <humin29 at huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>
Reviewed-by: Dongdong Liu <liudongdong3 at huawei.com>
---
V4 -> V5:
add release notes updated.

---
 doc/guides/rel_notes/release_20_11.rst | 5 +++++
 lib/librte_ethdev/rte_ethdev.h         | 8 ++++----
 2 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/doc/guides/rel_notes/release_20_11.rst b/doc/guides/rel_notes/release_20_11.rst
index 1ef6f0e..ad14fd7 100644
--- a/doc/guides/rel_notes/release_20_11.rst
+++ b/doc/guides/rel_notes/release_20_11.rst
@@ -183,6 +183,11 @@ API Changes
   function will be changed from ``uint8_t`` to ``uint16_t``, which supports for
   using 256 or more than 256 queues and displaying all statistics of rx/tx queue.
 
+* ethdev: Modified field type of base and nb_queue in struct
+  ``rte_eth_dcb_tc_queue_mapping`` from ``uint8_t`` to ``uint16_t``.
+  As the data of uint8_t will be truncated when queue number under
+  a TC is greater than 256.
+
 
 ABI Changes
 -----------
diff --git a/lib/librte_ethdev/rte_ethdev.h b/lib/librte_ethdev/rte_ethdev.h
index ff3a616..2270460 100644
--- a/lib/librte_ethdev/rte_ethdev.h
+++ b/lib/librte_ethdev/rte_ethdev.h
@@ -1522,13 +1522,13 @@ struct rte_eth_xstat_name {
 struct rte_eth_dcb_tc_queue_mapping {
 	/** rx queues assigned to tc per Pool */
 	struct {
-		uint8_t base;
-		uint8_t nb_queue;
+		uint16_t base;
+		uint16_t nb_queue;
 	} tc_rxq[ETH_MAX_VMDQ_POOL][ETH_DCB_NUM_TCS];
 	/** rx queues assigned to tc per Pool */
 	struct {
-		uint8_t base;
-		uint8_t nb_queue;
+		uint16_t base;
+		uint16_t nb_queue;
 	} tc_txq[ETH_MAX_VMDQ_POOL][ETH_DCB_NUM_TCS];
 };
 
-- 
2.7.4



More information about the dev mailing list