patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] net/mlx5: fix number of segment calculation
@ 2017-11-09 16:04 Ori Kam
  2017-11-09 22:30 ` Yongseok Koh
  2017-11-10 10:06 ` Adrien Mazarguil
  0 siblings, 2 replies; 7+ messages in thread
From: Ori Kam @ 2017-11-09 16:04 UTC (permalink / raw)
  To: adrien.mazarguil, nelio.laranjeiro, yskoh; +Cc: dev, orika, stable

The CRC size should be taken into consideration when computing
the number of mbuf segments for packet on the receive path.
Large packets can be dropped due to extra CRC length.

Fixes: a1366b1a2be3 ("net/mlx5: add reference counter on DPDK Rx queues")
Cc: stable@dpdk.org
Cc: nelio.laranjeiro@6wind.com

Signed-off-by: Ori Kam <orika@mellanox.com>
---
 drivers/net/mlx5/mlx5_rxq.c |    7 +++++--
 1 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 6b29aae..701925b 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -887,6 +887,8 @@ struct mlx5_rxq_ctrl*
 	const uint16_t desc_n =
 		desc + priv->rx_vec_en * MLX5_VPMD_DESCS_PER_LOOP;
 	unsigned int mb_len = rte_pktmbuf_data_room_size(mp);
+	uint8_t crc_size =
+			!!(dev->data->dev_conf.rxmode.hw_strip_crc == 0) << 2;
 
 	tmpl = rte_calloc_socket("RXQ", 1,
 				 sizeof(*tmpl) +
@@ -900,12 +902,13 @@ struct mlx5_rxq_ctrl*
 	/* Enable scattered packets support for this queue if necessary. */
 	assert(mb_len >= RTE_PKTMBUF_HEADROOM);
 	if (dev->data->dev_conf.rxmode.max_rx_pkt_len <=
-	    (mb_len - RTE_PKTMBUF_HEADROOM)) {
+	    (mb_len - RTE_PKTMBUF_HEADROOM - crc_size)) {
 		tmpl->rxq.sges_n = 0;
 	} else if (dev->data->dev_conf.rxmode.enable_scatter) {
 		unsigned int size =
 			RTE_PKTMBUF_HEADROOM +
-			dev->data->dev_conf.rxmode.max_rx_pkt_len;
+			dev->data->dev_conf.rxmode.max_rx_pkt_len +
+			crc_size;
 		unsigned int sges_n;
 
 		/*
-- 
1.7.1

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-11-12  7:08 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-11-09 16:04 [dpdk-stable] [PATCH] net/mlx5: fix number of segment calculation Ori Kam
2017-11-09 22:30 ` Yongseok Koh
2017-11-10 10:22   ` Adrien Mazarguil
2017-11-10 21:42     ` Yongseok Koh
2017-11-10 10:06 ` Adrien Mazarguil
2017-11-10 21:22   ` Yongseok Koh
2017-11-12  7:08     ` Ori Kam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).