Subject: Re: default route and private networks
To: David Young <dyoung@pobox.com>
From: Jonathan Stone <jonathan@dsg.stanford.edu>
List: tech-net
Date: 04/14/2005 13:50:05
It's perhaps worth repeating, in case David hasn't seen it:

For ome years now, I have possessed and privately deployed patches to
the BSD IP/TCP stack which implement both a ``strong host'' model, and
also an API which lets applications explicitly bind outbound traffic
of a specific sockets sockets to some specific local interface.

This implementation was inspired, _very_ loosely, by the Linux
SO_BINDTODEV ioctl which I suggested several years ago to Eliot Poger,
and which Eliot iplmented at Stanford.  (I have some faint hopes it
would meet what Ted Lemon once needed for ISC DHCP, but I've never
actually tried that).

My implemenation reuses the pre-existing machinery for binding
multicast IP sockets to specific interfaces; and thus it sits in the
IP layer, not acutally at the socket layer.  Receive-side filtering is
thus, necessariliy done at the IP layer and not at the socket layer
as(if memory serves) in the SO_BINDTODEV Linux code.

I also abused the IP-multicast ioctl()s to allow binding by IP(v4) address.

My experience is that such an API, combined with applications aware of
it, is a *much* better solution than bogusly glomming IPv6 semantics
onto IPv4, and igonring the inherent impedance mismatch between IPv4 and IPv6.

There's absoluety no way in Hell that I will buy David's suggestion as
acceptable default NetBSD behaviour -- which is what David's ``should''
statment seems to imply.