summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2006-06-22 10:41:18 +0200
committerDavid S. Miller <davem@sunset.davemloft.net>2006-06-23 11:07:24 +0200
commit5e2707fa3aed8c24075087cbaea2628725adbe55 (patch)
tree8e70bb71a7ce79c40026caa3f9a5e37295668630
parent[IPV6]: Fix source address selection. (diff)
downloadlinux-5e2707fa3aed8c24075087cbaea2628725adbe55.tar.xz
linux-5e2707fa3aed8c24075087cbaea2628725adbe55.zip
[IPV6] ADDRCONF: Fix default source address selection without CONFIG_IPV6_PRIVACY
We need to update hiscore.rule even if we don't enable CONFIG_IPV6_PRIVACY, because we have more less significant rule; longest match. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv6/addrconf.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 6b361fc3e14d..4da664538f52 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1075,6 +1075,9 @@ int ipv6_dev_get_saddr(struct net_device *daddr_dev,
if (hiscore.attrs & IPV6_SADDR_SCORE_PRIVACY)
continue;
}
+#else
+ if (hiscore.rule < 7)
+ hiscore.rule++;
#endif
/* Rule 8: Use longest matching prefix */
if (hiscore.rule < 8) {