From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from korolev.univ-paris7.fr (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 9BBC33B29D for ; Mon, 1 Apr 2024 09:20:04 -0400 (EDT) Received: from potemkin.univ-paris7.fr (potemkin.univ-paris7.fr [IPv6:2001:660:3301:8000::1:1]) by korolev.univ-paris7.fr (8.14.4/8.14.4/relay1/82085) with ESMTP id 431DK2W4018788 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Mon, 1 Apr 2024 15:20:02 +0200 Received: from mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [81.194.30.253]) by potemkin.univ-paris7.fr (8.14.4/8.14.4/relay2/82085) with ESMTP id 431DK2eO024337 for ; Mon, 1 Apr 2024 15:20:02 +0200 Received: from mailhub.math.univ-paris-diderot.fr (localhost [127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTP id 81F9F568BB for ; Mon, 1 Apr 2024 15:20:02 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=irif.fr; h= content-type:content-type:mime-version:user-agent:subject :subject:from:from:message-id:date:date:received:received; s= dkim-irif; t=1711977601; x=1712841602; bh=6vHZMVRQK1eMh5Vp26yZF5 hcuHhgMTQqQG+WS3r6P1U=; b=EAwG914aCU4bcFLLyvLvGP4Nq3Nhr8trUxenXX CEdspnxZ9geCr2a12K+oobvx0Z8HMtENaqzrOGKJzrQ8XssRLlcLh56T6s8WdTFb +ozl/Plxjdjd61IRls47O4lJAtF3tN0MXke0QAbhhDsg6B5etzrJaQb2mB2B9t/B gy4BUanxpLw1kUKjiGvkIb+Vd3jIj7nZ0iSXVq+Sof67KILxqF2Bf181c0hcso82 LFWDyJNJOP+oT9UUG4NkWxvCNaJ2uiGluhl4GTTA9EhEr1aPKorQKlmO9nebcOR2 r9/L3D8DUebbIenoV35FJ9Hk6Pd6zzCtFT2vlDLg99u3VKfw== X-Virus-Scanned: amavisd-new at math.univ-paris-diderot.fr Received: from mailhub.math.univ-paris-diderot.fr ([127.0.0.1]) by mailhub.math.univ-paris-diderot.fr (mailhub.math.univ-paris-diderot.fr [127.0.0.1]) (amavisd-new, port 10023) with ESMTP id 4Z7r6tfRgXK6 for ; Mon, 1 Apr 2024 15:20:01 +0200 (CEST) Received: from pirx.irif.fr (unknown [78.194.40.74]) (Authenticated sender: jch) by mailhub.math.univ-paris-diderot.fr (Postfix) with ESMTPSA id D794B567DC for ; Mon, 1 Apr 2024 15:20:00 +0200 (CEST) Date: Mon, 01 Apr 2024 15:20:00 +0200 Message-ID: <87frw5nrsv.wl-jch@irif.fr> From: Juliusz Chroboczek To: bloat User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/29.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (korolev.univ-paris7.fr [IPv6:2001:660:3301:8000::1:2]); Mon, 01 Apr 2024 15:20:02 +0200 (CEST) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (potemkin.univ-paris7.fr [194.254.61.141]); Mon, 01 Apr 2024 15:20:02 +0200 (CEST) X-Miltered: at korolev with ID 660AB482.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-Miltered: at potemkin with ID 660AB482.000 by Joe's j-chkmail (http : // j-chkmail dot ensmp dot fr)! X-j-chkmail-Enveloppe: 660AB482.000 from potemkin.univ-paris7.fr/potemkin.univ-paris7.fr/null/potemkin.univ-paris7.fr/ X-j-chkmail-Enveloppe: 660AB482.000 from mailhub.math.univ-paris-diderot.fr/mailhub.math.univ-paris-diderot.fr/null/mailhub.math.univ-paris-diderot.fr/ X-j-chkmail-Score: MSGID : 660AB482.000 on korolev.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Score: MSGID : 660AB482.000 on potemkin.univ-paris7.fr : j-chkmail score : . : R=. U=. O=. B=0.000 -> S=0.000 X-j-chkmail-Status: Ham X-j-chkmail-Status: Ham Subject: [Bloat] The sad state of MP-TCP X-BeenThere: bloat@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: General list for discussing Bufferbloat List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 01 Apr 2024 13:20:04 -0000 Hi, For those of you who don't remember, MP-TCP is an extension to TCP that implements multipath, and can be used both for fast roaming (redundancy) and for bandwidth aggregation. MP-TCP is able to cross NATs, and it can reliably detect that TCP extensions are being corrupted by middleboxes and transparently fall back to plain TCP. MP-TCP is an IETF standard. MP-TCP is in the Linux kernel since 5.6, and it has good performance since 5.12 [1]. It's also in Apple's kernels (it's used by Siri for fast roaming). Unfortunately, MP-TCP does not replace TCP in Linux, it's implemented as a separate transport protocol. That means that in order to use MP-TCP, every application needs to be patched to use PROT_MPTCP instead of PROT_TCP. Go applications need to call SetMultipathTCP(true) on every net.Conn and every net.Listener. There should be a knob in the kernel to transparently replace TCP with MP-TCP, but I couldn't find one. And of course no applications are being patched. Ssh is probably the application which I'd be most keen to run over MP-TCP [2], but the patch is being blocked upstream [3]. For what it's worth, I've just added MP-TCP support to storrent [4], with a view to making it enabled by default, which means that all three storrent users will get MP-TCP out of the box. Dave, are you looking for a new crusade? [1] https://github.com/multipath-tcp/mptcp_net-next/wiki#changelog [2] http://blog.multipath-tcp.org/blog/html/2022/07/08/openssh.html [3] https://github.com/openssh/openssh-portable/pull/335 [4] https://github.com/jech/storrent/commit/c8d95c17f4227da77b97d5b7a9bdf289fea44aca -- Juliusz