On Sun, 19 Sep 2004 00:02:11 +0200
Harald Welte <laforge@xxxxxxxxxxxx> wrote:
> Now I'm stuck with another issue: The interfaces suddenly no logner
> get any link-local addresses:
Probably due to this change.
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/09/10 14:50:26-07:00 yoshfuji@xxxxxxxxxxxxxx
# [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@xxxxxxxxx>
# Signed-off-by: KUNITAKE Koichi <kunitake@xxxxxxxxx>
# Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx>
# Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
#
# net/ipv6/addrconf.c
# 2004/09/10 14:50:09-07:00 yoshfuji@xxxxxxxxxxxxxx +4 -12
# [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@xxxxxxxxx>
# Signed-off-by: KUNITAKE Koichi <kunitake@xxxxxxxxx>
# Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@xxxxxxxxxxxxxx>
# Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx>
#
diff -Nru a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
--- a/net/ipv6/addrconf.c 2004-09-18 17:50:32 -07:00
+++ b/net/ipv6/addrconf.c 2004-09-18 17:50:32 -07:00
@@ -2108,21 +2108,13 @@
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:
|