From owner-freebsd-net@FreeBSD.ORG Thu Jul 17 18:39:34 2014 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id CDE5D307 for ; Thu, 17 Jul 2014 18:39:34 +0000 (UTC) Received: from a0i308.smtpcorp.com (a0i308.smtpcorp.com [216.22.15.140]) (using TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8ED1823CC for ; Thu, 17 Jul 2014 18:39:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=smtpcorp.com; s=a0_1; h=Content-Type:MIME-Version:Message-ID:In-Reply-To:Date:References:Subject:Cc:To:From; bh=jB3Y6nsqvhpkqVtuMs6Gn9SmJ8PAQNloHz9RmV7tRt8=; b=XPz/2aOa54FtmqRfQrggpv5SQ0Hid4MKaZz4cpUmF023TBQ/qmGvppqEdN38J9vd+5joQb0uPtGaOAHsty+bGaXwFFxBVnuuTIRxKz7EE5yRsZVc0leu4GbhtDNoeJq2gbXBv2EuFn81pP/+aYc1lA68isU0dE17KVdes77EdXA=; From: Daniel Corbe To: Jan Bramkamp Subject: Re: netmap, selective processing. References: <53C71196.4030501@rlwinm.de> Date: Thu, 17 Jul 2014 14:39:13 -0400 In-Reply-To: <53C71196.4030501@rlwinm.de> (Jan Bramkamp's message of "Thu, 17 Jul 2014 01:58:14 +0200") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (berkeley-unix) MIME-Version: 1.0 Content-Type: text/plain X-Smtpcorp-Track: 1b7qal4gfuSHlT.yUhfk05hs Cc: freebsd-net@freebsd.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 17 Jul 2014 18:39:34 -0000 Jan Bramkamp writes: > On 16.07.2014 19:48, Daniel Corbe wrote:> >> I hope this it the right place to ask questions about netmap. I'm >> toying with the idea of writing a netmap-based OSPF implementation >> because bird's OSPF implementation isn't as good as its BGP >> implementation, quagga doesn't scale well and openospfd doesn't compile >> on 10-RELEASE or CURRENT. > > How many prefixes do you have in your OSPF area 0? If you run into > scalability problems with OSPF on current x86 CPUs your network design > probably is the cause of the problem e.g. redistributing announcements > from BGP into OSPF. I have about 15k interior routes. And most of it is RFC1918 address space or random /64s doing various things. So when I say I'm worried about scale issues, I should more accurately be saying "I just don't want to use quagga but I can't get anything else to work." > > OSPF is just one more (rather ugly) IP protocol. Is moving the OSPF > packets between kernel and userspace really a problem worth optimizing > for? Putting netmap between the NIC and the kernel IP stack introduces > overhead to all non OSPF packets unless your netmap application also > implements IP routing and bypasses the kernel. I've been searching for a reason to play with netmap. It looks like a neat toy. And at worst I will have implemented something only useful to one person but I'll also have learned something in the process. >From the perspective of totally wrecking the performance of the host network stack: how much more overhead am I really introducing by looking at every packet inside of the netmap framework and going "am I really interested in this? Or should I simply pass it through to the host." And I'm hoping this leads me down the avenue of doing interesting things with MPLS. MPLS is something that absolutely needs to look at everything because labels should always be processed and forwarded first. -Daniel