diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-06-25 16:58:17 +0900 |
---|---|---|
committer | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2008-07-03 17:51:55 +0900 |
commit | 5ce83afaac956238c3c25f60a899c511e9d8cbf4 (patch) | |
tree | 9ea7885739cc73f0a015ee12df705770c278f123 | |
parent | f81b2e7d8cf8c6a52b7a5224c3b89cee5aeb6811 (diff) | |
download | linux-5ce83afaac956238c3c25f60a899c511e9d8cbf4.tar.gz linux-5ce83afaac956238c3c25f60a899c511e9d8cbf4.tar.bz2 linux-5ce83afaac956238c3c25f60a899c511e9d8cbf4.zip |
ipv6: Assume the loopback address in link-local scope.
Handle interface property strictly when looking up a route
for the loopback address (RFC4291 2.5.3).
Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
-rw-r--r-- | net/ipv6/route.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 751e98f9b8b4..dbad96c58baa 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -228,7 +228,7 @@ static __inline__ int rt6_check_expired(const struct rt6_info *rt) static inline int rt6_need_strict(struct in6_addr *daddr) { return (ipv6_addr_type(daddr) & - (IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL)); + (IPV6_ADDR_MULTICAST | IPV6_ADDR_LINKLOCAL | IPV6_ADDR_LOOPBACK)); } /* |