BACKPORT: ipv6: Implement draft-ietf-6man-rfc4941bis
authorFernando Gont <fgont@si6networks.com>
Fri, 1 May 2020 03:51:47 +0000 (00:51 -0300)
committerLee Jones <lee.jones@linaro.org>
Mon, 31 Jan 2022 15:13:30 +0000 (15:13 +0000)
commit3343f72d3f5edcd964a49f5e5de252d230f4fd49
tree8145a50e663e97bd42a2201762a37835c12b5db5
parent79b31c6f791e318cfc4d1bba2a9572a65c8b0daa
BACKPORT: ipv6: Implement draft-ietf-6man-rfc4941bis

Implement the upcoming rev of RFC4941 (IPv6 temporary addresses):
https://tools.ietf.org/html/draft-ietf-6man-rfc4941bis-09

* Reduces the default Valid Lifetime to 2 days
  The number of extra addresses employed when Valid Lifetime was
  7 days exacerbated the stress caused on network
  elements/devices. Additionally, the motivation for temporary
  addresses is indeed privacy and reduced exposure. With a
  default Valid Lifetime of 7 days, an address that becomes
  revealed by active communication is reachable and exposed for
  one whole week. The only use case for a Valid Lifetime of 7
  days could be some application that is expecting to have long
  lived connections. But if you want to have a long lived
  connections, you shouldn't be using a temporary address in the
  first place. Additionally, in the era of mobile devices, general
  applications should nevertheless be prepared and robust to
  address changes (e.g. nodes swap wifi <-> 4G, etc.)

* Employs different IIDs for different prefixes
  To avoid network activity correlation among addresses configured
  for different prefixes

* Uses a simpler algorithm for IID generation
  No need to store "history" anywhere

Bug: 175340972
Signed-off-by: Fernando Gont <fgont@si6networks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
(cherry picked from commit 969c54646af0d7d94a5f0f37adbbfe024e85466e)
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Change-Id: Idce8f00b9b29ad329b6b90a5a4a9641c3d2b96d9
Documentation/networking/ip-sysctl.txt
include/net/if_inet6.h
net/ipv6/addrconf.c