Re: [multipathtcp] Regarding rate control at a subflow level

<> Thu, 30 May 2019 17:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 22252120146 for <>; Thu, 30 May 2019 10:53:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 12sem8m0FFVm for <>; Thu, 30 May 2019 10:53:26 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 4E2641200B6 for <>; Thu, 30 May 2019 10:53:26 -0700 (PDT)
Received: from ( by ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.1.1713.5; Thu, 30 May 2019 18:53:21 +0100
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 30 May 2019 18:53:22 +0100
Received: from ( by ( with Microsoft SMTP Server (TLS) id 15.0.1395.4 via Frontend Transport; Thu, 30 May 2019 18:53:22 +0100
Received: from ( by ( with Microsoft SMTP Server (TLS) id 14.3.439.0; Thu, 30 May 2019 18:50:07 +0100
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vdJZ2exKvRcImTo1IBy/rvQXsJYuqCUnpVHzZDQ+2Lo=; b=n07lV48lxlnsWBphXsaQaxeyrpF9mBeNB4HFfa5MwGgvNB21LUrpftj1sFBMJdtsSk5aT7vyRSJLHSOHPXOkR6Q2VZak8wmwIhUr2QoYIYUezsd1tjrWYe8iDlgDh97T/c2ptRy2DvcvTHbtMx8L7NBebH7zalE3Fwi6ndIEJTs=
Received: from LO2P123MB1965.GBRP123.PROD.OUTLOOK.COM ( by LO2P123MB1822.GBRP123.PROD.OUTLOOK.COM ( with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1922.16; Thu, 30 May 2019 17:53:19 +0000
Received: from LO2P123MB1965.GBRP123.PROD.OUTLOOK.COM ([fe80::ccd0:2c37:ba0a:e1b1]) by LO2P123MB1965.GBRP123.PROD.OUTLOOK.COM ([fe80::ccd0:2c37:ba0a:e1b1%4]) with mapi id 15.20.1922.021; Thu, 30 May 2019 17:53:19 +0000
Thread-Topic: [multipathtcp] Regarding rate control at a subflow level
Thread-Index: AdUMWULM15YYbMauQ2OybE7pkHW5IQAPgMiAAJ7rTAAB/BSx4A==
Date: Thu, 30 May 2019 17:53:19 +0000
Message-ID: <LO2P123MB1965EA246F2652E9D5C47731EB180@LO2P123MB1965.GBRP123.PROD.OUTLOOK.COM>
References: <> <> <20190520135014.GG41806@MacBook-Pro-64.local>
In-Reply-To: <20190520135014.GG41806@MacBook-Pro-64.local>
Accept-Language: en-GB, en-US
Content-Language: en-US
authentication-results: spf=none (sender IP is );
x-originating-ip: []
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: c07c2752-6fbb-4a66-d5b1-08d6e527b395
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(5600148)(711020)(4605104)(1401327)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020); SRVR:LO2P123MB1822;
x-ms-traffictypediagnostic: LO2P123MB1822:
x-ms-exchange-purlcount: 1
x-antispam-2: 1
x-microsoft-antispam-prvs: <LO2P123MB1822B19D1EEDC761A2D69B4FEB180@LO2P123MB1822.GBRP123.PROD.OUTLOOK.COM>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 00531FAC2C
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(39860400002)(376002)(346002)(136003)(366004)(396003)(199004)(13464003)(189003)(486006)(76176011)(53936002)(66066001)(52536014)(316002)(74316002)(110136005)(54906003)(14454004)(71190400001)(102836004)(6246003)(5660300002)(86362001)(6506007)(53546011)(7696005)(71200400001)(11346002)(446003)(6116002)(26005)(476003)(3846002)(186003)(66476007)(9686003)(76116006)(66556008)(66946007)(14444005)(229853002)(305945005)(55016002)(81156014)(7736002)(6306002)(99286004)(8676002)(2906002)(64756008)(33656002)(68736007)(73956011)(4326008)(256004)(6436002)(25786009)(966005)(478600001)(8936002)(81166006)(66446008)(20673002); DIR:OUT; SFP:1101; SCL:1; SRVR:LO2P123MB1822; H:LO2P123MB1965.GBRP123.PROD.OUTLOOK.COM; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None ( does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: 6g8hoEualIO0Bb5YRXxC0AFQnWpgiN03xHsG3uMrDxy7y06jvHyyQksNTrDDKV6m7x8cfz2cOUxI7HAFsY4J41Ot5SsZLE70pu15npck7hHv33snudnu7XBC/WgfjsVKqE/W7xADr0cZChPLWhxFQbzQKlug21C/VGv12Y1Ou4kbMKRoznBOX7XKnkz7R/Hig00gARF2T6S7JCM1xTG97A7uib3NH/vpnBuD9EvkjY2AtABbb0nj3IUkzzOF4ZYK1izwGxxg20ZQvNxqt1IA1JOhZUoTEDHQjT8+TchV1tim3EpBwoSlLNPIyBJt2czD/jopXJZ7LeKIfVOIKy85pQnTgkTiAwlPNxT6O1Qa1KopfGQc5y9eHSCl5RAU3rN5QjbLLUnpRE2aKCXwlDfMWnaZX48wmlOLyWSOEuSGOmo=
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-MS-Exchange-CrossTenant-Network-Message-Id: c07c2752-6fbb-4a66-d5b1-08d6e527b395
X-MS-Exchange-CrossTenant-originalarrivaltime: 30 May 2019 17:53:19.8290 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a7f35688-9c00-4d5e-ba41-29f146377ab0
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: LO2P123MB1822
Archived-At: <>
Subject: Re: [multipathtcp] Regarding rate control at a subflow level
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multi-path extensions for TCP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 30 May 2019 17:53:29 -0000

I think the use case a hybrid operator could be interested in is the following. Similar to Alexander's use case.

We want to provide a particular customer with broadband access that is faster than their DSL alone can provide, for instance to meet some minimum rate to meet a target of say 20Mbps. The rate can't quite be met by DSL, therefore cellular or even satellite is used as a top-up. DSL capacity is much cheaper than cellular /satellite, therefore the ideal scheduler would favour DSL. It would react reasonably quickly to increased total load above the DSL rate (but not so fast that the instantaneous rate from a variable rate source 'kicks in' the cellular when the rate over a slightly longer time can be met by DSL). Note that the DSL rate is not completely static.  It supports deployments with a proxy in the home gateway and in the network (under the control of the operator), and deployments where there's only the proxy in the network (ie MPTCP is in the multi-interface phone). Possible to ensure that an individual flow goes over only one access. Downward direction (from network to house) more important than upward.  In a long-running session using a lot of bandwidth, because the amount of other traffic varies, it may be that this session sometimes uses just the DSL and sometimes is spread over both accesses. On a minor point, ideally a speed test should measure the rate correctly (I don’t mean the scheduler identifies a speed test and favours it; rather, ideally the speed test shouldn’t eg measure just the DSL rate - alternatively re-define the speed test). 

So in terms of Olivier's question below, I think this means that the limit is about the total and not per subflow. 

In terms of mechanism, I'm open to whatever is most suitable. I'm very interested if the best method would mean that ideally some new functionality is added to the MPTCP standard (and by implication to MP-QUIC).

Best wishes,

-----Original Message-----
From: multipathtcp [] On Behalf Of Christoph Paasch
Sent: 20 May 2019 14:50
To: Olivier Bonaventure <>
Cc:; Ashutosh prakash <>; Nagesh shamnur <>
Subject: Re: [multipathtcp] Regarding rate control at a subflow level


On 17/05/19 - 09:59:54, Olivier Bonaventure wrote:
> Dear Nagesh,
> > 
> >                  Greetings. In case of Mobile deployments of MPTCP, 
> > though the data rates are getting cheaper, still it would be wise 
> > not to run the cellular path to full limit but to throttle to a 
> > certain extent considering cost in mind or if server wants to limit 
> > the client at subflow level, then I couldn’t find the support for 
> > the same in the specification.
> We have developed several prototypes that include this capability in 
> the Linux kernel.
> > So, while going through the discussion archives, could only find 
> > that, the peer(server) can throttle the speed for the entire 
> > connection by publishing a smaller receiver window rather than for a 
> > particular subflow. I feel, it would be a good idea if the peers can 
> > exchange this information using the control packets.
> We could imagine an MPTCP option that provides the maximum rate on a 
> per-subflow level, but I was wondering whether the use case is not to 
> limit the bandwidth on the smartphone at the link level (i.e. multiple 
> tcp connections or udp flows) and not at the subflow level. Could you 
> precise your use case for the subflow level ?

another use-case for rate-control I see is when a client wants to tell a sender to gracefully close a subflow.

- Sending a TCP-RST results in packet-loss of the in-flight data.
- Reducing the window is going to stall the whole connection because the window is shared.
- Setting MP_PRIO also won't work because none might want to drain a secondary
  subflow even if the "primary" subflow is having severe packet-loss.

Thus, a "maximum-rate" option on a per-subflow level would allow to send the rate to 0, which would drain the subflow.


multipathtcp mailing list