Thread (12 messages) 12 messages, 5 authors, 2022-06-21

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.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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help