ipv6: addrconf: use stable address generator for ARPHRD_NONE
authorBjørn Mork <bjorn@mork.no>
Wed, 16 Dec 2015 15:44:38 +0000 (16:44 +0100)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Dec 2015 19:41:07 +0000 (14:41 -0500)
commitcc9da6cc4f56e05cc9e591459fe0192727ff58b3
tree424b48343dfc5db6063521fd82fcdfa9118e6823
parent8cb964daeba8b626f8fbf779a50635684e42abdb
ipv6: addrconf: use stable address generator for ARPHRD_NONE

Add a new address generator mode, using the stable address generator
with an automatically generated secret. This is intended as a default
address generator mode for device types with no EUI64 implementation.
The new generator is used for ARPHRD_NONE interfaces initially, adding
default IPv6 autoconf support to e.g. tun interfaces.

If the addrgenmode is set to 'random', either by default or manually,
and no stable secret is available, then a random secret is used as
input for the stable-privacy address generator.  The secret can be
read and modified like manually configured secrets, using the proc
interface.  Modifying the secret will change the addrgen mode to
'stable-privacy' to indicate that it operates on a known secret.

Existing behaviour of the 'stable-privacy' mode is kept unchanged. If
a known secret is available when the device is created, then the mode
will default to 'stable-privacy' as before.  The mode can be manually
set to 'random' but it will behave exactly like 'stable-privacy' in
this case. The secret will not change.

Cc: Hannes Frederic Sowa <hannes@stressinduktion.org>
Cc: 吉藤英明 <hideaki.yoshifuji@miraclelinux.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/uapi/linux/if_link.h
net/ipv6/addrconf.c