RE: [PATCH net-next v4 1/2] net: xilinx: axienet: Report RxRject as rx_dropped
From: Pandey, Radhey Shyam
Date: Tue Aug 20 2024 - 14:34:04 EST
> -----Original Message-----
> From: Sean Anderson <sean.anderson@xxxxxxxxx>
> Sent: Tuesday, August 20, 2024 11:24 PM
> To: Andrew Lunn <andrew@xxxxxxx>; Pandey, Radhey Shyam
> <radhey.shyam.pandey@xxxxxxx>; netdev@xxxxxxxxxxxxxxx
> Cc: Simek, Michal <michal.simek@xxxxxxx>; linux-kernel@xxxxxxxxxxxxxxx;
> Russell King <linux@xxxxxxxxxxxxxxx>; David S . Miller
> <davem@xxxxxxxxxxxxx>; Jakub Kicinski <kuba@xxxxxxxxxx>; Paolo Abeni
> <pabeni@xxxxxxxxxx>; Eric Dumazet <edumazet@xxxxxxxxxx>; Simon
> Horman <horms@xxxxxxxxxx>; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Sean
> Anderson <sean.anderson@xxxxxxxxx>
> Subject: [PATCH net-next v4 1/2] net: xilinx: axienet: Report RxRject as
> rx_dropped
>
> The Receive Frame Rejected interrupt is asserted whenever there was a
> receive error (bad FCS, bad length, etc.) or whenever the frame was
> dropped due to a mismatched address. So this is really a combination of
> rx_otherhost_dropped, rx_length_errors, rx_frame_errors, and
> rx_crc_errors. Mismatched addresses are common and aren't really errors
> at all (much like how fragments are normal on half-duplex links). To
> avoid confusion, report these events as rx_dropped. This better
> reflects what's going on: the packet was received by the MAC but dropped
> before being processed.
>
> Signed-off-by: Sean Anderson <sean.anderson@xxxxxxxxx>
> Reviewed-by: Andrew Lunn <andrew@xxxxxxx>
Reviewed-by: Radhey Shyam Pandey <radhey.shyam.pandey@xxxxxxx>
> ---
>
> (no changes since v1)
>
> drivers/net/ethernet/xilinx/xilinx_axienet_main.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> index ca04c298daa2..b2d7c396e2e3 100644
> --- a/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> +++ b/drivers/net/ethernet/xilinx/xilinx_axienet_main.c
> @@ -1296,7 +1296,7 @@ static irqreturn_t axienet_eth_irq(int irq, void
> *_ndev)
> ndev->stats.rx_missed_errors++;
>
> if (pending & XAE_INT_RXRJECT_MASK)
> - ndev->stats.rx_frame_errors++;
> + ndev->stats.rx_dropped++;
>
> axienet_iow(lp, XAE_IS_OFFSET, pending);
> return IRQ_HANDLED;
> --
> 2.35.1.1320.gc452695387.dirty