[v2] net/iavf: fix wrong bandwidth unit in TM capability querying
Checks
Commit Message
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(-)
@@ -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;