diff options
author | Gao feng <gaofeng@cn.fujitsu.com> | 2011-10-19 15:34:09 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-12-09 08:56:00 -0800 |
commit | fe421e849a3c36373dd59eb5f302705c91a14719 (patch) | |
tree | 80c8cfdd036e7c6cfded64374371f511e4c9e528 /net | |
parent | 5eb027bb82d1f9d4af0df73a3ce08945ffc1b481 (diff) |
ipv4: avoid useless call of the function check_peer_pmtu
[ Upstream commit 59445b6b1f90b97c4e28062b96306bacfa4fb170 ]
In func ipv4_dst_check,check_peer_pmtu should be called only when peer is updated.
So,if the peer is not updated in ip_rt_frag_needed,we can not inc __rt_peer_genid.
Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com>
Acked-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/route.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c index 8b3661b3cda..c3fcdb4fe2d 100644 --- a/net/ipv4/route.c +++ b/net/ipv4/route.c @@ -1572,11 +1572,10 @@ unsigned short ip_rt_frag_needed(struct net *net, const struct iphdr *iph, est_mtu = mtu; peer->pmtu_learned = mtu; peer->pmtu_expires = pmtu_expires; + atomic_inc(&__rt_peer_genid); } inet_putpeer(peer); - - atomic_inc(&__rt_peer_genid); } return est_mtu ? : new_mtu; } |