Re: [multipathtcp] Multipath Address Family
Michael Tüxen <Michael.Tuexen@lurchi.franken.de> Fri, 27 November 2009 16:58 UTC
Return-Path: <Michael.Tuexen@lurchi.franken.de>
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 752A73A6924 for <multipathtcp@core3.amsl.com>; Fri, 27 Nov 2009 08:58:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.038
X-Spam-Level: **
X-Spam-Status: No, score=2.038 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HOST_EQ_DIP_TDIAL=2.144, HOST_MISMATCH_NET=0.311, MIME_8BIT_HEADER=0.3, RCVD_IN_PBL=0.905, RCVD_IN_SORBS_DUL=0.877, RDNS_DYNAMIC=0.1]
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 xbFLXz5UaRIp for <multipathtcp@core3.amsl.com>; Fri, 27 Nov 2009 08:58:38 -0800 (PST)
Received: from mail-n.franken.de (drew.ipv6.franken.de [IPv6:2001:638:a02:a001:20e:cff:fe4a:feaa]) by core3.amsl.com (Postfix) with ESMTP id 62A9B3A684C for <multipathtcp@ietf.org>; Fri, 27 Nov 2009 08:58:37 -0800 (PST)
Received: from [192.168.1.100] (p508FDA12.dip.t-dialin.net [80.143.218.18]) by mail-n.franken.de (Postfix) with ESMTP id 442BC1C0B4049; Fri, 27 Nov 2009 17:58:28 +0100 (CET)
Mime-Version: 1.0 (Apple Message framework v1077)
Content-Type: text/plain; charset="iso-8859-1"
From: Michael Tüxen <Michael.Tuexen@lurchi.franken.de>
In-Reply-To: <BF345F63074F8040B58C00A186FCA57F1C65FB2A32@NALASEXMB04.na.qualcomm.com>
Date: Fri, 27 Nov 2009 17:58:27 +0100
Content-Transfer-Encoding: quoted-printable
Message-Id: <D0D843DB-75B8-4D2E-8151-15DCF5242DCC@lurchi.franken.de>
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> <BF345F63074F8040B58C00A186FCA57F1C65FB2A32@NALASEXMB04.na.qualcomm.com>
To: "Laganier, Julien" <julienl@qualcomm.com>
X-Mailer: Apple Mail (2.1077)
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: Fri, 27 Nov 2009 16:58:39 -0000
On Nov 25, 2009, at 7:38 PM, Laganier, Julien wrote: > 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. Sorry, I was not clear enough. What I meant was that it is important where the API you are thinking about should be implemented. If it is at the kernel/userland boundary, like the socket calls, there might be other restrictions as when you are considering library calls. The point I wanted to make is that doing DNS lookups in a userland library is simple, doing it in the kernel is a different story. That is why I wanted to figure out where you think you API is located at. > >> 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. But my point is if it will be in the kernel (if you think your connect_to_name() call is a system call) or if it is in a library. If it is in the library you still must be able to implement it using existing system calls. > > --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 >>> > >
- [multipathtcp] API: which address to use Pasi Sarolahti
- Re: [multipathtcp] API: which address to use William Herrin
- Re: [multipathtcp] API: which address to use William Herrin
- Re: [multipathtcp] API: which address to use Pasi Sarolahti
- Re: [multipathtcp] API: which address to use SCHARF, Michael
- Re: [multipathtcp] API: which address to use Yoshifumi Nishida
- [multipathtcp] draft minute at IETF76 Yoshifumi Nishida
- [multipathtcp] Multipath Address Family Pasi Sarolahti
- Re: [multipathtcp] Multipath Address Family Olivier Bonaventure
- Re: [multipathtcp] Multipath Address Family William Herrin
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Joe Touch
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Joe Touch
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Joe Touch
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Pasi Sarolahti
- Re: [multipathtcp] Multipath Address Family Joe Touch
- Re: [multipathtcp] Multipath Address Family Yoshifumi Nishida
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Yoshifumi Nishida
- Re: [multipathtcp] Multipath Address Family Pasi Sarolahti
- Re: [multipathtcp] Multipath Address Family Andrew Yourtchenko
- Re: [multipathtcp] Multipath Address Family Pasi Sarolahti
- Re: [multipathtcp] Multipath Address Family Andrew Yourtchenko
- [multipathtcp] Multipath deployment and fate shar… Costin Raiciu
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Laganier, Julien
- Re: [multipathtcp] Multipath Address Family Yoshifumi Nishida
- Re: [multipathtcp] Multipath Address Family Pasi Sarolahti
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Christian Vogt
- Re: [multipathtcp] Multipath Address Family Christian Vogt
- Re: [multipathtcp] Multipath Address Family Michael Tüxen
- Re: [multipathtcp] Multipath Address Family Yoshifumi Nishida
- Re: [multipathtcp] Multipath Address Family Christian Vogt
- Re: [multipathtcp] Multipath Address Family Yoshifumi Nishida
- Re: [multipathtcp] Multipath deployment and fate … Iljitsch van Beijnum
- Re: [multipathtcp] Multipath deployment and fate … Laganier, Julien
- Re: [multipathtcp] Multipath deployment and fate … Iljitsch van Beijnum
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Laganier, Julien
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Laganier, Julien
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Laganier, Julien
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Iljitsch van Beijnum
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Iljitsch van Beijnum
- Re: [multipathtcp] Multipath deployment and fate … Joe Touch
- Re: [multipathtcp] Multipath deployment and fate … Iljitsch van Beijnum
- Re: [multipathtcp] Multipath deployment and fate … Yoshifumi Nishida
- [multipathtcp] draft minute at IETF77 Yoshifumi Nishida