diff mbox series

[v2] net/iavf: fix wrong bandwidth unit in TM capability querying

Message ID 20210715103240.13076-1-ting.xu@intel.com (mailing list archive)
State Superseded, archived
Headers show
Series [v2] net/iavf: fix wrong bandwidth unit in TM capability querying | expand

Checks

Context Check Description
ci/checkpatch success coding style OK

Commit Message

Ting Xu July 15, 2021, 10:32 a.m. UTC
In IAVF node TM capability querying, the unit of bandwidth is Kbps,
which is not correct according to TM specification. Change the unit to
Byte per second. Refine some unclear comments as well.

Fixes: 44d0a720a538 ("net/iavf: query QoS capabilities and set queue TC mapping")
Cc: stable@dpdk.org

Signed-off-by: Ting Xu <ting.xu@intel.com>
---
 drivers/net/iavf/iavf_tm.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)
diff mbox series

Patch

diff --git a/drivers/net/iavf/iavf_tm.c b/drivers/net/iavf/iavf_tm.c
index 558021014e..613c472619 100644
--- a/drivers/net/iavf/iavf_tm.c
+++ b/drivers/net/iavf/iavf_tm.c
@@ -469,9 +469,9 @@  iavf_tm_capabilities_get(struct rte_eth_dev *dev,
 	cap->shaper_private_n_max = cap->n_nodes_max;
 	cap->shaper_private_dual_rate_n_max = 0;
 	cap->shaper_private_rate_min = 0;
-	/* GBps */
+	/* Bytes per second */
 	cap->shaper_private_rate_max =
-		vf->link_speed * 1000 / IAVF_BITS_PER_BYTE;
+		(uint64_t)vf->link_speed * 1000 / IAVF_BITS_PER_BYTE;
 	cap->shaper_private_packet_mode_supported = 0;
 	cap->shaper_private_byte_mode_supported = 1;
 	cap->shaper_shared_n_max = 0;
@@ -544,9 +544,9 @@  iavf_level_capabilities_get(struct rte_eth_dev *dev,
 		cap->nonleaf.shaper_private_supported = true;
 		cap->nonleaf.shaper_private_dual_rate_supported = false;
 		cap->nonleaf.shaper_private_rate_min = 0;
-		/* GBps */
+		/* Bytes per second */
 		cap->nonleaf.shaper_private_rate_max =
-			vf->link_speed * 1000 / IAVF_BITS_PER_BYTE;
+			(uint64_t)vf->link_speed * 1000 / IAVF_BITS_PER_BYTE;
 		cap->nonleaf.shaper_private_packet_mode_supported = 0;
 		cap->nonleaf.shaper_private_byte_mode_supported = 1;
 		cap->nonleaf.shaper_shared_n_max = 0;
@@ -573,9 +573,9 @@  iavf_level_capabilities_get(struct rte_eth_dev *dev,
 	cap->leaf.shaper_private_supported = false;
 	cap->leaf.shaper_private_dual_rate_supported = false;
 	cap->leaf.shaper_private_rate_min = 0;
-	/* GBps */
+	/* Bytes per second */
 	cap->leaf.shaper_private_rate_max =
-		vf->link_speed * 1000 / IAVF_BITS_PER_BYTE;
+		(uint64_t)vf->link_speed * 1000 / IAVF_BITS_PER_BYTE;
 	cap->leaf.shaper_private_packet_mode_supported = 0;
 	cap->leaf.shaper_private_byte_mode_supported = 1;
 	cap->leaf.shaper_shared_n_max = 0;
@@ -632,8 +632,11 @@  iavf_node_capabilities_get(struct rte_eth_dev *dev,
 
 	cap->shaper_private_supported = true;
 	cap->shaper_private_dual_rate_supported = false;
-	cap->shaper_private_rate_min = tc_cap.shaper.committed;
-	cap->shaper_private_rate_max = tc_cap.shaper.peak;
+	/* Bytes per second */
+	cap->shaper_private_rate_min =
+		(uint64_t)tc_cap.shaper.committed * 1000 / IAVF_BITS_PER_BYTE;
+	cap->shaper_private_rate_max =
+		(uint64_t)tc_cap.shaper.peak * 1000 / IAVF_BITS_PER_BYTE;
 	cap->shaper_shared_n_max = 0;
 	cap->nonleaf.sched_n_children_max = vf->num_queue_pairs;
 	cap->nonleaf.sched_sp_n_priorities_max = 1;