|
@@ -474,10 +474,10 @@ static inline struct rt6_info *rt6_device_match(struct net *net,
|
|
|
if (dev->flags & IFF_LOOPBACK) {
|
|
|
if (!sprt->rt6i_idev ||
|
|
|
sprt->rt6i_idev->dev->ifindex != oif) {
|
|
|
- if (flags & RT6_LOOKUP_F_IFACE && oif)
|
|
|
+ if (flags & RT6_LOOKUP_F_IFACE)
|
|
|
continue;
|
|
|
- if (local && (!oif ||
|
|
|
- local->rt6i_idev->dev->ifindex == oif))
|
|
|
+ if (local &&
|
|
|
+ local->rt6i_idev->dev->ifindex == oif)
|
|
|
continue;
|
|
|
}
|
|
|
local = sprt;
|