aboutsummaryrefslogtreecommitdiffstats
path: root/net/netfilter
diff options
context:
space:
mode:
authorGeorge Hansper <georgeh@anstat.com.au>2006-09-20 15:03:23 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2006-09-22 18:19:57 -0400
commitc1fe3ca5106d9568791433fa6c7f27e71ac69e1b (patch)
treee3a00c265b70caadc7a6b8a17aa82491e354e31e /net/netfilter
parent71cd83a8bde61612b277fd5bf91503ac1ad61e23 (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.c4
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 }