net/iavf: fix bandwidth unit in TM capability query
authorTing Xu <ting.xu@intel.com>
Thu, 15 Jul 2021 10:36:06 +0000 (18:36 +0800)
committerQi Zhang <qi.z.zhang@intel.com>
Fri, 16 Jul 2021 08:19:29 +0000 (10:19 +0200)
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 <ting.xu@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
drivers/net/iavf/iavf_tm.c

index 5580210..3c80276 100644 (file)
@@ -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;