Date: Mon, 26 Jun 2006 18:10:42 +0800 From: Blue <Susan.Lan@zyxel.com.tw> To: freebsd-net@freebsd.org Subject: FreeBSD-6.1 modification about tcp_input fast recovery Message-ID: <449FB2A2.4040206@zyxel.com.tw>
next in thread | raw e-mail | index | archive | help
Hi, all: In FreeBSD-6.1, line 1878 - 1894 in tcp input() have been newly added like below if (tp->sack_enable && IN_FASTRECOVERY(tp)) { int awnd; /* * Compute the amount of data in flight first. * We can inject new data into the pipe iff * we have less than 1/2 the original window's * worth of data in flight. */ awnd = (tp->snd_nxt - tp->snd_fack) + tp->sackhint.sack_bytes_rexmit; if (awnd < tp->snd_ssthresh) { tp->snd_cwnd += tp->t_maxseg; if (tp->snd_cwnd > tp->snd_ssthresh) tp->snd_cwnd = tp->snd_ssthresh; } } else tp->snd_cwnd += tp->t_maxseg; I am wondering why not just increase congestion window size by 1 when receiving duplicated ACK when doing fast recover? I digged into RFC 3782 (NeReno) and RFC 3517 (SACK based loss recovery) and could not find anything related to the modification. Could not we just follow RFC 3782 and simply increment congestion window size by one? Best regards, blue
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?449FB2A2.4040206>