summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulian Anastasov <ja@ssi.bg>2012-10-08 11:41:16 (GMT)
committerDavid S. Miller <davem@davemloft.net>2012-10-08 21:42:35 (GMT)
commite0adef0f7456d5d3a3bfe8ea61c7dddf146b40e1 (patch)
treeb8b38b6fac97938a9d1a470969e422de49ddb382
parente81da0e113a1b7fc7449ae6213f65f89ccac6d06 (diff)
downloadlinux-fsl-qoriq-e0adef0f7456d5d3a3bfe8ea61c7dddf146b40e1.tar.xz
ipv4: fix forwarding for strict source routes
After the change "Adjust semantics of rt->rt_gateway" (commit f8126f1d51) rt_gateway can be 0 but ip_forward() compares it directly with nexthop. What we want here is to check if traffic is to directly connected nexthop and to fail if using gateway. Signed-off-by: Julian Anastasov <ja@ssi.bg> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/ipv4/ip_forward.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c
index ab09b12..7f35ac2 100644
--- a/net/ipv4/ip_forward.c
+++ b/net/ipv4/ip_forward.c
@@ -85,7 +85,7 @@ int ip_forward(struct sk_buff *skb)
rt = skb_rtable(skb);
- if (opt->is_strictroute && opt->nexthop != rt->rt_gateway)
+ if (opt->is_strictroute && rt->rt_gateway)
goto sr_failed;
if (unlikely(skb->len > dst_mtu(&rt->dst) && !skb_is_gso(skb) &&