Subject: IPv6 Fast Forward
To: None <tech-net@netbsd.org, tech-kern@netbsd.org,>
From: Liam J. Foy <liamfoy@sepulcrum.org>
List: tech-kern
Date: 02/28/2007 20:35:13
Hello folks,

The following patch integrates IPv6 Fast Forward into the
NetBSD kernel. It should apply to current just fine - if not
it'll be some minor nit which you can just directly report
to me and I'll roll a new patch.

ftp://ftp.netbsd.org/pub/NetBSD/misc/liamjfoy/ip6_flow.c.diff

You can control it via a new sysctl:

	sysctl -w net.inet6.ip6.forwarding=1 <- of course
	sysctl -w net.inet6.ip6.maxflows=256 <- new sysctl

(ip6.maxflows has a default of 256). Also, remember to build
your kernel with GATEWAY. ip6.maxflows of course controls how
many flows can be created.

Basically:

IPv6 Fast Forward increases forwarding speed (especially on low
powered CPUs in embedded devices) by hashing/caching the
flow (a flow being from a src to a dst). You are basically limited by
the network card/driver. This is available in IPv4 and IPv6.

Thanks to matt@, joerg@ and christos@ for initial review (as always).

Usual paypal donations for a poor 19 year old student go to
liamfoy@sepulcrum.org

;-)

		---
		Liam J. Foy
		<liamjfoy@netbsd.org>