From owner-freebsd-net@freebsd.org Mon Jun 29 17:55:23 2015 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 535E7990D38 for ; Mon, 29 Jun 2015 17:55:23 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from zxy.spb.ru (zxy.spb.ru [195.70.199.98]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 0E35C16A1; Mon, 29 Jun 2015 17:55:23 +0000 (UTC) (envelope-from slw@zxy.spb.ru) Received: from slw by zxy.spb.ru with local (Exim 4.84 (FreeBSD)) (envelope-from ) id 1Z9dH5-0007M9-NJ; Mon, 29 Jun 2015 20:55:19 +0300 Date: Mon, 29 Jun 2015 20:55:19 +0300 From: Slawa Olhovchenkov To: Adrian Chadd Cc: Navdeep Parhar , FreeBSD Net Subject: Re: netmap custom RSS and custom packet info Message-ID: <20150629175519.GJ1647@zxy.spb.ru> References: <20150629151750.GD1647@zxy.spb.ru> <55917B43.70904@FreeBSD.org> <20150629171930.GH1647@zxy.spb.ru> <20150629173402.GI1647@zxy.spb.ru> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) X-SA-Exim-Connect-IP: X-SA-Exim-Mail-From: slw@zxy.spb.ru X-SA-Exim-Scanned: No (on zxy.spb.ru); SAEximRunCond expanded to false X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Jun 2015 17:55:23 -0000 On Mon, Jun 29, 2015 at 10:41:39AM -0700, Adrian Chadd wrote: > Hi, > > PPPoE will not be hashed according to RSS on the 1g/10g (igb, ixgbe) > intel hardware. you're going to have to figure out some other method > for traffic redistribution. I propose ephemeral but permanent NETMAP RX pipe with redistribution function from user-loadable kernel module. Hardware RxRing(i) => loadable hash => user-visible RxRing(j). As I perceive overhead is packet-parsing and hash computation + swaping of slot indexes (zero-copying between hardware ring and user-visible ring). In other (Tx) direction user-visible direct mapped to hardware ring. > If it's inside GRE, then it's IPv4/IPv6 and thus yes, you can do > symmetric hashing. But if it's raw pppoe coming in, you're SoL. This is will be only hashed tunnel IPs, yes? Not sessions inside tunnel.