OSDN Git Service

liquidio: Swap VF representor Tx and Rx statistics
authorSrinivas Jampala <srinivasa.jampala@cavium.com>
Tue, 24 Apr 2018 17:23:27 +0000 (10:23 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Apr 2018 20:20:32 +0000 (16:20 -0400)
Swap VF representor tx and rx interface statistics since it is a
virtual switchdev port and tx for VM should be rx for VF representor
and vice-versa.

Signed-off-by: Srinivas Jampala <srinivasa.jampala@cavium.com>
Acked-by: Derek Chickles <derek.chickles@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlunas@cavium.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c

index 2adafa3..ddd7431 100644 (file)
@@ -201,13 +201,14 @@ lio_vf_rep_get_stats64(struct net_device *dev,
 {
        struct lio_vf_rep_desc *vf_rep = netdev_priv(dev);
 
-       stats64->tx_packets = vf_rep->stats.tx_packets;
-       stats64->tx_bytes   = vf_rep->stats.tx_bytes;
-       stats64->tx_dropped = vf_rep->stats.tx_dropped;
-
-       stats64->rx_packets = vf_rep->stats.rx_packets;
-       stats64->rx_bytes   = vf_rep->stats.rx_bytes;
-       stats64->rx_dropped = vf_rep->stats.rx_dropped;
+       /* Swap tx and rx stats as VF rep is a switch port */
+       stats64->tx_packets = vf_rep->stats.rx_packets;
+       stats64->tx_bytes   = vf_rep->stats.rx_bytes;
+       stats64->tx_dropped = vf_rep->stats.rx_dropped;
+
+       stats64->rx_packets = vf_rep->stats.tx_packets;
+       stats64->rx_bytes   = vf_rep->stats.tx_bytes;
+       stats64->rx_dropped = vf_rep->stats.tx_dropped;
 }
 
 static int