On Thu, 24 Oct 2024 11:17:57 +0000
Morten Brørup <m...@smartsharesystems.com> wrote:

> Remove the requirement that the configured number of queues to provide
> statistics for (RTE_ETHDEV_QUEUE_STAT_CNTRS) cannot be less than the
> driver's max supported number of the same (IXGBE_QUEUE_STAT_COUNTERS).
> 
> Signed-off-by: Morten Brørup <m...@smartsharesystems.com>
> ---
>  drivers/net/ixgbe/ixgbe_ethdev.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c 
> b/drivers/net/ixgbe/ixgbe_ethdev.c
> index ab37c37469..895d6e7169 100644
> --- a/drivers/net/ixgbe/ixgbe_ethdev.c
> +++ b/drivers/net/ixgbe/ixgbe_ethdev.c
> @@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct 
> rte_eth_stats *stats)
>       stats->opackets = hw_stats->gptc;
>       stats->obytes = hw_stats->gotc;
>  
> -     for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
> +     for (i = 0; i < RTE_MIN(IXGBE_QUEUE_STAT_COUNTERS,
> +                     
> (typeof(IXGBE_QUEUE_STAT_COUNTERS))RTE_ETHDEV_QUEUE_STAT_CNTRS); i++) {

Maybe use RTE_MIN_T to avoid using typeof directly here.

diff --git a/drivers/net/ixgbe/ixgbe_ethdev.c b/drivers/net/ixgbe/ixgbe_ethdev.c
index ab37c37469..cdf689c22d 100644
--- a/drivers/net/ixgbe/ixgbe_ethdev.c
+++ b/drivers/net/ixgbe/ixgbe_ethdev.c
@@ -3385,7 +3385,8 @@ ixgbe_dev_stats_get(struct rte_eth_dev *dev, struct 
rte_eth_stats *stats)
        stats->opackets = hw_stats->gptc;
        stats->obytes = hw_stats->gotc;
 
-       for (i = 0; i < IXGBE_QUEUE_STAT_COUNTERS; i++) {
+       for (i = 0; i < RTE_MIN_T(IXGBE_QUEUE_STAT_COUNTERS,
+                         RTE_ETHDEV_QUEUE_STAT_CNTRS, unsigned); i++) {
                stats->q_ipackets[i] = hw_stats->qprc[i];
                stats->q_opackets[i] = hw_stats->qptc[i];
                stats->q_ibytes[i] = hw_stats->qbrc[i];

Reply via email to