RE: [PATCH net-next, 1/2] net: mana: Add handling of CQE_RX_TRUNCATED
From: Haiyang Zhang <haiyangz@microsoft.com>
Date: 2022-02-05 22:32:57
Also in:
linux-hyperv, lkml
quoted hunk ↗ jump to hunk
-----Original Message----- From: LKML haiyangz <redacted> On Behalf Of Haiyang Zhang Sent: Friday, February 4, 2022 5:46 PM To: linux-hyperv@vger.kernel.org; netdev@vger.kernel.org Cc: Haiyang Zhang <haiyangz@microsoft.com>; Dexuan Cui <decui@microsoft.com>; KY Srinivasan [off-list ref]; Stephen Hemminger [off-list ref]; Paul Rosswurm [off-list ref]; Shachar Raindel [off-list ref]; olaf@aepfle.de; vkuznets [off-list ref]; davem@davemloft.net; linux-kernel@vger.kernel.org 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@microsoft.com> --- 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.cb/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, structmana_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