diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 7d7f30697eadee6773272c5e68ae006b21e38511..92be12bb8d23bdfb62697b45981ce5dc3052a03b 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -125,8 +125,7 @@ static inline const void *choose_neigh_daddr(struct rt6_info *rt, const void *da { struct in6_addr *p = &rt->rt6i_gateway; - if (p->s6_addr32[0] | p->s6_addr32[1] | - p->s6_addr32[2] | p->s6_addr32[3]) + if (!ipv6_addr_any(p)) return (const void *) p; return daddr; }