virtio_net: remove "_queue" from ethtool -S
authorXuan Zhuo <xuanzhuo@linux.alibaba.com>
Fri, 26 Apr 2024 03:39:23 +0000 (11:39 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 30 Apr 2024 08:51:33 +0000 (10:51 +0200)
The key size of ethtool -S is controlled by this macro.

ETH_GSTRING_LEN 32

That includes the \0 at the end. So the max length of the key name must
is 31. But the length of the prefix "rx_queue_0_" is 11. If the queue
num is larger than 10, the length of the prefix is 12. So the
key name max is 19. That is too short. We will introduce some keys
such as "gso_packets_coalesced". So we should change the prefix
to "rx0_".

Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
Acked-by: Jason Wang <jasowang@redhat.com>
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/virtio_net.c

index 3bc9b1e621dbb05712aa7b16e11628ba67e5c5b5..8aa03625ab6c989bbd2ec6b1ea1869351b15bf5e 100644 (file)
@@ -3317,13 +3317,13 @@ static void virtnet_get_strings(struct net_device *dev, u32 stringset, u8 *data)
        case ETH_SS_STATS:
                for (i = 0; i < vi->curr_queue_pairs; i++) {
                        for (j = 0; j < VIRTNET_RQ_STATS_LEN; j++)
-                               ethtool_sprintf(&p, "rx_queue_%u_%s", i,
+                               ethtool_sprintf(&p, "rx%u_%s", i,
                                                virtnet_rq_stats_desc[j].desc);
                }
 
                for (i = 0; i < vi->curr_queue_pairs; i++) {
                        for (j = 0; j < VIRTNET_SQ_STATS_LEN; j++)
-                               ethtool_sprintf(&p, "tx_queue_%u_%s", i,
+                               ethtool_sprintf(&p, "tx%u_%s", i,
                                                virtnet_sq_stats_desc[j].desc);
                }
                break;