[6bone] ifconfig and EUI-64

Francis Dupont Francis.Dupont@enst-bretagne.fr
Wed, 12 Jun 2002 19:11:29 +0200


 In your previous mail you wrote:

     | => no, for instance in KAME you have to recompile the kernel with
     | "options IP6_AUTO_LINKLOCAL=0"...
   
   Then what you mean isn't what you said, I use KAME, and I have lots
   of link local addresses, and I never knew that option existed.
   
=> this option is not documented but gives a way to disable the
automatic (i.e. out of control) generation of a link-local address
when an interface comes up.

   I suspect that what you mean is "not automatically generate a link
   local based upon the IID" but that's a different thing to
   "explicitly set the link local address".
   
=> this is a matter of wording: my idea is the IID doesn't exist by itself.
And I assume that to have a link-local address is equivalent to have IPv6
enabled on the interface.

     | => on a reasonable system to set the link-local address or the IID are
     | equivalent.
   
   Only if you make the assumption that there is only one link-local address.
   That's not a reasonable assumption I don't think.   There's no reason not
   to have several.
   
=> but there is no need to have several too...

   eg: In general I prefer regular auto-config'd addresses (EUI-64 and all
   that in the IID).

=> I agree but I'd like to have the control for the rare cases where
something else is better.

   But for debugging (ping of the address, etc) it is
   nice if they also have nice easy to use LL addresses, like fe80::1 fe80::2
   and such, so I just go assign those.   It can also be convenient to have
   fe80::a.b.c.d where a.b.c.d is the IPv4 address assigned to the interface,
   as that's then a real easy way to match things, and know which is which
   (from the ancient past, I tend to simply know what IPv4 addr applies to
   every system around).
   
=> when cut&paste is not available fe80::1, ..., are very convenient.

   But I want only one IID for the interface - which one of those should
   the kernel pick, if it was to treat them as equivalent.
   
=> this is the point we disagree: I want only one link-local for the
interface and the (unique) IID is taken from the link-local.
I don't believe the result will be very different but this is not exactly
the same thing.

     | => the subject of this thread is the extension of this to the ifconfig
     | command.
   
   Yes, I know, what I would like to be able to do is
   
   	ifconfig interface inet6 iid 77
   
   and if I do that before anything else has enabled IPv6 on the interface,
   it should simply use "77" (which would be a hex string with an arbitrary
   number of :'s up to 5, with an implied (maybe required explicit) leading ::)
   when it first enabled the interface and configures its first link local.
   
   Being able to specify "prefix xxx::" I would also like.   The "iid" is
   mostly for hosts, "prefix" for routers (iid for routers too, but specifying
   both iid and prefix is just the same as specifying the whole address on
   a router, which doesn't get more prefixes from RAs).
   
=> I write this "ifconfig interface inet6 fe80::77/64" and
"ifconfig interface inet6 xxx::/plen eui64 alias".
As I've said our disagreement is only about details...

Regards

Francis.Dupont@enst-bretagne.fr

PS: for an obscure reason KAME /etc/rc.network6 script supports full addresses
and prefixes but in the wrong order...