Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 07 Dec 2012 16:27:06 +0400
From:      "Andrey V. Elsukov" <ae@FreeBSD.org>
To:        freebsd-net@freebsd.org, freebsd-ipfw <freebsd-ipfw@freebsd.org>
Cc:        melifaro@FreeBSD.org
Subject:   [RFC] IPv6 ifaddr hash
Message-ID:  <50C1E09A.5050301@FreeBSD.org>

Next in thread | Raw E-Mail | Index | Archive | Help
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



Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?50C1E09A.5050301>