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 <xuanz...@linux.alibaba.com>
Acked-by: Jason Wang <jasow...@redhat.com>
---
 drivers/net/virtio_net.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/virtio_net.c b/drivers/net/virtio_net.c
index 921b2254594f..bd90f9d3d9b7 100644
--- a/drivers/net/virtio_net.c
+++ b/drivers/net/virtio_net.c
@@ -3278,13 +3278,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;
-- 
2.32.0.3.g01195cf9f


Reply via email to