Subject: Re: IPv6 autoconfig for a multi-interface host
To: Steven M. Bellovin <firstname.lastname@example.org>
From: Robert Elz <kre@munnari.OZ.AU>
Date: 01/16/2005 02:57:19
Date: Fri, 14 Jan 2005 15:47:53 -0500
From: "Steven M. Bellovin" <email@example.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
[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.]