As the spec: https://github.com/oasis-tcs/virtio-spec/commit/42f389989823039724f95bbbd243291ab0064f82 The virtio net supports to get device stats. Please review. Thanks. v6: 1. remove 'maps'. check stats by if-else. v5: 1. Fix some small problems in last version 2. Not report stats that will be reported by netlink 3. remove "_queue" from ethtool -S v4: 1. Support per-queue statistics API 2. Fix some small problems in last version v3: 1. rebase net-next v2: 1. fix the usage of the leXX_to_cpu() 2. add comment to the structure virtnet_stats_map v1: 1. fix some definitions of the marco and the struct Xuan Zhuo (8): virtio_net: introduce device stats feature and structures virtio_net: remove "_queue" from ethtool -S virtio_net: support device stats virtio_net: device stats helpers support driver stats virtio_net: add the total stats field virtio_net: rename stat tx_timeout to timeout netdev: add queue stats virtio-net: support queue stat Documentation/netlink/specs/netdev.yaml | 104 +++ drivers/net/virtio_net.c | 969 ++++++++++++++++++++++-- include/net/netdev_queues.h | 27 + include/uapi/linux/netdev.h | 19 + include/uapi/linux/virtio_net.h | 143 ++++ net/core/netdev-genl.c | 23 +- tools/include/uapi/linux/netdev.h | 19 + 7 files changed, 1247 insertions(+), 57 deletions(-) -- 2.32.0.3.g01195cf9f