[6bone] ifconfig and EUI-64

Jeroen Massar jeroen@unfix.org
Sun, 9 Jun 2002 21:56:12 +0200


ww@GROOVY.NET wrote:

> On Sun, Jun 09, 2002 at 07:22:47PM +0200, Pim van Pelt wrote:
> > 
> > which will let the fa0/0 device figure out its own address using the
> > lower order 64 bits of its linklocal address in the specified
prefix.
> > 
> > This behavior is missing in the Unix world and I for one would like
to
> > see it implemented. Anybody against this ?
> 
> There was a discussion about this some time ago on the NetBSD
> tech-net mailing list. The debate centered on whether it was 
> better to have this functionality in the ifconfig binary or 
> in some sort of script that would call ifconfig after calculating
> the lower order 64 bits. The problem with the latter is that it 
> might assume that /usr is mounted which may not be true until 
> after networking has been configured.
> 
> I can't think of any very strong argument about why what you 
> suggest should not be implemented within ifconfig(8).

FreeBSD 4.2 had the /etc/rc.network6 init script setup so that it would
check for a prefixcmd_enable="YES"
and if that was true it would use the prefix from ipv6_prefix_<device>
and do a 'prefix <device> <prefix>'
which sets up an anycast address, after which, the system (read: kernel)
knows how to autoconfig that device.
Unfortunatly for some odd reason this 'feature' was taken from newer
(4.4+) FreeBSD's. The 'prefix' command is
still there but the rc.network6 script is now used, the prefix command
is completely ignored. As this comes from
the KAME upstream they probably know the reason why that happened?

Greets,
 Jeroen

PS: snippets from the 'prefix' manpage:

DESCRIPTION
     prefix is used to assign an prefix to a network interface and/or
renum-
     bering network interface prefixes.  prefix must be used at boot
time to
     define the network prefix of each interface present on a machine;
it may
     also be used at a later time to renumbering multiple interface's
prefixes
     and other prefix related parameters.  prefix is router-only
command, so
     you must do following to use it.
           % sysctl -w net.inet6.ip6.forwarding=1
     If net.inet6.ip6.forwarding is set to 0, prefix command fails by
EPERM
     error.

HISTORY
     The prefix command first appeared in WIDE/KAME IPv6 protocol stack
kit.

     IPv6 and IPsec support based on the KAME Project
(http://www.kame.net/)
     stack was initially integrated into FreeBSD 4.0