From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pa0-f45.google.com (mail-pa0-f45.google.com [209.85.220.45]) by dpdk.org (Postfix) with ESMTP id F13216A8B for ; Wed, 10 Dec 2014 12:31:27 +0100 (CET) Received: by mail-pa0-f45.google.com with SMTP id lf10so2035702pab.18 for ; Wed, 10 Dec 2014 03:31:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=onP/2yQtn3bs6gjG68jwaAJdTgn+dkXOJt7ha4EjB6s=; b=nKxhlGe6C/JmKlO1RgAIIJvvKlZp+QGnyIptJniBYtDFGr0LkBOzcA2A3Rx7IbhdxB 9nSNoCD2e6nHdYqrVFawfgJ1FqI2KPxP/I0C3JOpht5L3uAx26/xbnesCPYoOPZOfZeF faJnRlhNaI4ldbQIpMF5fHNnsenjqkr+Y2gJlIEftah3VkjtNH3Bn48BhH4h2MSNs1Mz qztdj+wQLJjSxGi9yYiNzmgDNHsQ9D8CMLPmQ/WY8GU3tlyTqYt7FDpU5X68uccKjTKa ubdNxiFn2GGoIAqKBkkrA95pkiTNmH3Np7o8tLMxzzkV5loeY7NFDT88qt7AT43ypQC/ vmRg== MIME-Version: 1.0 X-Received: by 10.66.248.6 with SMTP id yi6mr6450930pac.120.1418211087219; Wed, 10 Dec 2014 03:31:27 -0800 (PST) Received: by 10.70.4.162 with HTTP; Wed, 10 Dec 2014 03:31:27 -0800 (PST) In-Reply-To: <20141210112233.GC10056@bricha3-MOBL3> References: <20141210112233.GC10056@bricha3-MOBL3> Date: Wed, 10 Dec 2014 12:31:27 +0100 Message-ID: From: Sachin Sharma To: Bruce Richardson Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] transmit functions of dpdk 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: Wed, 10 Dec 2014 11:31:28 -0000 Hi Bruce, In my use case, I want to have three NIC TX queues per port, and want to fill one NIC TX queue and want to empty the other queue. Is it possible this through tx_burst or do I need to implement these queues in applications as you suggested before. However, in this case, I would have then one NIC TX queues and three queues in an application which actually transmits packets to this NIC TX queue. Am I right? Thanks, Sachin. On Wed, Dec 10, 2014 at 12:22 PM, Bruce Richardson < bruce.richardson@intel.com> wrote: > On Wed, Dec 10, 2014 at 12:03:41PM +0100, Sachin Sharma wrote: > > Dear all, > > > > In my algorithm, I am interested to perform two activities - (1) > > transmitting packets to a tx_queue and (2) transmitting packets from > > tx_queue to a wire - separately. I have gone through the code by putting > > logs in the dpdk code and found that there is a function rte_eth_tx_burst > > which transmits packets to a specific queue. However, when I debugged > more > > then I found that this function just calls eth_igb_xmit_pkts > > from librte_pmd_e1000, and this function just directly write the packets > to > > the wire by writing all packets into registers. Could you please suggest > > how to implement these two functions if these are not implemented already > > in dpdk? > > > > > > > > Thanks & Regards, > > Sachin. > > Hi Sachin, > > anything written to the NIC TX queue is automatically put onto the wire > unless > the NIC port is down or the wire is unplugged etc. What is your use-case > that you > need to do this? I would suggest doing internal buffering in your > application, > as many DPDK example applications do, and then call tx_burst to put your > packets > on the wire when you want this capability. > > Regards, > /Bruce >