From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: rte_pktmbuf_alloc fails Date: Thu, 17 Apr 2014 17:00:54 +0200 Message-ID: <2441602.aZ8JVAEsGZ@xps13> References: <4032649.DyNZWczOjm@platinum> <2601191342CEEE43887BDE71AB9772580EF94DE9@IRSMSX105.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev-VfR2kkLFssw@public.gmane.org To: "Ananyev, Konstantin" Return-path: In-Reply-To: <2601191342CEEE43887BDE71AB9772580EF94DE9-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org> 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 Konstantin, 2014-04-07 08:53, Ananyev, Konstantin: > Yep indeed, there is a bug in eth_pcap_tx() that can cause mbuf corruption. > I think it should be something like that instead: > > --- a/lib/librte_pmd_pcap/rte_eth_pcap.c > +++ b/lib/librte_pmd_pcap/rte_eth_pcap.c > @@ -205,8 +205,9 @@ eth_pcap_tx(void *queue, > mbuf = bufs[i]; > ret = pcap_sendpacket(tx_queue->pcap, (u_char*) > mbuf->pkt.data, mbuf->pkt.data_len); > - if(likely(!ret)) > - num_tx++; > + if(unlikely(ret != 0)) > + break; > + num_tx++; > rte_pktmbuf_free(mbuf); > } Please could you send a patch with a commit log as described in http://dpdk.org/dev#send ? Thanks -- Thomas