DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] examples/l2fwd-keepalive: fix packet drops limited mbufs
@ 2020-03-11 12:04 Louise Kilheeney
  2020-03-13  3:07 ` [dpdk-dev] [dpdk-stable] " Jiang, MaoX
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Louise Kilheeney @ 2020-03-11 12:04 UTC (permalink / raw)
  To: dev; +Cc: Louise Kilheeney, stable

MBUF pool of size 8192 was causing packet loss when using four ports. To
fix this issue this patch specifies the number of MBUF's per port
instead of having one set MBUF pool size, this way it will adapt to any
number of ports.

Fixes: e64833f2273a ("examples/l2fwd-keepalive: add sample application")

Cc: stable@dpdk.org

Signed-off-by: Louise Kilheeney <louise.kilheeney@intel.com>
---
 examples/l2fwd-keepalive/main.c | 17 ++++++++++-------
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index b36834974..0f0010d51 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -44,7 +44,7 @@
 
 #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1
 
-#define NB_MBUF   8192
+#define NB_MBUF_PER_PORT 3000
 
 #define MAX_PKT_BURST 32
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
@@ -561,16 +561,19 @@ main(int argc, char **argv)
 	if (ret < 0)
 		rte_exit(EXIT_FAILURE, "Invalid L2FWD arguments\n");
 
-	/* create the mbuf pool */
-	l2fwd_pktmbuf_pool = rte_pktmbuf_pool_create("mbuf_pool", NB_MBUF, 32,
-		0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());
-	if (l2fwd_pktmbuf_pool == NULL)
-		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool\n");
-
 	nb_ports = rte_eth_dev_count_avail();
 	if (nb_ports == 0)
 		rte_exit(EXIT_FAILURE, "No Ethernet ports - bye\n");
 
+	/* create the mbuf pool */
+	unsigned int total_nb_mbufs = NB_MBUF_PER_PORT * nb_ports;
+
+	l2fwd_pktmbuf_pool = rte_pktmbuf_pool_create("mbuf_pool",
+		total_nb_mbufs,	32, 0, RTE_MBUF_DEFAULT_BUF_SIZE,
+		rte_socket_id());
+	if (l2fwd_pktmbuf_pool == NULL)
+		rte_exit(EXIT_FAILURE, "Cannot init mbuf pool\n");
+
 	/* reset l2fwd_dst_ports */
 	for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++)
 		l2fwd_dst_ports[portid] = 0;
-- 
2.17.1


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

end of thread, other threads:[~2020-05-11 16:16 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-11 12:04 [dpdk-dev] [PATCH] examples/l2fwd-keepalive: fix packet drops limited mbufs Louise Kilheeney
2020-03-13  3:07 ` [dpdk-dev] [dpdk-stable] " Jiang, MaoX
2020-04-26 21:13   ` Thomas Monjalon
2020-04-26 21:12 ` Thomas Monjalon
2020-04-27  1:38 ` Jiang, MaoX
2020-04-27 14:57 ` [dpdk-dev] [PATCH v2] " Louise Kilheeney
2020-04-29  2:29   ` Xie, WeiX
2020-05-11 16:16   ` [dpdk-dev] [dpdk-stable] " Thomas Monjalon

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).