Re: [multipathtcp] Multipath Address Family

"Laganier, Julien" <julienl@qualcomm.com> Wed, 25 November 2009 18:38 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 0894A3A67F4 for <multipathtcp@core3.amsl.com>; Wed, 25 Nov 2009 10:38:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -105.506
X-Spam-Level:
X-Spam-Status: No, score=-105.506 tagged_above=-999 required=5 tests=[AWL=0.793, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, 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 9AtEdgRU06tV for <multipathtcp@core3.amsl.com>; Wed, 25 Nov 2009 10:38:24 -0800 (PST)
Received: from wolverine01.qualcomm.com (wolverine01.qualcomm.com [199.106.114.254]) by core3.amsl.com (Postfix) with ESMTP id B04523A6359 for <multipathtcp@ietf.org>; Wed, 25 Nov 2009 10:38:24 -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=1259174300; x=1290710300; 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:=20=3D?iso-8859-1?Q?Michael_T=3DFCxen?=3D=20<Michael. Tuexen@lurchi.franken.de>|CC:=20William=20Herrin=20<bill@ herrin.us>,=0D=0A=20=20=20=20=20=20=20=20"multipathtcp@ie tf.org"=0D=0A=09<multipathtcp@ietf.org>|Date:=20Wed,=2025 =20Nov=202009=2010:38:14=20-0800|Subject:=20RE:=20[multip athtcp]=20Multipath=20Address=20Family|Thread-Topic:=20[m ultipathtcp]=20Multipath=20Address=20Family|Thread-Index: =20Acpt/NcNyYzyiJ5PQT2G/jP0RcVvuwAAC/dw|Message-ID:=20<BF 345F63074F8040B58C00A186FCA57F1C65FB2A32@NALASEXMB04.na.q ualcomm.com>|References:=20<E9EE0C1A-C9D3-4EBC-97FD-E1B16 28CD2E7@iki.fi>=0D=0A=20<3c3e3fca0911090542h54e45784qbdbf 1f338a4c3e90@mail.gmail.com>=0D=0A=20<E03D46E1-51EA-4273- A8A7-4F37F88B2E92@iki.fi>=0D=0A=20<20091123.092214.140617 438.nishida@sfc.wide.ad.jp>=0D=0A=20<48DA092B-F3BC-432E-A 199-B265DDED39DA@iki.fi>=0D=0A=20<3c3e3fca0911240434p4d95 ec7an34615ae218faa4f@mail.gmail.com>=0D=0A=20<C622F375-EE 67-46AE-AC28-6617CFEF6D12@lurchi.franken.de>=0D=0A=20<BF3 45F63074F8040B58C00A186FCA57F1C65FB29B9@NALASEXMB04.na.qu alcomm.com>=0D=0A=20<50B8B7D8-A0D3-4BFC-9471-F0929A19569D @lurchi.franken.de>|In-Reply-To:=20<50B8B7D8-A0D3-4BFC-94 71-F0929A19569D@lurchi.franken.de>|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-8859-1" |Content-Transfer-Encoding:=20quoted-printable |MIME-Version:=201.0|X-IronPort-AV:=20E=3DMcAfee=3Bi=3D"5 400,1158,5813"=3B=20a=3D"28424351"; bh=353/hMsR9DWcU/xOHP6J/qrfDWeKBtQ5ziwm5/Yratw=; b=jjElRJ5Ryko3QDD0rgwnd/B50WlzuNNa1huT4d0jhE68uMxh148+jPMY I3AVRwBe6B+qXr6i1l9FdHeYj1xzvOWT6p7HXgJL1D1Iskd5Fnyw6ctYq Bk7NOSA6stTS7MZhdDTjKTel750LvRHhYb+duXrvMeHzk4W6rHhrTEXlq 0=;
X-IronPort-AV: E=McAfee;i="5400,1158,5813"; a="28424351"
Received: from pdmz-ns-mip.qualcomm.com (HELO ithilien.qualcomm.com) ([199.106.114.10]) by wolverine01.qualcomm.com with ESMTP; 25 Nov 2009 10:38:19 -0800
Received: from msgtransport04.qualcomm.com (msgtransport04.qualcomm.com [129.46.61.156]) by ithilien.qualcomm.com (8.14.2/8.14.2/1.0) with ESMTP id nAPIcJd5014405 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=FAIL); Wed, 25 Nov 2009 10:38:19 -0800
Received: from nasanexhub04.na.qualcomm.com (nasanexhub04.qualcomm.com [129.46.134.222]) by msgtransport04.qualcomm.com (8.14.2/8.14.2/1.0) with ESMTP id nAPIcHjU023385 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=NOT); Wed, 25 Nov 2009 10:38:19 -0800
Received: from nalasexhc02.na.qualcomm.com (10.47.129.186) by nasanexhub04.na.qualcomm.com (129.46.134.222) with Microsoft SMTP Server (TLS) id 8.2.176.0; Wed, 25 Nov 2009 10:38:16 -0800
Received: from NALASEXMB04.na.qualcomm.com ([10.47.7.118]) by nalasexhc02.na.qualcomm.com ([10.47.129.186]) with mapi; Wed, 25 Nov 2009 10:38:16 -0800
From: "Laganier, Julien" <julienl@qualcomm.com>
To: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
Date: Wed, 25 Nov 2009 10:38:14 -0800
Thread-Topic: [multipathtcp] Multipath Address Family
Thread-Index: Acpt/NcNyYzyiJ5PQT2G/jP0RcVvuwAAC/dw
Message-ID: <BF345F63074F8040B58C00A186FCA57F1C65FB2A32@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> <50B8B7D8-A0D3-4BFC-9471-F0929A19569D@lurchi.franken.de>
In-Reply-To: <50B8B7D8-A0D3-4BFC-9471-F0929A19569D@lurchi.franken.de>
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: Wed, 25 Nov 2009 18:38:26 -0000

