From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [74.208.4.200]) by dpdk.org (Postfix) with ESMTP id E41E95948 for ; Tue, 18 Feb 2014 11:26:26 +0100 (CET) Received: from mailout-us.gmx.com ([172.19.198.46]) by mrigmx.server.lan (mrigmxus002) with ESMTP (Nemesis) id 0MMns3-1WMZOi1COd-008ZBM for ; Tue, 18 Feb 2014 11:27:51 +0100 Received: (qmail 536 invoked by uid 0); 18 Feb 2014 10:27:51 -0000 Received: from 188.219.172.131 by rms-us016 with HTTP Date: Tue, 18 Feb 2014 05:27:49 -0500 From: "Mario Gianni" Message-ID: <20140218102749.270040@gmx.com> MIME-Version: 1.0 To: dev@dpdk.org X-Flags: 0001 X-Mailer: GMX.com Web Mailer x-registered: 0 X-GMX-UID: 8lBxcxgI3zOl2w14bXghAQ1+IGRvbwDa Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: [dpdk-dev] problem with rte_pktmbuf_prepend (possible bug?) X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 18 Feb 2014 10:26:27 -0000 Hi all, I'm experimenting some code with DPDK v1.5.0 and I have the following 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 client 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 behaviour: In a first time it seems to work correctly, then after a certain number of received packets (approximately the same number as the number of mbufs present in the mempool) if I call the rte_pktmbuf_headroom it returns that 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 time 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 prepend/free function? Thank you, Mario