Subject: Re: How to use properly ipv6 autoconf over a router interface?
To: der Mouse <mouse@Rodents.Montreal.QC.CA>
From: JINMEI Tatuya / =?ISO-2022-JP?B?GyRCP0BMQEMjOkgbKEI=?= <jinmei@isl.rdc.toshiba.co.jp>
List: tech-net
Date: 05/16/2006 22:58:50
>>>>> On Tue, 16 May 2006 09:07:33 -0400 (EDT), 
>>>>> der Mouse <mouse@Rodents.Montreal.QC.CA> said:

>> Apparently you are talking about a behavior of a
>> half-router/half-host node, that is, a node that works as a router on
>> some subset of its interfaces and works as a host on the other set of
>> interfaces.  [...]  The KAME/BSD currently does not support this
>> behavior on purpose, due to concerns about possible implementation
>> complexity.  I don't know if the concern is a FUD or there is any
>> essential issue due to the BSD's networking architecture that makes
>> it impossible.

> Well, for one thing, in stock BSD there is only one "forwarding"
> switch.  If you turn it on, then the machine will forward packets
> between any two of its interfaces.  While there are hacks that can
> extend this - I've added flags that can be set on an interface to
> prevent forwarding packets to or from that interface - the stock design
> does not have any way to set up what you describe.

I understand that.

> If that's what you're talking about.  It's not entirely clear to me
> that it is, though, since I can't see anything wrong with a router
> autoconfiguring an interface.  (For example, a machine autoconfigures
> interface A and statically configures interface B; it then speaks some
> routing protocol to advertise its B-side subnet to those on its A side.
> I can see such a thing being useful in, say, a small-static-subnet ISP
> environment, where customer-facing routers advertise the small subnets
> they're connected to to the rest of the ISP's core network.)

Spec-wise, RFC2462 does not explicitly allow a router to configure a
global address on one of its interfaces receiving an RA from other
routers, although it doesn't prohibit such a behavior either:

   Once a node ascertains that its tentative link-local address is
   unique, it assigns it to the interface. At this point, the node has
   IP-level connectivity with neighboring nodes.  The remaining
   autoconfiguration steps are performed only by hosts; the
   (auto)configuration of routers is beyond the scope of this document.
(Section 4 of RFC2462)

To be clear, BTW, I personally do not have a strong opinion about what
should be done in the NetBSD kernel.  I simply tried to clarify what
is written in the specification about this issue (and the background
story when the IETF discussed it) and what is implemented in the
current kernel, because such information seems to be sought in this
thread.

					JINMEI, Tatuya
					Communication Platform Lab.
					Corporate R&D Center, Toshiba Corp.
					jinmei@isl.rdc.toshiba.co.jp