On 9/27/2020 4:16 AM, Min Hu (Connor) wrote:
From: Huisong Li <lihuis...@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 <lihuis...@huawei.com>
Signed-off-by: Min Hu (Connor) <humi...@huawei.com>
Reviewed-by: Wei Hu (Xavier) <xavier.hu...@huawei.com>
Reviewed-by: Dongdong Liu <liudongdo...@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];
};
cc'ed tech-board,
The patch breaks the ethdev ABI without a deprecation notice from previous
release(s).
It is increasing the storage size of the fields to support more than 255 queues.
Since the ethdev library already heavily breaks the ABI this release, I am for
getting this patch, instead of waiting for one more year for the update.
Can you please review the patch, is there any objection to proceed with it?