Subject: Re: IPv6 autoconfig for a multi-interface host
To: Steven M. Bellovin <smb@cs.columbia.edu>
From: Robert Elz <kre@munnari.OZ.AU>
List: tech-net
Date: 01/16/2005 02:57:19
    Date:        Fri, 14 Jan 2005 15:47:53 -0500
    From:        "Steven M. Bellovin" <smb@cs.columbia.edu>
    Message-ID:  <20050114204753.590F23BFEEE@berkshire.machshav.com>

  | I just skimmed draft-ietf-ipv6-rfc2462bis-07.txt, the current draft for 
  | IPv6 autoconfig.  I saw nothing in it that prohibits its use on 
  | multi-interface hosts.

No, there never has been.

What has existed (haven't scanned the current draft, I guess I should),
is something saying that multiple interfaces are for further study - which
really means, that no-one has yet worked out how to choose the default
router when there are multiple interfaces.

For the normal case, of a "properly" configured network, it should really
make no difference which router is selected (which of several on a lan, or
which lan of several) - aside possibly from some minor performance issues
(multiple lans make those a bit worse).

But there are pathological cases where it really makes a difference which
lan is selected for the default route.   No-one with even half a brain would
expect auto-config to detect those by itself, manual config is required.
But the doc is auto-config, a host on such a pathological net, with multiple
interfaces, cannot auto-config its default router by any defined method.

So, "for future study".

This would all be OK, except some people treat "definition isn't 100%
complete" as "you cannot do that", which is what causes the confusion.

With NetBSD, the only issue is that the man page for rtsol[d] is stupid,
and claims that (with -a) rtsold won't probe multiple interfaces.   It does
(the man page is bogus - or really, reflects a previous reality).

Just use -a for the rtsol[d] flags, and if you're not linked to a pathological
network (a LAN that has no path to the world - or no path that works for the
host in question) all will simply work.

I have been doing this for years... (even before -a worked, using other
methods.)

kre

[Aside: the change to permit -a to work with multiple interfaces appears to
have been made in version 1.14 of rtsold.c (May 2002, it isn't new) - for which
the CVS log entry is the highly illuminating "KNF, from openbsd via kame".
This is (obviously) in 2.0, but isn't in the 1.6 branch.]