Subject: Re: Lots of ip addr aliases, best way?
To: Thor Lancelot Simon <tls@rek.tjls.com>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-net
Date: 09/25/2002 13:15:15
On Wed, 25 Sep 2002, Thor Lancelot Simon wrote:

> On Wed, Sep 25, 2002 at 11:46:52AM -0400, Greg A. Woods wrote:
>
> There should be no problem; when we initially wrote the interface-address
> hashing code, we tested with 64K aliases and it worked fine.  You'll want
> to increase the number of buckets int he ifaddr hash in your kernel config
> for good performance.
>
> However, when we wrote that code someone (Bill Studenmund?) proposed an

Sounds interesting, but I didn't do it. I suspect it was Bill Sommerfeld,
though I am not sure (if it were one of the Bills, he's the most likely
one).

> alternate path that we didn't take -- and perhaps should have.  It would
> not be very invasive and would be ideally suited to problems like yours.
> Instead of storing just an address and netmask for each interface address,
> perhaps we should store an "address mask", which would be defined so that
> any address falling within the "address mask" when applied to the address
> would be accepted as local.  That way you could have an interface with
> address 10.0.0.9/16 (let's say) which would accept packets for any address
> that fell within the 10.0.0.0/16 network.  Obviously, you would have to
> watch our for dependencies on "interface address" in the transmit path
> and be sure to use the address to which a given socket was bound (which
> could be anything within the "address mask").
>
> This could probably be whacked together in an afternoon.  _This_ afternoon,
> however, I intend to climb some nice warm Sierra granite, which is how I
> intend to spend most of my afternoons for at least the rest of the week.
> But don't let that stop you from writing the code. ;-)
>
> --
>  Thor Lancelot Simon	                                      tls@rek.tjls.com
>    But as he knew no bad language, he had called him all the names of common
>  objects that he could think of, and had screamed: "You lamp!  You towel!  You
>  plate!" and so on.              --Sigmund Freud
>