From: Gal Pressman Report RX checksum statistics via the netdev queue stats API by mapping the existing csum_complete, csum_unnecessary, csum_unnecessary_inner, and csum_none counters to the csum_complete, csum_unnecessary and csum_none fields. Signed-off-by: Gal Pressman Reviewed-by: Dragos Tatulea Signed-off-by: Tariq Toukan --- .../net/ethernet/mellanox/mlx5/core/en_main.c | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c index 8c4ab3f81bbc..036587123a6a 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/en_main.c +++ b/drivers/net/ethernet/mellanox/mlx5/core/en_main.c @@ -5536,6 +5536,14 @@ static void mlx5e_get_queue_stats_rx(struct net_device *dev, int i, stats->hw_gro_packets = rq_stats->gro_packets + xskrq_stats->gro_packets; stats->hw_gro_bytes = rq_stats->gro_bytes + xskrq_stats->gro_bytes; + + stats->csum_complete = + rq_stats->csum_complete + xskrq_stats->csum_complete; + stats->csum_unnecessary = rq_stats->csum_unnecessary + + xskrq_stats->csum_unnecessary + + rq_stats->csum_unnecessary_inner + + xskrq_stats->csum_unnecessary_inner; + stats->csum_none = rq_stats->csum_none + xskrq_stats->csum_none; } static void mlx5e_get_queue_stats_tx(struct net_device *dev, int i, @@ -5578,6 +5586,9 @@ static void mlx5e_get_base_stats(struct net_device *dev, rx->alloc_fail = 0; rx->hw_gro_packets = 0; rx->hw_gro_bytes = 0; + rx->csum_complete = 0; + rx->csum_unnecessary = 0; + rx->csum_none = 0; for (i = priv->channels.params.num_channels; i < priv->stats_nch; i++) { struct netdev_queue_stats_rx rx_i = {0}; @@ -5589,6 +5600,9 @@ static void mlx5e_get_base_stats(struct net_device *dev, rx->alloc_fail += rx_i.alloc_fail; rx->hw_gro_packets += rx_i.hw_gro_packets; rx->hw_gro_bytes += rx_i.hw_gro_bytes; + rx->csum_complete += rx_i.csum_complete; + rx->csum_unnecessary += rx_i.csum_unnecessary; + rx->csum_none += rx_i.csum_none; } /* always report PTP RX stats from base as there is no @@ -5602,6 +5616,11 @@ static void mlx5e_get_base_stats(struct net_device *dev, rx->bytes += rq_stats->bytes; rx->hw_gro_packets += rq_stats->gro_packets; rx->hw_gro_bytes += rq_stats->gro_bytes; + rx->csum_complete += rq_stats->csum_complete; + rx->csum_unnecessary += + rq_stats->csum_unnecessary + + rq_stats->csum_unnecessary_inner; + rx->csum_none += rq_stats->csum_none; } } -- 2.44.0