From owner-freebsd-net@FreeBSD.ORG Wed Feb 13 18:37:54 2013 Return-Path: Delivered-To: net@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 9AEBD558; Wed, 13 Feb 2013 18:37:54 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-we0-x235.google.com (mail-we0-x235.google.com [IPv6:2a00:1450:400c:c03::235]) by mx1.freebsd.org (Postfix) with ESMTP id C0C0088B; Wed, 13 Feb 2013 18:37:53 +0000 (UTC) Received: by mail-we0-f181.google.com with SMTP id t44so1258374wey.12 for ; Wed, 13 Feb 2013 10:37:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=F/vkrkgr+YDTI5/tM/T7TO0B639XDYvG4zmOC3S1d8Y=; b=J8HdYiTl2dUCUFxOE4KMETFfbQnjfphl4u3QxindgP7bQuCZJQ4vHCg7VOs/TF2j2p C3kGVxwUL8FivA/BPvWRZ82YVLnENIyRl7flgwLUhpwrNUGVm4JjcAoKlwTseZztENBe MsT16IzJJCOWhSn9lO7USvWZjaviusAUq8q/RA7w9bHS/ivdnm3G62Zle8ceRdtFPN3X daD2NZZ1fEsgdh4YNHUnrf40PbqRgI/qedixlUn50MJJS3P6NNe/c4/ru7EKXJbCdEa6 0fcuCQLwvBJcZ8vjHI1Z8n/t6Z1bIIs1cX0BnSkRZBbwes3zcUIO/CEFL8mGEbH0GURZ 1ljg== MIME-Version: 1.0 X-Received: by 10.194.161.135 with SMTP id xs7mr40180707wjb.41.1360780672062; Wed, 13 Feb 2013 10:37:52 -0800 (PST) Sender: adrian.chadd@gmail.com Received: by 10.216.236.88 with HTTP; Wed, 13 Feb 2013 10:37:51 -0800 (PST) In-Reply-To: <511B6A87.5060000@freebsd.org> References: <201301221511.02496.jhb@freebsd.org> <511B4DEF.8000500@freebsd.org> <511B6A87.5060000@freebsd.org> Date: Wed, 13 Feb 2013 10:37:51 -0800 X-Google-Sender-Auth: HOGjc5jmeggVz5EVsGVZYjwM4Tc Message-ID: Subject: Re: [PATCH] Add a new TCP_IGNOREIDLE socket option From: Adrian Chadd To: Andre Oppermann Content-Type: text/plain; charset=ISO-8859-1 Cc: Lawrence Stewart , John Baldwin , net@freebsd.org X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Feb 2013 18:37:54 -0000 On 13 February 2013 02:27, Andre Oppermann wrote: > Again I'd like to point out that this sort of modification should > be implemented as a congestion control module. All the hook points > are already there and can readily be used instead of adding more special > cases to the generic part of TCP. The CC algorithm can be selected per > socket. For such a special CC module it'd get a nice fat warning that > it is not suitable for Internet use. > > Additionally I speculate that for the use-case of John he may also be > willing to forgo congestion avoidance and always operate in (ill-named) > "slow start" mode. With a special CC module this can easily be tweaked. There are some cute things that could be done here - eg, having an L3 route table entry map to a congestion control (like having an MSS in the L3 entry too.) But I'd love to see some modelling / data showing competing congestion control algorithms on the same set of congested pipes. Doubly so on multiple congested pipes (ie, modelling a handful of parallel user<->last-mile<->IX<->various transit feeds with different levels of congestion/RTT<->IX<->last mile<->user connections.) You all know much more about this than I do. :-) Thanks, Adrian