diff options
author | George Hansper <georgeh@anstat.com.au> | 2006-09-20 15:03:23 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-22 18:19:57 -0400 |
commit | c1fe3ca5106d9568791433fa6c7f27e71ac69e1b (patch) | |
tree | e3a00c265b70caadc7a6b8a17aa82491e354e31e /net/ipv4 | |
parent | 71cd83a8bde61612b277fd5bf91503ac1ad61e23 (diff) |
[NETFILTER]: TCP conntrack: improve dead connection detection
Don't count window updates as retransmissions.
Signed-off-by: George Hansper <georgeh@anstat.com.au>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/netfilter/ip_conntrack_proto_tcp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c index 75a7237eb8c1..03ae9a04cb37 100644 --- a/net/ipv4/netfilter/ip_conntrack_proto_tcp.c +++ b/net/ipv4/netfilter/ip_conntrack_proto_tcp.c | |||
@@ -731,13 +731,15 @@ static int tcp_in_window(struct ip_ct_tcp *state, | |||
731 | if (state->last_dir == dir | 731 | if (state->last_dir == dir |
732 | && state->last_seq == seq | 732 | && state->last_seq == seq |
733 | && state->last_ack == ack | 733 | && state->last_ack == ack |
734 | && state->last_end == end) | 734 | && state->last_end == end |
735 | && state->last_win == win) | ||
735 | state->retrans++; | 736 | state->retrans++; |
736 | else { | 737 | else { |
737 | state->last_dir = dir; | 738 | state->last_dir = dir; |
738 | state->last_seq = seq; | 739 | state->last_seq = seq; |
739 | state->last_ack = ack; | 740 | state->last_ack = ack; |
740 | state->last_end = end; | 741 | state->last_end = end; |
742 | state->last_win = win; | ||
741 | state->retrans = 0; | 743 | state->retrans = 0; |
742 | } | 744 | } |
743 | } | 745 | } |