From owner-freebsd-net Tue Jul 30 13:13:32 2002 Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 1C0DF37B400 for ; Tue, 30 Jul 2002 13:13:28 -0700 (PDT) Received: from patrocles.silby.com (d70.as15.nwbl0.wi.voyager.net [169.207.134.198]) by mx1.FreeBSD.org (Postfix) with ESMTP id CD7BF43E31 for ; Tue, 30 Jul 2002 13:13:25 -0700 (PDT) (envelope-from silby@silby.com) Received: from patrocles.silby.com (localhost [127.0.0.1]) by patrocles.silby.com (8.12.5/8.12.5) with ESMTP id g6UKFvB1006403 for ; Tue, 30 Jul 2002 15:15:57 -0500 (CDT) (envelope-from silby@silby.com) Received: from localhost (silby@localhost) by patrocles.silby.com (8.12.5/8.12.5/Submit) with ESMTP id g6UKFutI006400 for ; Tue, 30 Jul 2002 15:15:57 -0500 (CDT) X-Authentication-Warning: patrocles.silby.com: silby owned process doing -bs Date: Tue, 30 Jul 2002 15:15:55 -0500 (CDT) From: Mike Silbersack To: freebsd-net@freebsd.org Subject: RFC: Updated window update algorithm Message-ID: <20020730141732.J3793-200000@patrocles.silby.com> MIME-Version: 1.0 Content-Type: MULTIPART/MIXED; BOUNDARY="0-934478144-1028056781=:3793" Content-ID: <20020730150959.O6367@patrocles.silby.com> Sender: owner-freebsd-net@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Send mail to mime@docserver.cac.washington.edu for more info. --0-934478144-1028056781=:3793 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII Content-ID: <20020730150959.D6367@patrocles.silby.com> I'd appreciate if the tcp inclined could take a quick look over the attached patch. What it does is implement a simpler algorithm used to determine whether or not to accept window updates. Our existing algorithm (the one in RFC793/1122) had a weakness in that it will ignore window updates piggybacked on retransmitted packets. In a unidirectional transfer situation, this is not a problem. However, in the case of a bidirectional transfer, this could cause retransmission in one direction to stall transmission in the other direction. For more info on this case, see the thread at: http://tcp-impl.grc.nasa.gov/tcp-impl/list/archive/2184.html The algorithm I used in the attached patch is the one created by Alexey Kuznetsov, currently used in Linux 2.4. Any comments (on the algorithm or implementation) would be appreciated. Thanks, Mike "Silby" Silbersack --0-934478144-1028056781=:3793 Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="tcpwindowupdate3.patch" Content-Transfer-Encoding: BASE64 Content-ID: <20020730141941.N3793@patrocles.silby.com> Content-Description: Content-Disposition: ATTACHMENT; FILENAME="tcpwindowupdate3.patch" LS0tIC91c3Ivc3JjL3N5cy5vbGQvbmV0aW5ldC90Y3BfaW5wdXQuYwlUdWUg SnVsIDMwIDAwOjQxOjM4IDIwMDINCisrKyB0Y3BfaW5wdXQuYwlUdWUgSnVs IDMwIDE0OjE1OjQwIDIwMDINCkBAIC0xOTM5LDExICsxOTM5LDE1IEBADQog CS8qDQogCSAqIFVwZGF0ZSB3aW5kb3cgaW5mb3JtYXRpb24uDQogCSAqIERv bid0IGxvb2sgYXQgd2luZG93IGlmIG5vIEFDSzogVEFDJ3Mgc2VuZCBnYXJi YWdlIG9uIGZpcnN0IFNZTi4NCisJICogVXBkYXRlIHdpbmRvdyBpZjoNCisJ ICogLSBOZXcgZGF0YSBhY2tlZA0KKwkgKiAtIE5ldyBkYXRhIHNlbnQgdG8g dXMNCisJICogLSBEYXRhIGhhcyBub3QgYWR2YW5jZWQsIGJ1dCBsYXJnZXIg d2luZG93IGlzIHJlcG9ydGVkDQogCSAqLw0KIAlpZiAoKHRoZmxhZ3MgJiBU SF9BQ0spICYmDQogCSAgICAoU0VRX0xUKHRwLT5zbmRfd2wxLCB0aC0+dGhf c2VxKSB8fA0KLQkgICAgKHRwLT5zbmRfd2wxID09IHRoLT50aF9zZXEgJiYg KFNFUV9MVCh0cC0+c25kX3dsMiwgdGgtPnRoX2FjaykgfHwNCi0JICAgICAo dHAtPnNuZF93bDIgPT0gdGgtPnRoX2FjayAmJiB0aXdpbiA+IHRwLT5zbmRf d25kKSkpKSkgew0KKwkgICAgIFNFUV9MVCh0cC0+c25kX3VuYSwgdGgtPnRo X2FjaykgfHwNCisJICAgICAoKHRoLT50aF9zZXEgPT0gdHAtPnNuZF93bDEp ICYmICh0aXdpbiA+IHRwLT5zbmRfd25kKSkpKSB7DQogCQkvKiBrZWVwIHRy YWNrIG9mIHB1cmUgd2luZG93IHVwZGF0ZXMgKi8NCiAJCWlmICh0bGVuID09 IDAgJiYNCiAJCSAgICB0cC0+c25kX3dsMiA9PSB0aC0+dGhfYWNrICYmIHRp d2luID4gdHAtPnNuZF93bmQpDQo= --0-934478144-1028056781=:3793-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-net" in the body of the message