Michael Tüxen wrote:
> 
> On Nov 24, 2009, at 11:32 PM, 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'm interested in the userland/kernel boundary, the system calls, not
> any kind of library calls.

Good for you.

I'm not talking about any kind of library call, I'm talking about an API, which is what I think the WG is chartered to work on. 

> So are you suggesting to do the DNS name lookups in the kernel? This
> would mean that you want to implement DLS in the kernel. I'm not sure if I really like
> that...
> We had^H^H^H have a feature in SCTP which also requires DNS lookups
> right from the
> kernel and no-one implemented it.

I'm suggesting to do DNS lookups as a result of the connect_to_name() API call, nothing more.

--julien

> I think Stuart was referring to some stuff in CoreFoundation, which are
> library calls, I think.
> 
> Best regards
> Michael
> >
> > --julien
> >
> >> -----Original Message-----
> >> From: multipathtcp-bounces@ietf.org [mailto:multipathtcp-
> >> bounces@ietf.org] On Behalf Of Michael Tüxen
> >> Sent: Tuesday, November 24, 2009 1:08 PM
> >> To: William Herrin
> >> Cc: multipathtcp@ietf.org
> >> Subject: Re: [multipathtcp] Multipath Address Family
> >>
> >> Dear all,
> >>
> >> just one note:
> >> In SCTP we use sctp_connectx() to connect to multiple addresses.
> >> Kacheong pointed a couple of years ago out that a more generic
> >> connectx() would make sense to other protocols supporting
> multihoming
> >> as well (but there were no).
> >>
> >> So you might want to look at sctp_connectx() which the SCTP socket
> API
> >> uses to handle the problem.
> >>
> >> Best regards
> >> Michael
> >>
> >> On Nov 24, 2009, at 1:34 PM, William Herrin wrote:
> >>
> >>> On Mon, Nov 23, 2009 at 4:40 PM, Pasi Sarolahti
> >> <pasi.sarolahti@iki.fi> wrote:
> >>>> I think a new address family would be a minimal needed change to
> the
> >> current
> >>>> socket API, without extending the API with new operations, but yet
> >> provide
> >>>> an interface to handle multiple addresses in a socket. One
> >> potentially
> >>>> useful characteristic would be that this would allow name resolver
> >> to return
> >>>> multiple IPv4 and/or IPv6 addresses from the name server as a
> single
> >>>> sockaddr structure, that could be directly given as a parameter to
> a
> >> connect
> >>>> call, which would lead to trying which of the addresses are
> >> reachable for
> >>>> the MPTCP session.
> >>>
> >>> Hi Pasi,
> >>>
> >>> It seems like you want to preserve the connect() call's parameters
> by
> >>> altering the definition of sockaddr so that it can contain multiple
> >>> addresses.
> >>>
> >>> But functionally, what we really want to do is pass an array of
> >>> sockaddrs to connect().
> >>>
> >>> Stupid question time: what makes redefining sockaddr superior to an
> >>> extended API call that supplants connect() and accepts an array of
> >>> sockaddrs?
> >>>
> >>> Poking around linux's include files (netinet/in.h, bits/socket.h) I
> >>> notice that they go to a lot of trouble to make all sockaddrs come
> >> out
> >>> to exactly the same number of bytes. Won't a variable length
> sockaddr
> >>> that holds a variable number of addresses make a mess of that?
> >>>
> >>>
> >>>>> SOCK_MULTISTREAM or using a combination socket type like
> >> SOCK_STREAM |
> >>>>> SOCK_MULTIPATH
> >>>>> from the following reasons.
> >>>
> >>> Found a quote I think bears on the topic at
> >>> http://lkml.indiana.edu/hypermail/linux/net/9904.2/0091.html :
> >>>
> >>>> The AF_ prefix stands for "address family" and the PF_prefix
> stands
> >> for
> >>>> "protocol family". Historicly, the intent was that a single
> protocol
> >> family
> >>>> might support multiple address families and that the PF_ value was
> >> used to
> >>>> create the socket and the AF_ value was used in socket address
> >> structures.
> >>>> But in actuality, a protocol family supporting multiple address
> >> families has
> >>>> never been supported and the <sys/socket.h> header defines the PF_
> >> value
> >>>> for a given protocol to be equal to the AF_ value for that
> protocol.
> >>>
> >>> I think when we discuss allowing multipath TCP to use IPv4 and IPv6
> >>> addresses interchangeably, we're talking about one protocol family
> >>> using multiple address families, are we not?
> >>>
> >>> Regards,
> >>> Bill Herrin
> >>>
> >>>
> >>>
> >>> --
> >>> William D. Herrin ................ herrin@dirtside.com
> >> bill@herrin.us
> >>> 3005 Crane Dr. ...................... Web: <http://bill.herrin.us/>
> >>> Falls Church, VA 22042-3004
> >>> _______________________________________________
> >>> multipathtcp mailing list
> >>> multipathtcp@ietf.org
> >>> https://www.ietf.org/mailman/listinfo/multipathtcp
> >>>
> >>
> >> _______________________________________________
> >> multipathtcp mailing list
> >> multipathtcp@ietf.org
> >> https://www.ietf.org/mailman/listinfo/multipathtcp
> >