[dpdk-dev] rte_pktmbuf_alloc fails

Olivier MATZ olivier.matz at 6wind.com
Mon Apr 7 09:26:36 CEST 2014


Hi Meir,

On Tuesday, April 01, 2014 02:53:47 PM Meir Tseitlin wrote:
> I think I found the problem - it was solved by manually calling
> rte_pktmbuf_free for each packet.
> It seems that rte_pktmbuf_free is not automatically called from
> within rte_eth_tx_burst if packets are sent to pcap device.

By looking at the eth_pcap_tx(pkts, nb_pkts) function, I think it may not work
properly. I think it should return nb_pkts instead of num_tx. Indeed, if
pcap_sendpacket() fails -- I don't know in which case it can occur -- the
function will return a number lower than nb_pkts, causing a caller like
l2fwd_send_burst() to free some mbufs. But all mbufs are already freed
by eth_pcap_tx().

I don't know if it's related to your problem but it may help.

Regards,
Olivier



More information about the dev mailing list