summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Wei <lw@cn.fujitsu.com>2011-11-08 21:39:28 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-02-29 16:34:01 -0800
commitc4f2403478002bdb0a46a62f87909aeda8058d8b (patch)
tree52a2859f4956790dc8d446d91f6c64ee3147d103
parent24190a04c967d91e718bbe7a871e418edb9424aa (diff)
ipv4: fix for ip_options_rcv_srr() daddr update.
[ Upstream commit b12f62efb8ec0b9523bdb6c2d412c07193086de9 ] When opt->srr_is_hit is set skb_rtable(skb) has been updated for 'nexthop' and iph->daddr should always equals to skb_rtable->rt_dst holds, We need update iph->daddr either. Signed-off-by: Li Wei <lw@cn.fujitsu.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--net/ipv4/ip_options.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv4/ip_options.c b/net/ipv4/ip_options.c
index ec93335901dd..05d20cca9d66 100644
--- a/net/ipv4/ip_options.c
+++ b/net/ipv4/ip_options.c
@@ -640,6 +640,7 @@ int ip_options_rcv_srr(struct sk_buff *skb)
}
if (srrptr <= srrspace) {
opt->srr_is_hit = 1;
+ iph->daddr = nexthop;
opt->is_changed = 1;
}
return 0;