aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv4/route.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv4/route.c')
-rw-r--r--net/ipv4/route.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index c9aa4f9effe2..027b4cc0f4a0 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1707,7 +1707,7 @@ void ip_rt_get_source(u8 *addr, struct rtable *rt)
1707 }; 1707 };
1708 1708
1709 rcu_read_lock(); 1709 rcu_read_lock();
1710 if (fib_lookup(dev_net(rt->dst.dev), &fl, &res) == 0) 1710 if (fib_lookup(dev_net(rt->dst.dev), &fl.u.ip4, &res) == 0)
1711 src = FIB_RES_PREFSRC(res); 1711 src = FIB_RES_PREFSRC(res);
1712 else 1712 else
1713 src = inet_select_addr(rt->dst.dev, rt->rt_gateway, 1713 src = inet_select_addr(rt->dst.dev, rt->rt_gateway,
@@ -2125,7 +2125,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
2125 fl.fl4_src = saddr; 2125 fl.fl4_src = saddr;
2126 fl.fl4_tos = tos; 2126 fl.fl4_tos = tos;
2127 fl.fl4_scope = RT_SCOPE_UNIVERSE; 2127 fl.fl4_scope = RT_SCOPE_UNIVERSE;
2128 err = fib_lookup(net, &fl, &res); 2128 err = fib_lookup(net, &fl.u.ip4, &res);
2129 if (err != 0) { 2129 if (err != 0) {
2130 if (!IN_DEV_FORWARD(in_dev)) 2130 if (!IN_DEV_FORWARD(in_dev))
2131 goto e_hostunreach; 2131 goto e_hostunreach;
@@ -2551,7 +2551,7 @@ static struct rtable *ip_route_output_slow(struct net *net,
2551 goto make_route; 2551 goto make_route;
2552 } 2552 }
2553 2553
2554 if (fib_lookup(net, &fl, &res)) { 2554 if (fib_lookup(net, &fl.u.ip4, &res)) {
2555 res.fi = NULL; 2555 res.fi = NULL;
2556 if (oldflp->flowi_oif) { 2556 if (oldflp->flowi_oif) {
2557 /* Apparently, routing tables are wrong. Assume, 2557 /* Apparently, routing tables are wrong. Assume,