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/netfilter | |
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/netfilter')
-rw-r--r-- | net/netfilter/nf_conntrack_proto_tcp.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/net/netfilter/nf_conntrack_proto_tcp.c b/net/netfilter/nf_conntrack_proto_tcp.c index 9fc0ee61f92..238bbb5b72e 100644 --- a/net/netfilter/nf_conntrack_proto_tcp.c +++ b/net/netfilter/nf_conntrack_proto_tcp.c | |||
@@ -688,13 +688,15 @@ static int tcp_in_window(struct ip_ct_tcp *state, | |||
688 | if (state->last_dir == dir | 688 | if (state->last_dir == dir |
689 | && state->last_seq == seq | 689 | && state->last_seq == seq |
690 | && state->last_ack == ack | 690 | && state->last_ack == ack |
691 | && state->last_end == end) | 691 | && state->last_end == end |
692 | && state->last_win == win) | ||
692 | state->retrans++; | 693 | state->retrans++; |
693 | else { | 694 | else { |
694 | state->last_dir = dir; | 695 | state->last_dir = dir; |
695 | state->last_seq = seq; | 696 | state->last_seq = seq; |
696 | state->last_ack = ack; | 697 | state->last_ack = ack; |
697 | state->last_end = end; | 698 | state->last_end = end; |
699 | state->last_win = win; | ||
698 | state->retrans = 0; | 700 | state->retrans = 0; |
699 | } | 701 | } |
700 | } | 702 | } |