Re: [multipathtcp] Multipath Address Family

"Laganier, Julien" <julienl@qualcomm.com> Tue, 24 November 2009 23:09 UTC

Return-Path: <julienl@qualcomm.com>
X-Original-To: multipathtcp@core3.amsl.com
Delivered-To: multipathtcp@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 29A9D3A67AB for <multipathtcp@core3.amsl.com>; Tue, 24 Nov 2009 15:09:02 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.557
X-Spam-Level:
X-Spam-Status: No, score=-105.557 tagged_above=-999 required=5 tests=[AWL=1.042, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Q1QwwrwiNPXg for <multipathtcp@core3.amsl.com>; Tue, 24 Nov 2009 15:09:01 -0800 (PST)
Received: from wolverine01.qualcomm.com (wolverine01.qualcomm.com [199.106.114.254]) by core3.amsl.com (Postfix) with ESMTP id 104AB3A67AF for <multipathtcp@ietf.org>; Tue, 24 Nov 2009 15:09:01 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=qualcomm.com; i=julienl@qualcomm.com; q=dns/txt; s=qcdkim; t=1259104137; x=1290640137; h=from:to:cc:date:subject:thread-topic:thread-index: message-id:references:in-reply-to:accept-language: content-language:x-ms-has-attach:x-ms-tnef-correlator: acceptlanguage:content-type:content-transfer-encoding: mime-version:x-ironport-av; z=From:=20"Laganier,=20Julien"=20<julienl@qualcomm.com> |To:=20Joe=20Touch=20<touch@ISI.EDU>|CC:=20=3D?iso-8859-1 ?Q?Michael_T=3DFCxen?=3D=20<Michael.Tuexen@lurchi.franken .de>,=0D=0A=20=20=20=20=20=20=20=20William=20Herrin=20<bi ll@herrin.us>,=0D=0A=20=20=20=20=20=20=20=20"multipathtcp @ietf.org"=0D=0A=09<multipathtcp@ietf.org>|Date:=20Tue, =2024=20Nov=202009=2015:08:53=20-0800|Subject:=20RE:=20[m ultipathtcp]=20Multipath=20Address=20Family|Thread-Topic: =20[multipathtcp]=20Multipath=20Address=20Family |Thread-Index:=20AcptWf7TjHI3SaBvSI63YCuPXEvTKQAACg5g |Message-ID:=20<BF345F63074F8040B58C00A186FCA57F1C65FB29C 6@NALASEXMB04.na.qualcomm.com>|References:=20<E9EE0C1A-C9 D3-4EBC-97FD-E1B1628CD2E7@iki.fi>=0D=0A=09<3c3e3fca091109 0542h54e45784qbdbf1f338a4c3e90@mail.gmail.com>=0D=0A=09<E 03D46E1-51EA-4273-A8A7-4F37F88B2E92@iki.fi>=0D=0A=09<2009 1123.092214.140617438.nishida@sfc.wide.ad.jp>=0D=0A=09<48 DA092B-F3BC-432E-A199-B265DDED39DA@iki.fi>=0D=0A=09<3c3e3 fca0911240434p4d95ec7an34615ae218faa4f@mail.gmail.com>=0D =0A=09<C622F375-EE67-46AE-AC28-6617CFEF6D12@lurchi.franke n.de>=0D=0A=20<BF345F63074F8040B58C00A186FCA57F1C65FB29B9 @NALASEXMB04.na.qualcomm.com>=0D=0A=20<4B0C607A.6060503@i si.edu>=0D=0A=20<BF345F63074F8040B58C00A186FCA57F1C65FB29 C0@NALASEXMB04.na.qualcomm.com>=0D=0A=20<4B0C6590.9010000 @isi.edu>|In-Reply-To:=20<4B0C6590.9010000@isi.edu> |Accept-Language:=20en-US|Content-Language:=20en-US |X-MS-Has-Attach:|X-MS-TNEF-Correlator:|acceptlanguage: =20en-US|Content-Type:=20text/plain=3B=20charset=3D"iso-8 859-1"|Content-Transfer-Encoding:=20quoted-printable |MIME-Version:=201.0|X-IronPort-AV:=20E=3DMcAfee=3Bi=3D"5 400,1158,5812"=3B=20a=3D"28361850"; bh=bkDV/cH2/c6Bfo++7p6fzKFpuBOVlUYyjAXzMPOYGv8=; b=AdwliOEF2yrj0BwlzxRbdfNCdYnyNfJAliQeG3AXe97NVPs4AwwPAi0Q 9qOYBkLBF9mohlaqaTRUP7ubZUjc21oE4kBrTn1nnfvrBQu6o734tNO7y ++5exvZ7h8URieDe+wxOvrSjMgrmj7yP/zIsADVjjk4A2+0CvE16Yth0+ A=;
X-IronPort-AV: E=McAfee;i="5400,1158,5812"; a="28361850"
Received: from pdmz-ns-mip.qualcomm.com (HELO numenor.qualcomm.com) ([199.106.114.10]) by wolverine01.qualcomm.com with ESMTP; 24 Nov 2009 15:08:56 -0800
Received: from msgtransport05.qualcomm.com (msgtransport05.qualcomm.com [129.46.61.150]) by numenor.qualcomm.com (8.14.2/8.14.2/1.0) with ESMTP id nAON8uqP030552 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Tue, 24 Nov 2009 15:08:56 -0800
Received: from nasanexhub01.na.qualcomm.com (nasanexhub01.na.qualcomm.com [10.46.93.121]) by msgtransport05.qualcomm.com (8.14.2/8.14.2/1.0) with ESMTP id nAON8tMl021529 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT); Tue, 24 Nov 2009 15:08:56 -0800
Received: from nalasexhub04.na.qualcomm.com (10.47.130.55) by nasanexhub01.na.qualcomm.com (10.46.93.121) with Microsoft SMTP Server (TLS) id 8.2.176.0; Tue, 24 Nov 2009 15:08:55 -0800
Received: from NALASEXMB04.na.qualcomm.com ([10.47.7.118]) by nalasexhub04.na.qualcomm.com ([10.47.130.55]) with mapi; Tue, 24 Nov 2009 15:08:55 -0800
From: "Laganier, Julien" <julienl@qualcomm.com>
To: Joe Touch <touch@ISI.EDU>
Date: Tue, 24 Nov 2009 15:08:53 -0800
Thread-Topic: [multipathtcp] Multipath Address Family
Thread-Index: AcptWf7TjHI3SaBvSI63YCuPXEvTKQAACg5g
Message-ID: <BF345F63074F8040B58C00A186FCA57F1C65FB29C6@NALASEXMB04.na.qualcomm.com>
References: <E9EE0C1A-C9D3-4EBC-97FD-E1B1628CD2E7@iki.fi> <3c3e3fca0911090542h54e45784qbdbf1f338a4c3e90@mail.gmail.com> <E03D46E1-51EA-4273-A8A7-4F37F88B2E92@iki.fi> <20091123.092214.140617438.nishida@sfc.wide.ad.jp> <48DA092B-F3BC-432E-A199-B265DDED39DA@iki.fi> <3c3e3fca0911240434p4d95ec7an34615ae218faa4f@mail.gmail.com> <C622F375-EE67-46AE-AC28-6617CFEF6D12@lurchi.franken.de> <BF345F63074F8040B58C00A186FCA57F1C65FB29B9@NALASEXMB04.na.qualcomm.com> <4B0C607A.6060503@isi.edu> <BF345F63074F8040B58C00A186FCA57F1C65FB29C0@NALASEXMB04.na.qualcomm.com> <4B0C6590.9010000@isi.edu>
In-Reply-To: <4B0C6590.9010000@isi.edu>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "multipathtcp@ietf.org" <multipathtcp@ietf.org>
Subject: Re: [multipathtcp] Multipath Address Family
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/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: Tue, 24 Nov 2009 23:09:02 -0000

