From a1c6033ca74cc1b61ac2df034d45311a95776cc2 Mon Sep 17 00:00:00 2001 From: mohans Date: Sat, 26 Aug 2006 17:53:19 +0000 Subject: Fix for a bug that causes the computation of "len" in tcp_output() to get messed up, resulting in an inconsistency between the TCP state and so_snd. --- sys/netinet/tcp_timewait.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sys/netinet/tcp_timewait.c') diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index fe8e4b5..aedd8b0 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -1573,6 +1573,10 @@ tcp_mtudisc(struct inpcb *inp, int errno) tcpstat.tcps_mturesent++; tp->t_rtttime = 0; tp->snd_nxt = tp->snd_una; + tcp_free_sackholes(tp); + tp->snd_recover = tp->snd_max; + if (tp->sack_enable) + EXIT_FASTRECOVERY(tp); tcp_output(tp); return (inp); } -- cgit v1.1