ipv6: automatically enable stable privacy mode if stable_secret set
Bjørn reported that while we switch all interfaces to privacy stable mode
when setting the secret, we don't set this mode for new interfaces. This
does not make sense, so change this behaviour.
Fixes: 622c81d57b
("ipv6: generation of stable privacy addresses for link-local and autoconf")
Reported-by: Bjørn Mork <bjorn@mork.no>
Cc: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
130ed5d105
commit
9b29c6962b
|
@ -350,6 +350,12 @@ static struct inet6_dev *ipv6_add_dev(struct net_device *dev)
|
||||||
setup_timer(&ndev->rs_timer, addrconf_rs_timer,
|
setup_timer(&ndev->rs_timer, addrconf_rs_timer,
|
||||||
(unsigned long)ndev);
|
(unsigned long)ndev);
|
||||||
memcpy(&ndev->cnf, dev_net(dev)->ipv6.devconf_dflt, sizeof(ndev->cnf));
|
memcpy(&ndev->cnf, dev_net(dev)->ipv6.devconf_dflt, sizeof(ndev->cnf));
|
||||||
|
|
||||||
|
if (ndev->cnf.stable_secret.initialized)
|
||||||
|
ndev->addr_gen_mode = IN6_ADDR_GEN_MODE_STABLE_PRIVACY;
|
||||||
|
else
|
||||||
|
ndev->addr_gen_mode = IN6_ADDR_GEN_MODE_EUI64;
|
||||||
|
|
||||||
ndev->cnf.mtu6 = dev->mtu;
|
ndev->cnf.mtu6 = dev->mtu;
|
||||||
ndev->cnf.sysctl = NULL;
|
ndev->cnf.sysctl = NULL;
|
||||||
ndev->nd_parms = neigh_parms_alloc(dev, &nd_tbl);
|
ndev->nd_parms = neigh_parms_alloc(dev, &nd_tbl);
|
||||||
|
|
Loading…
Reference in New Issue