Ensure that link-local addresses are correctly configured on loopback
authormpi <mpi@openbsd.org>
Tue, 27 Jan 2015 10:31:19 +0000 (10:31 +0000)
committermpi <mpi@openbsd.org>
Tue, 27 Jan 2015 10:31:19 +0000 (10:31 +0000)
commit15f0a5b39a2bb226b44457ed81a5d989cfee0393
tree0ea823943f9339ced713c5db55a70e177409cebe
parentef980ed66cafe544c740bf3411db2a71c0663b81
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@
sys/net/if.c
sys/netinet6/in6.c
sys/netinet6/in6_ifattach.c
sys/netinet6/in6_ifattach.h