From: Huy Nguyen <h...@nvidia.com>

[ Upstream commit a07231084da2207629b42244380ae2f1e10bd9b4 ]

The multicast counter got removed from uplink representor due to the
cited patch.

Fixes: 47c97e6b10a1 ("net/mlx5e: Fix multicast counter not up-to-date in "ip 
-s"")
Signed-off-by: Huy Nguyen <h...@nvidia.com>
Reviewed-by: Daniel Jurgens <dani...@nvidia.com>
Signed-off-by: Saeed Mahameed <sae...@nvidia.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c 
b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
index 1386212ad3f0..aaa5a56b44c7 100644
--- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
+++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c
@@ -3703,10 +3703,17 @@ mlx5e_get_stats(struct net_device *dev, struct 
rtnl_link_stats64 *stats)
        }
 
        if (mlx5e_is_uplink_rep(priv)) {
+               struct mlx5e_vport_stats *vstats = &priv->stats.vport;
+
                stats->rx_packets = PPORT_802_3_GET(pstats, 
a_frames_received_ok);
                stats->rx_bytes   = PPORT_802_3_GET(pstats, 
a_octets_received_ok);
                stats->tx_packets = PPORT_802_3_GET(pstats, 
a_frames_transmitted_ok);
                stats->tx_bytes   = PPORT_802_3_GET(pstats, 
a_octets_transmitted_ok);
+
+               /* vport multicast also counts packets that are dropped due to 
steering
+                * or rx out of buffer
+                */
+               stats->multicast = VPORT_COUNTER_GET(vstats, 
received_eth_multicast.packets);
        } else {
                mlx5e_fold_sw_stats64(priv, stats);
        }
-- 
2.30.1



Reply via email to