diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-06 21:15:30 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-06 21:15:30 -0400 |
commit | bbef618190fb484b28b7d441e6fc5d524027c4fa (patch) | |
tree | bb9dc3902e225621127f02f95251b77b9191e4df /net/ipv6/route.c | |
parent | a21bd69e1509b43823c317c3bf3f7ffa99884356 (diff) | |
parent | b8fa2f3a82069304acac1f9e957d491585f4f49a (diff) |
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6:
[TG3]: Fix crash during tg3_init_one().
[IPV6]: Revert recent change to rt6_check_dev().
[XFRM]: beet: fix IP option decapsulation
[XFRM]: beet: fix beet mode decapsulation
[XFRM]: beet: use IPOPT_NOP for option padding
[XFRM]: beet: fix IP option encapsulation
Diffstat (limited to 'net/ipv6/route.c')
-rw-r--r-- | net/ipv6/route.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/net/ipv6/route.c b/net/ipv6/route.c index 3931b33b25e8..ad9b285692ba 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c | |||
@@ -311,21 +311,12 @@ static inline void rt6_probe(struct rt6_info *rt) | |||
311 | static inline int rt6_check_dev(struct rt6_info *rt, int oif) | 311 | static inline int rt6_check_dev(struct rt6_info *rt, int oif) |
312 | { | 312 | { |
313 | struct net_device *dev = rt->rt6i_dev; | 313 | struct net_device *dev = rt->rt6i_dev; |
314 | int ret = 0; | 314 | if (!oif || dev->ifindex == oif) |
315 | |||
316 | if (!oif) | ||
317 | return 2; | ||
318 | if (dev->flags & IFF_LOOPBACK) { | ||
319 | if (!WARN_ON(rt->rt6i_idev == NULL) && | ||
320 | rt->rt6i_idev->dev->ifindex == oif) | ||
321 | ret = 1; | ||
322 | else | ||
323 | return 0; | ||
324 | } | ||
325 | if (dev->ifindex == oif) | ||
326 | return 2; | 315 | return 2; |
327 | 316 | if ((dev->flags & IFF_LOOPBACK) && | |
328 | return ret; | 317 | rt->rt6i_idev && rt->rt6i_idev->dev->ifindex == oif) |
318 | return 1; | ||
319 | return 0; | ||
329 | } | 320 | } |
330 | 321 | ||
331 | static inline int rt6_check_neigh(struct rt6_info *rt) | 322 | static inline int rt6_check_neigh(struct rt6_info *rt) |