summaryrefslogtreecommitdiffstats
path: root/drivers/net/hyperv/hyperv_net.h
diff options
context:
space:
mode:
authorSimon Xiao <sixiao@microsoft.com>2017-01-24 13:06:13 -0800
committerDavid S. Miller <davem@davemloft.net>2017-01-24 16:29:01 -0500
commit6c80f3fc2398aef22798e8ac4258454b1062f3fb (patch)
tree1101688cc456925a87c943138f2521c29550820d /drivers/net/hyperv/hyperv_net.h
parent793e39555511bccd73308c41205b72448d0077db (diff)
downloadlinux-6c80f3fc2398aef22798e8ac4258454b1062f3fb.tar.bz2
netvsc: report per-channel stats in ethtool statistics
Report packets and bytes transferred through a vmbus channel via ethtool. This supersedes need for per-cpu statistics. Example: $ ethtool -S eth0 NIC statistics: ... tx_queue_0_packets: 3523179 tx_queue_0_bytes: 505370920 rx_queue_0_packets: 41430490 rx_queue_0_bytes: 62714661254 tx_queue_1_packets: 0 tx_queue_1_bytes: 0 rx_queue_1_packets: 0 rx_queue_1_bytes: 0 ... Reviewed-by: Long Li <longli@microsoft.com> Reviewed-by: K. Y. Srinivasan <kys@microsoft.com> Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com> Signed-off-by: Simon Xiao <sixiao@microsoft.com> Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/hyperv_net.h')
-rw-r--r--drivers/net/hyperv/hyperv_net.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/net/hyperv/hyperv_net.h b/drivers/net/hyperv/hyperv_net.h
index 340f64233e2a..d3e73ac158ae 100644
--- a/drivers/net/hyperv/hyperv_net.h
+++ b/drivers/net/hyperv/hyperv_net.h
@@ -699,8 +699,6 @@ struct net_device_context {
u32 msg_enable; /* debug level */
u32 tx_checksum_mask;
- struct netvsc_stats __percpu *tx_stats;
- struct netvsc_stats __percpu *rx_stats;
/* Ethtool settings */
u8 duplex;
@@ -725,6 +723,9 @@ struct netvsc_channel {
struct multi_send_data msd;
struct multi_recv_comp mrc;
atomic_t queue_sends;
+
+ struct netvsc_stats tx_stats;
+ struct netvsc_stats rx_stats;
};
/* Per netvsc device */