|
@@ -157,6 +157,7 @@ ip6_tnl_lookup(struct net *net, const struct in6_addr *remote, const struct in6_
|
|
|
hash = HASH(&any, local);
|
|
|
for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
|
|
|
if (ipv6_addr_equal(local, &t->parms.laddr) &&
|
|
|
+ ipv6_addr_any(&t->parms.raddr) &&
|
|
|
(t->dev->flags & IFF_UP))
|
|
|
return t;
|
|
|
}
|
|
@@ -164,6 +165,7 @@ ip6_tnl_lookup(struct net *net, const struct in6_addr *remote, const struct in6_
|
|
|
hash = HASH(remote, &any);
|
|
|
for_each_ip6_tunnel_rcu(ip6n->tnls_r_l[hash]) {
|
|
|
if (ipv6_addr_equal(remote, &t->parms.raddr) &&
|
|
|
+ ipv6_addr_any(&t->parms.laddr) &&
|
|
|
(t->dev->flags & IFF_UP))
|
|
|
return t;
|
|
|
}
|