From: Srinivas Jampala <srinivasa.jamp...@cavium.com>

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.jamp...@cavium.com>
Acked-by: Derek Chickles <derek.chick...@cavium.com>
Signed-off-by: Felix Manlunas <felix.manlu...@cavium.com>
---
 drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c 
b/drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c
index 2adafa3..ddd7431 100644
--- a/drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c
+++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_rep.c
@@ -201,13 +201,14 @@ static void 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
-- 
1.8.3.1

Reply via email to