Joe Touch wrote:
> Laganier, Julien wrote:
> > Hi, Joe,
> >> Laganier, Julien wrote:
> >>> Stuart Cheshire had a nice talk at IETF 72 on the drawbacks of the
> >>> current getaddrinfo() + connect() model w.r.t. to IPv6 transition,
> >>> see http://www.stuartcheshire.org/IETF72/. (Somebody already mentioned
> >>> that on the list I think.)
> >>>
> >>> A connect_to_name() calls that hides all of the address family
> >>> subtleties under the hood
> >>> does not have such drawbacks. So if we're going to change the API
> >>> anyway, this looks like a good occasion to fix that issue too, no?
> >>
> >> I like this idea, but there needs to be a returned primary IP
> >> address if this is intended to support TCP. I.e., you can ask the system
> >> to call a name, but it ends up establishing a TCP connection to a socket
> >> pair (src IP, dst IP, src port, dst port).
> >>
> >> I'm still not sure what that means for multipath. There could be
> >> secondary socket pairs of course, and they can vary over the life of
> >> the connection, but I still feel that if the primary disappears the
> >> connection MUST disappear *IF* this is TCP.
> >>
> >> Of course, if it's not TCP, this could be easily defined in other
> >> more useful ways.
> >
> > Without taking position with respect to fate-sharing between the
> > MPTCP connection and the original address-port pair, whether the MPTCP
> > connection is torn down when the original address-port pair fails is,
> > I think, an issue orthogonal to the specifics of how an application
> > connects to a peer.
> >
> > In both case we can introduce the connect_to_name() call in the new
> > API.
> >
> > Orthogonal to that, if we decide we want to treat the initial address
> > pair() that got used to establish the MPTCP connection in a special
> > fashion, e.g., fate-sharing, we can still do so by defining the
> > behavior in the protocol specification.
> >
> > Makes sense?
> 
> Sure, but either way you need to return at least the primary IP
> address/port pair as results of the connect_to_name() call.
> 
> It's not sufficient to return an undistinguished set of such pairs, nor
> is it sufficient to not return any such pairs.

Unless the socket has been bind()'ed earlier, connect() doesn't return to the caller any information about the address/port that was picked as a result of the connect(). The application would need to call getsockname() to know what address/port pair was used. 

If an application is modified to use the new API, it will have to use getpeername() in addition to getsockname() to know what initial address pair has been connected.

--julien