All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] librte_port: fix mbuf allocation in source port
@ 2015-11-30 20:41 Fan Zhang
  2015-11-30 20:41 ` [PATCH] librte_port: fix sink port statistics Fan Zhang
  2015-12-06 23:25 ` [PATCH] librte_port: fix mbuf allocation in source port Thomas Monjalon
  0 siblings, 2 replies; 4+ messages in thread
From: Fan Zhang @ 2015-11-30 20:41 UTC (permalink / raw)
  To: dev

Fixes the mbuf allocation not initialized problem. This problem will cause
the mbufs not be able to freed back to mempool by rte_pktmbuf_free().

The problem was introduced by commit "Packet Framework librte_port: Source
/Sink ports" (commit id ef3403fb6f9a3c4b730d2e4fbe7ddc0291ffa992)

Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
---
 lib/librte_port/rte_port_source_sink.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/lib/librte_port/rte_port_source_sink.c b/lib/librte_port/rte_port_source_sink.c
index 234ab18..5e10144 100644
--- a/lib/librte_port/rte_port_source_sink.c
+++ b/lib/librte_port/rte_port_source_sink.c
@@ -105,10 +105,16 @@ static int
 rte_port_source_rx(void *port, struct rte_mbuf **pkts, uint32_t n_pkts)
 {
 	struct rte_port_source *p = (struct rte_port_source *) port;
+	uint32_t i;
 
 	if (rte_mempool_get_bulk(p->mempool, (void **) pkts, n_pkts) != 0)
 		return 0;
 
+	for (i = 0; i < n_pkts; i++) {
+		rte_mbuf_refcnt_set(pkts[i], 1);
+		rte_pktmbuf_reset(pkts[i]);
+	}
+
 	RTE_PORT_SOURCE_STATS_PKTS_IN_ADD(p, n_pkts);
 
 	return n_pkts;
-- 
2.5.0

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

end of thread, other threads:[~2015-12-06 23:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-30 20:41 [PATCH] librte_port: fix mbuf allocation in source port Fan Zhang
2015-11-30 20:41 ` [PATCH] librte_port: fix sink port statistics Fan Zhang
2015-12-06 23:25   ` Thomas Monjalon
2015-12-06 23:25 ` [PATCH] librte_port: fix mbuf allocation in source port Thomas Monjalon

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.