|
@@ -112,7 +112,6 @@
|
|
#endif
|
|
#endif
|
|
#include <net/secure_seq.h>
|
|
#include <net/secure_seq.h>
|
|
#include <net/ip_tunnels.h>
|
|
#include <net/ip_tunnels.h>
|
|
-#include <net/vrf.h>
|
|
|
|
#include <net/l3mdev.h>
|
|
#include <net/l3mdev.h>
|
|
|
|
|
|
#define RT_FL_TOS(oldflp4) \
|
|
#define RT_FL_TOS(oldflp4) \
|
|
@@ -2125,11 +2124,10 @@ struct rtable *__ip_route_output_key(struct net *net, struct flowi4 *fl4)
|
|
fl4->saddr = inet_select_addr(dev_out, 0,
|
|
fl4->saddr = inet_select_addr(dev_out, 0,
|
|
RT_SCOPE_HOST);
|
|
RT_SCOPE_HOST);
|
|
}
|
|
}
|
|
- if (netif_is_l3_master(dev_out) &&
|
|
|
|
- !(fl4->flowi4_flags & FLOWI_FLAG_VRFSRC)) {
|
|
|
|
- rth = vrf_dev_get_rth(dev_out);
|
|
|
|
|
|
+
|
|
|
|
+ rth = l3mdev_get_rtable(dev_out, fl4);
|
|
|
|
+ if (rth)
|
|
goto out;
|
|
goto out;
|
|
- }
|
|
|
|
}
|
|
}
|
|
|
|
|
|
if (!fl4->daddr) {
|
|
if (!fl4->daddr) {
|