Commit a86c305b authored by Hideaki Yoshifuji's avatar Hideaki Yoshifuji Committed by David S. Miller

[IPV6]: Deprecate all-on-link assumption

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: default avatarKUNITAKE Koichi <kunitake@anchor.jp>
Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 34d67af8
...@@ -2108,21 +2108,13 @@ static void addrconf_rs_timer(unsigned long data) ...@@ -2108,21 +2108,13 @@ static void addrconf_rs_timer(unsigned long data)
ndisc_send_rs(ifp->idev->dev, &ifp->addr, &all_routers); ndisc_send_rs(ifp->idev->dev, &ifp->addr, &all_routers);
} else { } else {
struct in6_rtmsg rtmsg;
spin_unlock(&ifp->lock); 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", printk(KERN_DEBUG "%s: no IPv6 routers present\n",
ifp->idev->dev->name); 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: out:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment