diff options
author | Julian Anastasov <ja@ssi.bg> | 2012-10-08 11:41:18 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2012-10-08 17:42:36 -0400 |
commit | 155e8336c373d14d87a7f91e356d85ef4b93b8f9 (patch) | |
tree | 5d31e9d9c197129fcf26fd8ae9d54da770503a6c /net/ipv4/ip_forward.c | |
parent | f8a17175c63fd3e8b573719f7538816f8c96abf4 (diff) | |
download | lwn-155e8336c373d14d87a7f91e356d85ef4b93b8f9.tar.gz lwn-155e8336c373d14d87a7f91e356d85ef4b93b8f9.zip |
ipv4: introduce rt_uses_gateway
Add new flag to remember when route is via gateway.
We will use it to allow rt_gateway to contain address of
directly connected host for the cases when DST_NOCACHE is
used or when the NH exception caches per-destination route
without DST_NOCACHE flag, i.e. when routes are not used for
other destinations. By this way we force the neighbour
resolving to work with the routed destination but we
can use different address in the packet, feature needed
for IPVS-DR where original packet for virtual IP is routed
via route to real IP.
Signed-off-by: Julian Anastasov <ja@ssi.bg>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv4/ip_forward.c')
-rw-r--r-- | net/ipv4/ip_forward.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/ipv4/ip_forward.c b/net/ipv4/ip_forward.c index 7f35ac26a71a..694de3b7aebf 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 && rt->rt_gateway) + if (opt->is_strictroute && rt->rt_uses_gateway) goto sr_failed; if (unlikely(skb->len > dst_mtu(&rt->dst) && !skb_is_gso(skb) && |