Subject: Eifel Detection/Recovery (RFC3522/4015)
To: None <tech-net@NetBSD.org>
From: Kentaro A. Kurahone <kurahone@sigusr1.org>
List: tech-net
Date: 03/27/2005 11:17:22
--FL5UXtIhxfXey3p5
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Hello All,

Since I was up late anyway, I've implemented preliminary support
for the Eifel Detection/Response algorithms.  The idea is to use
the TCP timestamp to detect when a spurious recovery episode is
triggered due to reordering, and back out the cwnd/ssthresh
decrease.

What it currently does:
 * Detects spurious Fast Retransmit/Retransmission Timer episodes.
 * Backs out the cwnd/ssthresh decrease.

What's missing:
 * It ignores the D-SACK portions of the Detection algorithm.
 * It does not recalibrate the TCP retransmission timer after Response.
 * It does not Detect the LATE_SPUR_TO case (ACK of a retransmit).

Diff (along with some SACK changes):
http://www.sigusr1.org/~kurahone/dump/tcp-eifel-netbsd-3.99.1-20050327.diff=
.gz

Thoughts/Feedback will be appreciated,

--=20
Kentaro A. Kurahone
SIGUSR1 Research and Development

--FL5UXtIhxfXey3p5
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (FreeBSD)

iQIVAwUBQkaWQWfp+SLSG+tuAQKY9hAAlb5kYdvPuwpTc2DSjdI/q8PEbKewyXiB
6A/+mC23aDX9n+UKUtNF2pkGMNEDQwnPaLxnbdum5ou7l5YxqA9QgrDteufaxTZo
1aPABjkrsWYPS+pzRegGsLRGePoywgC+woz/b3iuyOuRdoKIReFdu7HzoBsouPEK
lzHT/sM+tp9vPXFWnzYQlM/N7D1CBIiCoV4sScb4MIUrBnaDay1q4brNUSfk9C53
mql6uxc78XWV/JvzSRFryqyPF57Qb76fgHWfpEZMX44JSBZH/9J1e1izs9S5bNZg
0T854yirHLKHpdD0TBZsdWnSWhKnmVl1o3uku3lAN36UaEshWxIEPf5rtu4SsH2O
dZ3M1Yqb2Rz0OaCgdpXNYD46s5WM1F3Tkh5SzgbG+5FbhIoI1CKGj2+S9UI9Lmiz
5Sy8hgU8EFAoBtE6jv7B+xfj2VdSfxaV0l5+BX7ARGIMTS2EQzaIe4gPmGwt5Vjt
8unwZvf7D6nbWsheG1VYxwyv0i81l4ABfWGT9Dm0KnzxwCGXcqQUDUnfLtrIc3ou
OxFHTpzP604eyJr3npfsDExyPD91zqTpfWNwlz41vjAOCo2dKrOn40t9eRRCkScY
KxZOZdBW8jlW4IB6dV1MfMTEU4Z6CmdR/Jpib3H2W+Nd9aY1G5ruYUsfpDn1+Siz
Yxl30xerxuM=
=iiBL
-----END PGP SIGNATURE-----

--FL5UXtIhxfXey3p5--