From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ig0-x235.google.com (mail-ig0-x235.google.com [IPv6:2607:f8b0:4001:c05::235]) by dpdk.org (Postfix) with ESMTP id 4264E3F9 for ; Tue, 7 Jan 2014 14:02:45 +0100 (CET) Received: by mail-ig0-f181.google.com with SMTP id k19so1567297igc.2 for ; Tue, 07 Jan 2014 05:03:56 -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=qD94f8b+j+7mXFHKbWIjYafYKdit+m5gdBRehRbpkzo=; b=Whb0g5D9RXJ+9REQc3FDBsAgoDrXaC8oDRe7DDDs7UQjd4gsCeWpyEBkuAtLT2EmYW gEL/2I+Law60XfJPKgkJJ4TUadOgPYJfFpJgw4OmF6/TEipXDC0+WFpCV8bDYW7tsk69 M8RKi/xKmuF404EoT/C7i6HcfPlIBLBDwlx2GeT5fDsI0DCoiBXeF/OPIaX+ILHvze3s ZAP8g25Q6bBbATvMOeKMSWistI/zHrdyzg5B3hqyiM31CvEaVOd81h9hPbRGDPL4OJG2 BWfjbLJ5eWTF1ke0265pyrxuQPkqiA35hr+dbpIQppLUfA5P9ym9AsVJr+VabQiXLhwB QwrQ== MIME-Version: 1.0 X-Received: by 10.50.122.3 with SMTP id lo3mr25309156igb.30.1389099836757; Tue, 07 Jan 2014 05:03:56 -0800 (PST) Received: by 10.64.89.67 with HTTP; Tue, 7 Jan 2014 05:03:56 -0800 (PST) Received: by 10.64.89.67 with HTTP; Tue, 7 Jan 2014 05:03:56 -0800 (PST) In-Reply-To: <52CBBC6F.6030401@6wind.com> References: <52CACA17.7000202@6wind.com> <52CBBC6F.6030401@6wind.com> Date: Tue, 7 Jan 2014 08:03:56 -0500 Message-ID: From: Stefan Baranoff To: Ivan Boule Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: dev@dpdk.org Subject: Re: [dpdk-dev] Redirection Table 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, 07 Jan 2014 13:02:45 -0000 All, Does this mean that an application looking at traffic in something like an IP/IP or GRE tunnel with only two endpoints on the tunnels but many clients behind them must do software load balancing as the packets would IP only (not TCP/UDP) with the same two addresses? How much of a penalty is there for crossing processor boundaries in that case and might a 1 CPU server, while less core dense, actually give better performance/watt? Thanks, Stefan Sent from my smart phone; people don't make typos, Swype does! On Jan 7, 2014 3:36 AM, "Ivan Boule" wrote: > On 01/06/2014 05:52 PM, Michael Quicquaro wrote: > >> Thanks for the details. Can the hash function be modified so that I can >> provide my own RSS function? i.e. my ultimate goal is to provide RSS that >> is not dependent on packet contents. >> > No, the RSS function is "hard-wired" and only works on IPv4/IPv6 packets. > All other packets are stored in the same queue (0 by default). > You can change the RSS key used by the RSS function to compute the hash > value. > See the following testpmd command: > > port config X rss-hash-key <80 hexa digits> > > to set the 320-bit RSS key of port X. > > Best regards, > Ivan > > You may have seen my thread "generic load balancing". At this point, I'm >> realizing that the only way to accomplish this is to let the packets land >> where they may (the queue where the NIC places the packet) and distribute >> them (to other queues) by having some of the CPU processing devoted to this >> task. Can you verify this? >> >> Regards, >> - Michael. >> >> >> On Mon, Jan 6, 2014 at 10:21 AM, Ivan Boule > ivan.boule@6wind.com>> wrote: >> >> On 12/31/2013 08:45 PM, Michael Quicquaro wrote: >> >> Has anyone used the "port config all reta (hash,queue)" >> command of testpmd >> with any success? >> >> I haven't found much documentation on it. >> >> Can someone provide an example on why and how it was used. >> >> Regards and Happy New Year, >> Michael Quicquaro >> >> Hi Michael, >> >> "RETA" stands for Redirection Table. >> It is a per-port configurable table of 128 entries that is used by the >> RSS filtering feature of Intel 1GbE and 10GbE controllers to >> select the >> RX queue into which to store a received IP packet. >> When receiving an IPv4/IPv6 packet, the controller computes a 32-bit >> hash on: >> >> * the source address and the destination address of the IP header of >> the packet, >> * the source port and the destination port of the UDP/TCP >> header, if any. >> >> Then, the controller takes the 7 lower bits of the RSS hash as an >> index >> into the RETA table to get the RX queue number where to store the >> packet. >> >> The API of the DPDK includes a function that is exported by Poll Mode >> Drivers to configure RETA entries of a given port. >> >> For test purposes, the testpmd application includes the following >> command >> >> "port config X rss reta (hash,queue)[,(hash,queue)]" >> >> to configure RETA entries of a port X, with each couple (hash,queue) >> contains the index of a RETA entry (between 0 and 127 included) >> and the >> RX queue number (between 0 and 15) to be stored into that RETA entry. >> >> Best regards >> Ivan >> >> -- Ivan Boule >> 6WIND Development Engineer >> >> >> > > -- > Ivan Boule > 6WIND Development Engineer > >