From owner-freebsd-transport@freebsd.org Wed Oct 7 19:54:51 2015 Return-Path: Delivered-To: freebsd-transport@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E73C09D0B0A for ; Wed, 7 Oct 2015 19:54:51 +0000 (UTC) (envelope-from hiren@strugglingcoder.info) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id D12A61C9 for ; Wed, 7 Oct 2015 19:54:51 +0000 (UTC) (envelope-from hiren@strugglingcoder.info) Received: by mailman.ysv.freebsd.org (Postfix) id D076C9D0B09; Wed, 7 Oct 2015 19:54:51 +0000 (UTC) Delivered-To: transport@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D00EE9D0B08 for ; Wed, 7 Oct 2015 19:54:51 +0000 (UTC) (envelope-from hiren@strugglingcoder.info) Received: from mail.strugglingcoder.info (strugglingcoder.info [65.19.130.35]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mail.strugglingcoder.info", Issuer "mail.strugglingcoder.info" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C10111C8 for ; Wed, 7 Oct 2015 19:54:51 +0000 (UTC) (envelope-from hiren@strugglingcoder.info) Received: from localhost (unknown [10.1.1.3]) (Authenticated sender: hiren@strugglingcoder.info) by mail.strugglingcoder.info (Postfix) with ESMTPA id 3F735D4FF3 for ; Wed, 7 Oct 2015 12:54:45 -0700 (PDT) Date: Wed, 7 Oct 2015 12:54:45 -0700 From: hiren panchasara To: transport@FreeBSD.org Subject: Setting congestion window on loss detection Message-ID: <20151007195445.GC42742@strugglingcoder.info> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="0vzXIDBeUiKkjNJl" Content-Disposition: inline User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-transport@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: Discussions of transport level network protocols in FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Oct 2015 19:54:52 -0000 --0vzXIDBeUiKkjNJl Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Found this issue about a month ago and started a discussion on -net: https://lists.freebsd.org/pipermail/freebsd-net/2015-September/043249.html I feel this forum is a better place to discuss this further now. Problem: We set cwnd to 1mss when we detect loss via arrivals of 3 dupacks. That is wrong as we severely underutilizing network capacity by doing so. Next question is, what should we set cwnd to? RFC6675 (TCP SACK) suggests following on detecting loss: ssthresh = cwnd = (FlightSize / 2) RFC5681 (TCP Congestion control) suggest: ssthresh = max (FlightSize / 2, 2*SMSS) cwnd = (ssthresh + 3*SMSS) (Here, FlightSize is bytes in flight.) OR should we let whatever congestion control (CC) algo in control decide that value? Cheers, Hiren --0vzXIDBeUiKkjNJl Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQF8BAABCgBmBQJWFXiBXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXRBNEUyMEZBMUQ4Nzg4RjNGMTdFNjZGMDI4 QjkyNTBFMTU2M0VERkU1AAoJEIuSUOFWPt/lRAUH/2wsJssQ1BkEbbMERnVTQfLB SsM1+mJwu5BZDz39l+Z5HtxmNmN5Rz18oMkFxWFOEmbhxXAU3NWXwEyFiPZpwHvY r2SDrlNjUfy2d/D/uH4IHgLrq/zweD7w3zPrpn1j4zcm/g4rNl3HV+ATb8DUEzhg LXWMy1kSc2v/Qg6EcqCmO01EitBh7NI0xqgMB/BQF1y00enoi4UJAguDqLNEZPLV 9AlI6hkHI5txekm2BQTfLVXRcetSqd74bI99reTtqYiMUABj/c5Iz189LXPXQJq6 SBXsn+Dc67EWyWR3QKKP0hMIxZ31tCZwseeKj3uYrbzGDUqmNvcsqtaZSG4Kt/0= =lOoe -----END PGP SIGNATURE----- --0vzXIDBeUiKkjNJl--