diff options
author | Nicolas Dichtel <nicolas.dichtel@6wind.com> | 2013-08-20 12:16:06 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2013-08-20 23:45:42 -0700 |
commit | e837735ec406a347756e0ef3aea124a6d51ea1ba (patch) | |
tree | 258f140ccfda951a6e91b3db041abcaec3c395e4 /samples | |
parent | 7eaa48a45ca74d8dbc65e7dedaa8c0736154fd5f (diff) |
ip6_tunnel: ensure to always have a link local address
When an Xin6 tunnel is set up, we check other netdevices to inherit the link-
local address. If none is available, the interface will not have any link-local
address. RFC4862 expects that each interface has a link local address.
Now than this kind of tunnels supports x-netns, it's easy to fall in this case
(by creating the tunnel in a netns where ethernet interfaces stand and then
moving it to a other netns where no ethernet interface is available).
RFC4291, Appendix A suggests two methods: the first is the one currently
implemented, the second is to generate a unique identifier, so that we can
always generate the link-local address. Let's use eth_random_addr() to generate
this interface indentifier.
I remove completly the previous method, hence for the whole life of the
interface, the link-local address remains the same (previously, it depends on
which ethernet interfaces were up when the tunnel interface was set up).
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'samples')
0 files changed, 0 insertions, 0 deletions