[RFC] IPv6 ifaddr hash

Andrey V. Elsukov ae at FreeBSD.org
Fri Dec 7 12:27:50 UTC 2012


Hi All,

We have discovered that ipfw(4) shows very low performance results with
our rules. One of the biggest problems is rules with O_IP6_XXX_ME
opcode. They checks match or not match packet's addresses with locally
configured IPv6 addresses.

For IPv4 we have an in_ifaddr hash for the quick search an address, but
not for the IPv6. So, I have implemented the first patch based on the
code for the IPv4, but there are several questions I want to discuss.

The patch is here:
	http://people.freebsd.org/~ae/in6_ifaddrhash.diff

1. The hash size. I made it the same what IPv4 has. But I think 512
buckets is too many.

2. What hash function is better to use?

3. Using the whole 128 bit of address to hash seems like overkill.

-- 
WBR, Andrey V. Elsukov


More information about the freebsd-net mailing list