RE: [PATCH net-next, 1/2] net: mana: Add handling of CQE_RX_TRUNCATED

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: LKML haiyangz <lkmlhyz@xxxxxxxxxxxxx> On Behalf Of Haiyang Zhang
> Sent: Friday, February 4, 2022 5:46 PM
> To: linux-hyperv@xxxxxxxxxxxxxxx; netdev@xxxxxxxxxxxxxxx
> Cc: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>; Dexuan Cui <decui@xxxxxxxxxxxxx>; KY
> Srinivasan <kys@xxxxxxxxxxxxx>; Stephen Hemminger <sthemmin@xxxxxxxxxxxxx>; Paul Rosswurm
> <paulros@xxxxxxxxxxxxx>; Shachar Raindel <shacharr@xxxxxxxxxxxxx>; olaf@xxxxxxxxx;
> vkuznets <vkuznets@xxxxxxxxxx>; davem@xxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH net-next, 1/2] net: mana: Add handling of CQE_RX_TRUNCATED
> 
> The proper way to drop this kind of CQE is advancing rxq tail
> without indicating the packet to the upper network layer.
> 
> Signed-off-by: Haiyang Zhang <haiyangz@xxxxxxxxxxxxx>
> ---
>  drivers/net/ethernet/microsoft/mana/mana_en.c | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/net/ethernet/microsoft/mana/mana_en.c
> b/drivers/net/ethernet/microsoft/mana/mana_en.c
> index 69e791e6abc4..d2481a500654 100644
> --- a/drivers/net/ethernet/microsoft/mana/mana_en.c
> +++ b/drivers/net/ethernet/microsoft/mana/mana_en.c
> @@ -1085,8 +1085,10 @@ static void mana_process_rx_cqe(struct mana_rxq *rxq, struct
> mana_cq *cq,
>  		break;
> 
>  	case CQE_RX_TRUNCATED:
> -		netdev_err(ndev, "Dropped a truncated packet\n");
> -		return;
> +		++ndev->stats.rx_dropped;
> +		rxbuf_oob = &rxq->rx_oobs[rxq->buf_index];
> +		netdev_warn_once(ndev, "Dropped a truncated packet\n");
> +		goto drop;
> 
>  	case CQE_RX_COALESCED_4:
>  		netdev_err(ndev, "RX coalescing is unsupported\n");
> @@ -1154,6 +1156,7 @@ static void mana_process_rx_cqe(struct mana_rxq *rxq, struct mana_cq
> *cq,
> 
>  	mana_rx_skb(old_buf, oob, rxq);
> 
> +drop:
>  	mana_move_wq_tail(rxq->gdma_rq, rxbuf_oob->wqe_inf.wqe_size_in_bu);
> 
>  	mana_post_pkt_rxq(rxq);
> --

To netdev maintainers:

Since the proper handling of CQE_RX_TRUNCATED type is important, could any
of you backport this patch to the stable branches: 5.16 & 5.15?

Thanks,
- Haiyang





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux