From f5dd3ea456604bba1917fc7590e97e4e1c4b4e95 Mon Sep 17 00:00:00 2001 From: Ting Xu Date: Thu, 15 Jul 2021 18:36:06 +0800 Subject: [PATCH] net/iavf: fix bandwidth unit in TM capability query 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") Signed-off-by: Ting Xu Acked-by: Qi Zhang --- drivers/net/iavf/iavf_tm.c | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/drivers/net/iavf/iavf_tm.c b/drivers/net/iavf/iavf_tm.c index 558021014e..3c80276ff3 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 * 1000000 / 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 * 1000000 / 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 * 1000000 / 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; -- 2.20.1