Re: [multipathtcp] rfc6824bis - RST after MP_FASTCLOSE retransmission

Olivier Bonaventure <> Wed, 24 May 2017 08:28 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 6566C12896F for <>; Wed, 24 May 2017 01:28:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.601
X-Spam-Status: No, score=-1.601 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-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 LRcFoAXA9Iy8 for <>; Wed, 24 May 2017 01:28:35 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 0032A12714F for <>; Wed, 24 May 2017 01:28:34 -0700 (PDT)
Received: from mbpobo.local (unknown []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: by (Postfix) with ESMTPSA id BDB7F67DDE3; Wed, 24 May 2017 10:28:26 +0200 (CEST)
DKIM-Filter: OpenDKIM Filter v2.9.2 BDB7F67DDE3
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple;; s=selucl; t=1495614506; bh=jCIqUHDksxutYP/6Y+cLY50Aa7MXW6fKz91vOOAykBM=; h=Reply-To:Subject:To:Cc:References:From:Date:In-Reply-To; b=HTcY1ctQlwqxWFLQIQruxMDzGOEw6L3lioLl3zV/0CqjVO0ldNd9XjH0LduscJDdB 9pvtFEh0iC89FyZg3y2gXhcpn9Wkwe49gE7iI5s9/o3NrCr5S6337cnvL0Pby5XZSA 2UkX4+N5k9TxGr+lkAsyUg8K7bD1kkmerxJfrRSE=
X-Virus-Status: Clean
X-Virus-Scanned: clamav-milter 0.99.2 at smtp-2
To: Christoph Paasch <>, =?UTF-8?Q?Fran=c3=a7ois_Finfe?= <>
References: <> <>
From: Olivier Bonaventure <>
Message-ID: <>
Date: Wed, 24 May 2017 10:28:30 +0200
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:52.0) Gecko/20100101 Thunderbird/52.1.1
MIME-Version: 1.0
In-Reply-To: <>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: fr-classic
Content-Transfer-Encoding: 8bit
X-Sgsi-Spamcheck: SASL authenticated,
X-SGSI-MailScanner-ID: BDB7F67DDE3.A5CBF
X-SGSI-MailScanner: Found to be clean
X-SGSI-Spam-Status: No
Archived-At: <>
Subject: Re: [multipathtcp] rfc6824bis - RST after MP_FASTCLOSE retransmission
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Multi-path extensions for TCP <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 24 May 2017 08:28:37 -0000

Christoph, Fran├žois,

>> To mitigate this issue, here is a proposal for rfc6824bis:
>> - When the limit of MP_FASTCLOSE retransmission is reached, a TCP RST
>>    could be sent by host A.
>> - In this scenario, firewall M forwards the TCP RST packet and removes
>>    the connection state.
>> This TCP RST packet could contain the MP_FASTCLOSE option.
> wouldn't this exact same scenario happen with regular TCP as well?

Yes, indeed. The difference in MPTCP is that we have sent a RST on all 
subflows except the one where we sent the MP_FASTCLOSE. In fact, the 
MP_FASTCLOSE that we send indicates that we want to remove state for 
this MPTCP connection and the corresponding subflow.

> For example, host A is sending data while host B at one point decides to
> drop the connection with a TCP RST. This TCP RST gets lost between firewall
> N and M. A will keep on retransmitting its data until it gives up and
> signals an ETIMEDOUT to the application upon which the socket gets silently
> closed.

Agreed, but here we are in a situation where the application has already 
accepted to close the connection.

> If we deem the problem severe enough in MPTCP to address it for the
> MP_FASTCLOSE scenario, then I think it should in general be considered for
> TCP that when a connection times out it must be closed with a TCP RST.

In general, I think that it would be wise for a TCP stack to send a RST 
when the stack decides to remove state for a connection.

For MPTCP, a possible modification to rfc6824bis could be

    o  If Host A does not receive a TCP RST in reply to its MP_FASTCLOSE
       after one retransmission timeout (RTO) (the RTO of the subflow
       where the MPTCP_RST has been sent), it SHOULD retransmit the
       MP_FASTCLOSE.  The number of retransmissions SHOULD be limited to
       avoid this connection from being retained for a long time, but
       this limit is implementation specific.  A RECOMMENDED number is 3.

We could add. a sentence like : After 3 retransmission of the 
MP_FASTCLOSE without any TCP RST in response, Host A MAY send a TCP RST 
when it releases the state for this MPTCP connection.