diff options
author | Li Wei <lw@cn.fujitsu.com> | 2011-11-08 16:39:28 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-09 15:59:00 -0500 |
commit | b12f62efb8ec0b9523bdb6c2d412c07193086de9 (patch) | |
tree | c6dfff956c15b7c6fb253f69e8a0e639d2f29d78 /net/ipv4/ip_options.c | |
parent | b7ea81a58adc123a4e980cb0eff9eb5c144b5dc7 (diff) |
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/ipv4/ip_options.c')
-rw-r--r-- | net/ipv4/ip_options.c | 1 |
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) | |||
640 | } | 640 | } |
641 | if (srrptr <= srrspace) { | 641 | if (srrptr <= srrspace) { |
642 | opt->srr_is_hit = 1; | 642 | opt->srr_is_hit = 1; |
643 | iph->daddr = nexthop; | ||
643 | opt->is_changed = 1; | 644 | opt->is_changed = 1; |
644 | } | 645 | } |
645 | return 0; | 646 | return 0; |