[multipathtcp] Some comments on RFC 6824

Rao Shoaib <rao.shoaib@oracle.com> Wed, 24 June 2015 05:36 UTC

Return-Path: <rao.shoaib@oracle.com>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3E14D1ACE92 for <multipathtcp@ietfa.amsl.com>; Tue, 23 Jun 2015 22:36:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.211
X-Spam-Level:
X-Spam-Status: No, score=-4.211 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id RUPOkOqOga7B for <multipathtcp@ietfa.amsl.com>; Tue, 23 Jun 2015 22:35:59 -0700 (PDT)
Received: from userp1040.oracle.com (userp1040.oracle.com [156.151.31.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 1C1141A0084 for <multipathtcp@ietf.org>; Tue, 23 Jun 2015 22:35:59 -0700 (PDT)
Received: from aserv0022.oracle.com (aserv0022.oracle.com [141.146.126.234]) by userp1040.oracle.com (Sentrion-MTA-4.3.2/Sentrion-MTA-4.3.2) with ESMTP id t5O5Zu0T010171 (version=TLSv1 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 24 Jun 2015 05:35:57 GMT
Received: from aserv0122.oracle.com (aserv0122.oracle.com [141.146.126.236]) by aserv0022.oracle.com (8.13.8/8.13.8) with ESMTP id t5O5ZuxX013144 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 24 Jun 2015 05:35:56 GMT
Received: from abhmp0012.oracle.com (abhmp0012.oracle.com [141.146.116.18]) by aserv0122.oracle.com (8.13.8/8.13.8) with ESMTP id t5O5Zuil021297; Wed, 24 Jun 2015 05:35:56 GMT
Received: from [10.159.253.16] (/10.159.253.16) by default (Oracle Beehive Gateway v4.0) with ESMTP ; Tue, 23 Jun 2015 22:35:56 -0700
Message-ID: <558A41B4.20101@oracle.com>
Date: Tue, 23 Jun 2015 22:35:48 -0700
From: Rao Shoaib <rao.shoaib@oracle.com>
User-Agent: Mozilla/5.0 (X11; Linux i686; rv:31.0) Gecko/20100101 Thunderbird/31.5.0
MIME-Version: 1.0
To: multipathtcp@ietf.org, Olivier Bonaventure <olivier.bonaventure@uclouvain.be>
Content-Type: text/plain; charset="utf-8"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Source-IP: aserv0022.oracle.com [141.146.126.234]
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/ugMIu566McQMn8YCju-CTjW9beY>
Subject: [multipathtcp] Some comments on RFC 6824
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multipathtcp/>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jun 2015 05:36:00 -0000

Hi All,

I am implementing MPTCP in Solaris and have a few comments below based 
on my implementation experience so far.

1) Currently the RFC says that checksum in DSS option 'SHOULD' be 
present.  Requiring checksum is a performance killer because it has to 
be calculated in the software and needs to be calculated over the ENTIRE 
mapping. This also means that the receiver has to wait to receive the 
complete mapping worth of data before it can be processed. More 
importantly these days most  NIC's support HW checksum offload and that 
feature is commonly used, this requirement makes this important HW 
feature useless.

I am hoping that the requirement of requiring checksum in the DSS option 
be relaxed and may even not be required in a data center.

2) The RFC does not say what the initial subflow sequence number should 
be. Can this be made clear. Why not use the TCP sequence number of the 
subflow.

3) When calculating the HMAC, token, key's sequence number etc it is not 
at all clear which values have to be in network byte order and which 
not. Can this be explicitly specified in the RFC.

4) Can we not allow dropping a segment after it has been acked at the 
subflow level. It is very unlikely that a network element would drop a 
TCP segment after it has been processed and acked. Making this change 
would make buffer management much easier. If an element can drop a 
packet than it should not ack,  but other implementation should not be 
burdened by this requirement.

Thanks,

Shoaib