summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Wei <lw@cn.fujitsu.com>2011-11-08 21:39:28 +0000
committerGreg Kroah-Hartman <gregkh@suse.de>2011-12-09 08:55:58 -0800
commitdb9a8a29b0c7c61b372300978fbe8b01606103f0 (patch)
tree3ec09257c3d6f36379ee07913f5e8f25ba89c1f1
parentf82c753512bfe2fb4127ee72c882924120c11de8 (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@suse.de>
-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;