From mboxrd@z Thu Jan 1 00:00:00 1970 From: Olivier MATZ Subject: Re: rte_pktmbuf_alloc fails Date: Mon, 07 Apr 2014 09:26:36 +0200 Message-ID: <4032649.DyNZWczOjm@platinum> References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: Meir Tseitlin To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" 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