summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorLi Wei <lw@cn.fujitsu.com>2011-11-08 21:39:28 (GMT)
committerDavid S. Miller <davem@davemloft.net>2011-11-09 20:59:00 (GMT)
commitb12f62efb8ec0b9523bdb6c2d412c07193086de9 (patch)
treec6dfff956c15b7c6fb253f69e8a0e639d2f29d78 /net
parentb7ea81a58adc123a4e980cb0eff9eb5c144b5dc7 (diff)
downloadlinux-b12f62efb8ec0b9523bdb6c2d412c07193086de9.tar.xz
ipv4: fix for ip_options_rcv_srr() daddr update.
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>
Diffstat (limited to 'net')
-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 ec93335..05d20cc 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;