Browse Source

Disable router anycast address for /127 prefixes

RFC 6164 requires that routers MUST disable Subnet-Router anycast
for the prefix when /127 prefixes are used.

No need for matching code in addrconf_leave_anycast() as it
will silently ignore any attempt to leave an unknown anycast
address.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Bjørn Mork 14 years ago
parent
commit
2bda8a0c8a
1 changed files with 2 additions and 0 deletions
  1. 2 0
      net/ipv6/addrconf.c

+ 2 - 0
net/ipv6/addrconf.c

@@ -1470,6 +1470,8 @@ void addrconf_leave_solict(struct inet6_dev *idev, const struct in6_addr *addr)
 static void addrconf_join_anycast(struct inet6_ifaddr *ifp)
 static void addrconf_join_anycast(struct inet6_ifaddr *ifp)
 {
 {
 	struct in6_addr addr;
 	struct in6_addr addr;
+	if (ifp->prefix_len == 127) /* RFC 6164 */
+		return;
 	ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len);
 	ipv6_addr_prefix(&addr, &ifp->addr, ifp->prefix_len);
 	if (ipv6_addr_any(&addr))
 	if (ipv6_addr_any(&addr))
 		return;
 		return;