Re: [multipathtcp] 6824bis -11 review

Christoph Paasch <cpaasch@apple.com> Wed, 01 August 2018 17:26 UTC

Return-Path: <cpaasch@apple.com>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id B40D7130EC6 for <multipathtcp@ietfa.amsl.com>; Wed, 1 Aug 2018 10:26:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
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 U358Lwhlgopt for <multipathtcp@ietfa.amsl.com>; Wed, 1 Aug 2018 10:26:44 -0700 (PDT)
Received: from nwk-aaemail-lapp03.apple.com (nwk-aaemail-lapp03.apple.com [17.151.62.68]) (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 8D258130DD7 for <multipathtcp@ietf.org>; Wed, 1 Aug 2018 10:26:44 -0700 (PDT)
Received: from pps.filterd (nwk-aaemail-lapp03.apple.com [127.0.0.1]) by nwk-aaemail-lapp03.apple.com (8.16.0.22/8.16.0.22) with SMTP id w71HQNrQ014406; Wed, 1 Aug 2018 10:26:40 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=mime-version : content-transfer-encoding : content-type : sender : date : from : to : cc : subject : message-id : references : in-reply-to; s=20180706; bh=C/oxd8r8oFgJlobipTHizaUyf0npYLInC7G5YU7rbAo=; b=Bib00GWPCKQFFZscVSWAoKALP2V3G08ViEeSvJ4jIUl6b9X99h9shXyQkvLKZj0l96/8 K7w/mEDd1ReY7jk9fPZRMXLKOv4hi6ClRy1E67X/cIF1zLRVRMHKrCsa4XDCWkG3/jMk /TT9zkv6uGHrBAVnfARsctHYcxm6CLNqKHzEsHh6PLJkG1UtMmZrvKlb+qo9q8iSbNvK rHaOilNJTX283EUGSGliol5YTQ83bXJD3p5PmsAnh/uHtLAovxle66vWq5XOD0ViwI5G +3k/3JBIrSXxjbCa4X+wzmNAydDMrn5Ddul9b6iWlfrv9W/e6HGKYv3pMnhQh1150orp tA==
Received: from relay3.asia.apple.com (relay-server.asia.apple.com [17.82.200.17]) by nwk-aaemail-lapp03.apple.com with ESMTP id 2kgn15rkur-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Wed, 01 Aug 2018 10:26:40 -0700
X-AuditID: 1152c811-18bff70000006498-92-5b61ed4cbee5
Received: from sg3-mmpp-sz01.asia.apple.com ( [17.84.80.93]) (using TLS with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by relay3.asia.apple.com (Apple Singapore relay) with SMTP id 74.2B.25752.C4DE16B5; Thu, 2 Aug 2018 01:26:36 +0800 (MYT)
MIME-version: 1.0
Content-transfer-encoding: 8bit
Content-disposition: inline
Content-type: text/plain; charset="utf-8"
Received: from localhost ([17.192.155.217]) by sg3-mmpp-sz01.asia.apple.com (Oracle Communications Messaging Server 8.0.2.3.20180614 64bit (built Jun 14 2018)) with ESMTPSA id <0PCS00ELDLSAZT00@sg3-mmpp-sz01.asia.apple.com>; Thu, 02 Aug 2018 01:26:36 +0800 (+08)
Sender: cpaasch@apple.com
Date: Wed, 01 Aug 2018 10:26:34 -0700
From: Christoph Paasch <cpaasch@apple.com>
To: Alan Ford <alan.ford@gmail.com>
Cc: Rahul Arvind Jadhav <rahul.jadhav@huawei.com>, multipathtcp <multipathtcp@ietf.org>
Message-id: <20180801172634.GB4738@MacBook-Pro-19.local>
References: <982B626E107E334DBE601D979F31785C5DC5A15C@BLREML503-MBX.china.huawei.com> <92A53501-4728-4E02-816A-92CEE703AA49@gmail.com> <20754FD9-627F-4AAC-A1B5-6EF2BD09B2AD@gmail.com> <982B626E107E334DBE601D979F31785C5DC5D84B@BLREML503-MBS.china.huawei.com> <AEC8384E-87BB-48F4-9C42-58D2A6FCF251@gmail.com> <982B626E107E334DBE601D979F31785C5DC6884D@BLREML503-MBS.china.huawei.com> <2FB78E5E-961F-4077-815F-158142B8E7E2@gmail.com>
In-reply-to: <2FB78E5E-961F-4077-815F-158142B8E7E2@gmail.com>
User-Agent: Mutt/1.9.4 (2018-02-28)
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrELMWRmVeSWpSXmKPExsUiGBIQq+vzNjHaYMpkSYuV51YwW3xefZ3N Yv2LjSwOzB47Z91l92g58pbVY8mSn0wBzFFcNimpOZllqUX6dglcGUtuTWcu2ChacfRyO2sD 43uBLkZODgkBE4ljZ56wdzFycQgJLGOSeHuhixkkwSsgKPFj8j2WLkYODmYBeYkjl7JBwswC 0hKP/s5ghwirS0yZkgsSFhLoYZLYtzoJxBYWkJTovnMHbAqLgKpE59N9bCA2m4CWxNvb7awg rSICyhLLZ7FCTIyUmPF1DjNEq57Elp/HGCEOsJDY+vEaG8Rlu5klbn5tBiviFLCVmN+3AKxZ FGjOgW3HmSYwCs5CcvQshKNnITl6FsLRCxhZVjGKFqXmJFYa6yUWZybqJRYU5KTqJefnbmIE hXTQCcEdjB+mGh5iFOBgVOLh5XiQGC3EmlhWXJl7iFGCg1lJhHfOa6AQb0piZVVqUX58UWlO avEhRmkOFiVxXous2ighgfTEktTs1NSC1CKYLBMHp1QDo5Hj96t2X5eWcmX3f91RdVmHYZLH r85mqSmbap7HX7Riy79uKvEq/OX3S/9Z7v+cK3/61bPjpn+dUg9Vb9i8+8TLh586Z76cb620 S2Hmkg/bnHYoKtk4v3jvXs9+I5TlhPED4wp+u4nz5qotffy64Uwig/u8vVP+b1vJf8SEOWDD xcJZM/+FXuZXYinOSDTUYi4qTgQAr4+x8GUCAAA=
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2018-08-01_06:, , signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/multipathtcp/jMiTfQVpwifUIADq0chJiQdScDA>
Subject: Re: [multipathtcp] 6824bis -11 review
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.27
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, 01 Aug 2018 17:26:46 -0000

On 31/07/18 - 13:07:06, Alan Ford wrote:
> Hi Rahul, all,
> 
> > On 31 Jul 2018, at 01:21, Rahul Arvind Jadhav <rahul.jadhav@huawei.com> wrote:
> >  
> > c) sending a new ADD_ADDR with same ID + address and different port is fine
> > [RJ] again this is what the text already says, but I’m not still clear about this. Why ID + address has to match? Only ID should be enough. 
> >  
> > Consider:
> >  
> > a) ADD_ADDR comes in saying ID=2, addr=10.0.0.1 (private)
> > b) MP_JOIN comes in saying ID=2, addr=8.9.10.11 (public)
> > c) ADD_ADDR comes in saying ID=2, addr=192.168.0.1
> >  
> > What does this mean? Is (c) an implicit REMOVE+ADD? And thus does this mean the subflow created in (b) is now no longer valid?
> >  
> > By keeping the address / ID mapping, if an address is lost, then so is the subflow.
> >  
> > [RJ2] Rather than viewing ( c) as an implicit REMOVE+ADD, can we see it as an UPDATE? Because ID remains same. Subflow created in (b) remains valid (not sure if I’m missing anything here, I see no reason to lose this subflow).
> > In step ( c), the receiver can override Address field in context to ID=2 to the new addr (192.168.0.1) ……   8.9.10.11 is kept separately as the learnt actual rcvd IP (from MP_JOIN) in the same context ID=2. We have to agree that an implementation needs to maintain this IP separately in context to ID=2 anyways.
> > So if we do an explicit REMOVE+ADD, the end result is the same as this UPDATE (but with much less overhead & impl ease).
> 
> I would be interested in hearing from other implementers here… Is there an issue with “updating” using ADD_ADDR?
> 
> Given we say that REMOVE_ADDR should not remove a subflow if it’s still alive, we have precedent for implying a subflow can exist to an address which does not have an Address ID - to - IP address mapping.
> 
> So given that, does updating, as Rahul suggests, cause a problem?

I haven't yet implemented MPTCP path-management in a way that both sides can
trigger the creation of a subflow - which is the scenario we are concerned
about here.


If we would try to do this, I think we should always "believe" the latest
information that we are receiving. In the above scenario, this would mean
that (c) would update the Address-ID to IP mapping.

Yes, it's a private IP and probably not routable - but that simply means
that there is an implementation-bug on the client as he should not have
announced the IP in the first place.

Should (c) trigger a removal the subflow established in (b) ? I don't think
so. As long as the subflow is working fine,... we should keep it. Only
REMOVE_ADDR should trigger an explicit removal.

That's just my opinion.


Christoph