Subject: Re: EUI64 patch for ifconfig.c
To: None <ww@styx.org>
From: None <itojun@iijlab.net>
List: tech-net
Date: 06/14/2002 08:16:56
>There has been some discussion on various lists recently
>about making it possible to cause ifconfig to automatically
>calculate the appropriate IPv6 address to use, given a
>prefix. I guess there are differing opinions about where
>such functionality belongs. In any case, below is a patch
>that makes it possible to do something like:
># ifconfig hme0 inet6 3ffe:1cdc:0:1234:: eui64
>and have the lower 64 bits of the address filled in
>for you.
>Is the consensus that this is something useful and good,
>or misguided and inappropriate?
couple of points:
- the code duplicates logic in sys/netinet6/in6_ifattach.c. it would
be much better if you pick interface ID from link-local address on
the interface. for instance, you can't use this code for p2p
interface. ifconfig(8) is supposed to be more generic.
- don't forget freeifaddrs(3).
- if we directly pick sockaddr_dl from the kernel:
- you really need to check interface type (IFT_xx) to do this.
sdl_alen == 8 (or 6) does not indicate EUI64/MAC.
- you forgot to flip universal/local bit (another reason not to
pick sockaddr_dl from the kernel).
- you forgot to check multicast bit. (ditto)
i personally am not in favor of this, but thanks for your patch.
let me think about it.
itojun