]> git.hungrycats.org Git - linux/commitdiff
[IPV6]: Deprecate all-on-link assumption
authorHideaki Yoshifuji <yoshfuji@linux-ipv6.org>
Fri, 10 Sep 2004 07:50:26 +0000 (00:50 -0700)
committerDavid S. Miller <davem@nuts.davemloft.net>
Fri, 10 Sep 2004 07:50:26 +0000 (00:50 -0700)
If we don't have IPv6 default routes, we assume all ipv6 destinations
are on-link as specified in RFC2461. It, however, is considered harmful now;
it is problematic with IPv6-capable nodes that do not have off-link
IPv6 connectivity (eg no default routers) and such nodes will take
a few seconds until they fall back to use IPv4.

See <draft-ietf-v6ops-onlinkassumption-02.txt> for details.

From: KUNITAKE Koichi <kunitake@anchor.jp>
Signed-off-by: KUNITAKE Koichi <kunitake@anchor.jp>
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index d2091c5ce489a8c9d2e823218b3fb3c7351cf989..999071accc71d8d2941acd9c699455f9e49e9612 100644 (file)
@@ -2108,21 +2108,13 @@ static void addrconf_rs_timer(unsigned long data)
 
                ndisc_send_rs(ifp->idev->dev, &ifp->addr, &all_routers);
        } else {
-               struct in6_rtmsg rtmsg;
-
                spin_unlock(&ifp->lock);
-
+               /*
+                * Note: we do not support deprecated "all on-link"
+                * assumption any longer.
+                */
                printk(KERN_DEBUG "%s: no IPv6 routers present\n",
                       ifp->idev->dev->name);
-
-               memset(&rtmsg, 0, sizeof(struct in6_rtmsg));
-               rtmsg.rtmsg_type = RTMSG_NEWROUTE;
-               rtmsg.rtmsg_metric = IP6_RT_PRIO_ADDRCONF;
-               rtmsg.rtmsg_flags = (RTF_ALLONLINK | RTF_DEFAULT | RTF_UP);
-
-               rtmsg.rtmsg_ifindex = ifp->idev->dev->ifindex;
-
-               ip6_route_add(&rtmsg, NULL, NULL);
        }
 
 out: