port: fix mbuf allocation in source port
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().
Fixes: ef3403fb6f
("port: source and sink")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
This commit is contained in:
parent
3de5105468
commit
3064c3955b
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user