diff options
| author | Hannes Frederic Sowa <[email protected]> | 2015-03-23 23:36:01 +0100 |
|---|---|---|
| committer | David S. Miller <[email protected]> | 2015-03-23 22:12:08 -0400 |
| commit | 622c81d57b392cc9be836670eb464a4dfaa9adfe (patch) | |
| tree | 2b67f9ef0fcab0ffee39d624895124311769f42c /tools/perf/scripts/python | |
| parent | 3d1bec99320d4e96897805440f8cf4f68eff226b (diff) | |
ipv6: generation of stable privacy addresses for link-local and autoconf
This patch implements the stable privacy address generation for
link-local and autoconf addresses as specified in RFC7217.
RID = F(Prefix, Net_Iface, Network_ID, DAD_Counter, secret_key)
is the RID (random identifier). As the hash function F we chose one
round of sha1. Prefix will be either the link-local prefix or the
router advertised one. As Net_Iface we use the MAC address of the
device. DAD_Counter and secret_key are implemented as specified.
We don't use Network_ID, as it couples the code too closely to other
subsystems. It is specified as optional in the RFC.
As Net_Iface we only use the MAC address: we simply have no stable
identifier in the kernel we could possibly use: because this code might
run very early, we cannot depend on names, as they might be changed by
user space early on during the boot process.
A new address generation mode is introduced,
IN6_ADDR_GEN_MODE_STABLE_PRIVACY. With iproute2 one can switch back to
none or eui64 address configuration mode although the stable_secret is
already set.
We refuse writes to ipv6/conf/all/stable_secret but only allow
ipv6/conf/default/stable_secret and the interface specific file to be
written to. The default stable_secret is used as the parameter for the
namespace, the interface specific can overwrite the secret, e.g. when
switching a network configuration from one system to another while
inheriting the secret.
Cc: Erik Kline <[email protected]>
Cc: Fernando Gont <[email protected]>
Cc: Lorenzo Colitti <[email protected]>
Cc: YOSHIFUJI Hideaki/吉藤英明 <[email protected]>
Signed-off-by: Hannes Frederic Sowa <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions