While looking into something unrelated I found a strange extra ::1
address on lo1 (I usually hang my loopback addresses for IBGP off lo1).
lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
index 12 priority 0 llprio 3
groups: lo
inet xxx.xx.xxx.1 netmask 0xffffffff
inet6 ::1 prefixlen 128
inet6 fe80::1%lo1 prefixlen 64 scopeid 0xc
inet6 xxxx:xxxx:x:xxx::1 prefixlen 128
I haven't run into problems as a result of this (fortunately ospf6d
picked the correct address to redistribute) but it doesn't seem right.
$ ifconfig lo | grep -e ^lo -e 'inet6 ::1'
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
inet6 ::1 prefixlen 128
lo1: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> mtu 32768
inet6 ::1 prefixlen 128
It seems we did this a while ago to fix breakage after NOINET6 but
reading commit log, it definitely doesn't seem expected that ::1
would appear on additional loopback interfaces (see lines marked with
>) -
: $ acvs log -N -r1.315 if.c
:
: RCS file: /cvs/src/sys/net/if.c,v
: Working file: if.c
: head: 1.559
: branch:
: locks: strict
: access list:
: keyword substitution: kv
: total revisions: 580; selected revisions: 1
: description:
: ----------------------------
: revision 1.315
: date: 2015/01/27 10:31:19; author: mpi; state: Exp; lines: +12 -21;
commitid: 5QOPq50YTGxsLtYH;
: Ensure that link-local addresses are correctly configured on loopback
: interfaces.
:
: When the kernel automagically configures IPv6 addresses on loopback
: interfaces, start by assigning a link-local address and then try to
: assign "::1".
:
> Only the first configured loopback interface per rdomain can have the
> "::1" address. But even if other loopback interfaces failed to get
: this address, because it is already taken, give them a chance to have
: a link-local address.
:
: While here change in6_ifattach() to return an error value and remove
: duplicated code.
:
: Fix a regression introduced by the NOINET6 flag removal.
:
: ok henning@, stsp@, florian@, benno@
: =============================================================================
Any thoughts on how bad this is and whether it needs fixing or can
be ignored? (I suppose I could add "inet6 ::1 delete" to hostname.lo1..)