[IPV6]: Revert recent change to rt6_check_dev().

This reverts a0d78ebf3a

It causes pings to link-local addresses to fail.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2007-04-06 11:42:27 -07:00
parent 254d0d24e3
commit 161980f4c6

View File

@ -311,21 +311,12 @@ static inline void rt6_probe(struct rt6_info *rt)
static inline int rt6_check_dev(struct rt6_info *rt, int oif) static inline int rt6_check_dev(struct rt6_info *rt, int oif)
{ {
struct net_device *dev = rt->rt6i_dev; struct net_device *dev = rt->rt6i_dev;
int ret = 0; if (!oif || dev->ifindex == oif)
if (!oif)
return 2; return 2;
if (dev->flags & IFF_LOOPBACK) { if ((dev->flags & IFF_LOOPBACK) &&
if (!WARN_ON(rt->rt6i_idev == NULL) && rt->rt6i_idev && rt->rt6i_idev->dev->ifindex == oif)
rt->rt6i_idev->dev->ifindex == oif) return 1;
ret = 1; return 0;
else
return 0;
}
if (dev->ifindex == oif)
return 2;
return ret;
} }
static inline int rt6_check_neigh(struct rt6_info *rt) static inline int rt6_check_neigh(struct rt6_info *rt)