From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Mario Gianni" Subject: problem with rte_pktmbuf_prepend (possible bug?) Date: Tue, 18 Feb 2014 05:27:49 -0500 Message-ID: <20140218102749.270040@gmx.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable To: dev-VfR2kkLFssw@public.gmane.org Return-path: 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 all, I'm experimenting some code with DPDK v1.5.0 and I have the follo= wing problem: I have a thread that receives packets from NIC, once I received a packet = I want to prepend some data to it and I try to do so through the function= rte_pktmbuf_prepend() then the packet is enqueued in a ring buffer where it will be used by a c= lient thread before being dropped through the function rte_pktmbuf_free()= called by the client thread. Now, if I try to send packets to this program I have the following behavi= our: In a first time it seems to work correctly, then after a certain number o= f received packets (approximately the same number as the number of mbufs = present in the mempool) if I call the rte_pktmbuf_headroom it returns tha= t the headroom is shrinking more than the expected, until after a certain= number of packets the headroom goes to zero. It seems like that when I call the rte_pktmbuf_free() function it doesn't= reset the data position inside the mbuf, so when I call for a second tim= e the mbuf the headroom continues to shrink until it finishes. Do you have any idea of this strange behaviour?Could it be a bug in the p= repend/free function? Thank you, Mario