Re: [tcpm] TCP, multiple addresses and soft errors when connecting
Pekka Savola <pekkas@netcore.fi> Fri, 09 April 2004 01:16 UTC
Received: from optimus.ietf.org (optimus.ietf.org [132.151.1.19]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA19606 for <tcpm-archive@odin.ietf.org>; Thu, 8 Apr 2004 21:16:05 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BBkcL-0003F7-Gv for tcpm-archive@odin.ietf.org; Thu, 08 Apr 2004 21:15:37 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id i391FbPR012460 for tcpm-archive@odin.ietf.org; Thu, 8 Apr 2004 21:15:37 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BBkcH-0003Et-Lw for tcpm-web-archive@optimus.ietf.org; Thu, 08 Apr 2004 21:15:37 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id VAA19520 for <tcpm-web-archive@ietf.org>; Thu, 8 Apr 2004 21:15:31 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1BBkcD-0000li-00 for tcpm-web-archive@ietf.org; Thu, 08 Apr 2004 21:15:29 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BBkKO-0006pf-00 for tcpm-web-archive@ietf.org; Thu, 08 Apr 2004 20:57:08 -0400
Received: from [65.246.255.50] (helo=mx2.foretec.com) by ietf-mx with esmtp (Exim 4.12) id 1BBk74-0004JV-00 for tcpm-web-archive@ietf.org; Thu, 08 Apr 2004 20:43:18 -0400
Received: from optimus22.ietf.org ([132.151.6.22] helo=optimus.ietf.org) by mx2.foretec.com with esmtp (Exim 4.24) id 1BBjuD-0005KF-Bq for tcpm-web-archive@ietf.org; Thu, 08 Apr 2004 20:30:02 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BBjtm-0005RY-N9; Thu, 08 Apr 2004 20:29:34 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 1BBjmY-0002Fu-Kx for tcpm@optimus.ietf.org; Thu, 08 Apr 2004 20:22:08 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id UAA14683 for <tcpm@ietf.org>; Thu, 8 Apr 2004 20:22:04 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 1BBjmV-0002Kf-00 for tcpm@ietf.org; Thu, 08 Apr 2004 20:22:03 -0400
Received: from exim by ietf-mx with spam-scanned (Exim 4.12) id 1BBj4g-0005QC-00 for tcpm@ietf.org; Thu, 08 Apr 2004 19:36:47 -0400
Received: from netcore.fi ([193.94.160.1]) by ietf-mx with esmtp (Exim 4.12) id 1BBhxN-0005EN-00 for tcpm@ietf.org; Thu, 08 Apr 2004 18:25:09 -0400
Received: from localhost (pekkas@localhost) by netcore.fi (8.11.6/8.11.6) with ESMTP id i38MONN07411; Fri, 9 Apr 2004 01:24:24 +0300
Date: Fri, 09 Apr 2004 01:24:23 +0300
From: Pekka Savola <pekkas@netcore.fi>
To: Fernando Gont <fernando@gont.com.ar>
cc: tcpm@ietf.org, v6ops@ops.ietf.org, sebastien.roy@sun.com
Subject: Re: [tcpm] TCP, multiple addresses and soft errors when connecting
In-Reply-To: <4.3.2.7.2.20040405201058.02a45d80@mail.daleclick.com>
Message-ID: <Pine.LNX.4.44.0404090030400.6477-100000@netcore.fi>
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
Sender: tcpm-admin@ietf.org
Errors-To: tcpm-admin@ietf.org
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-Spam-Checker-Version: SpamAssassin 2.60 (1.212-2003-09-23-exp) on ietf-mx.ietf.org
X-Spam-Status: No, hits=0.0 required=5.0 tests=AWL autolearn=no version=2.60
On Mon, 5 Apr 2004, Fernando Gont wrote: > At 09:25 05/04/2004 +0300, Pekka Savola wrote: > > > > 2) state the desire for getting a better higher-level API which would > > > >handle all of this and much more (instead of/in addition to 1), but > > > >mention why this is not an only practical solution. > > > What do you mean "this is not an only practical solution"? > >What I should have said if "but mention why this is would not be a > >practical solution, if there were no other solutions". > > Actually, I think it is the only real solution to the problem. > Having the API report ICMP errors to the application is moving the problem > from the API to the application, but *not* solving it. > > If you leave connect() as is, then you may have the delay problem you > describe (i.e., you may suffer undesirable delays to use a service). > If you make it report ICMP errors to the application, you still have a > problem I mentioned in the other e-mails. You might even say that you'll > have application programmers (probably *not* knowledgeable on TCP/IP > internals) handling issues of the underlying protocols. I have to disagree here. Writing getaddrinfo() loops which include loops around socket() and even connect() are commonplace so this is nothing new. Actually this was discussed in draft-ietf-v6ops-application-transition-02.txt which we just shipped off to the IESG. Section 6.3.2 gives a specific example and section 6.3 describes alternative means; the user does not -- necessarily -- need to know anything and the coder only needs to know to build the right logic. (Which is required anyway for proper v6/v4 applications.) Again, high-level API which makes it smoother to use either v4 or v6 would not hurt either, and could be achieved in one shot. But again, this is not here and now. > So a real solution is to hide all this stuff from the application > programmer. Let him just concentrate on actually using a service, and > handle all the protocol-related issues inside the API. For long-term, yes, that would be preferable (even though I think still there should be low-level equivalents, but not necessarily integrated with connect()). But the problem is that the IETF has avoided specifying APIs whereever it has been able to, and even if we made these here (or elsewhere), there would have to be significant vendor buy-in (so that they could be used to create portable code), and implementation. Even if there would be significant interest, this would take 3 years (minimum). So, for all the good having such APIs would do, I fail to see how it could provide sufficiently short-term fix to this particular problem, and which is why we're documenting the connect() semantics change some have already done. > >That is, new APIs would be great, but we cannot stop fixing problems > >current APIs until we have something more concrete out there. > >Otherwise we'd end up with no practically (in short term) deployable > >solution. > > If you consider it useful, I could try to continue thinking on the > "abstract" API. I'm just thinking about writting some stuff down, so that > there's a place from which which can move things forward. It may take me > some time (say, months), but... I certainly think this is interesting work (actually, I've seen some abstractization libraries for Unix already a couple of years ago, doing something like you say -- but I can't find it now; maybe it was something along the lines of http://thf.ath.cx/snl), but as I stated above, there are significant barriers to be torn down first.. -- Pekka Savola "You each name yourselves king, yet the Netcore Oy kingdom bleeds." Systems. Networks. Security. -- George R.R. Martin: A Clash of Kings _______________________________________________ tcpm mailing list tcpm@ietf.org https://www1.ietf.org/mailman/listinfo/tcpm
- Re: [tcpm] TCP, multiple addresses and soft error… Mark Allman
- Re: [tcpm] TCP, multiple addresses and soft error… Fernando Gont
- Re: [tcpm] TCP, multiple addresses and soft error… Fernando Gont
- Re: [tcpm] TCP, multiple addresses and soft error… Pekka Savola
- [tcpm] TCP, multiple addresses and soft errors wh… Pekka Savola
- Re: [tcpm] TCP, multiple addresses and soft error… Fernando Gont
- Re: [tcpm] TCP, multiple addresses and soft error… Kacheong Poon
- Re: [tcpm] TCP, multiple addresses and soft error… Fernando Gont
- Re: [tcpm] TCP, multiple addresses and soft error… Fernando Gont
- Re: [tcpm] TCP, multiple addresses and soft error… Pekka Savola
- Re: [tcpm] TCP, multiple addresses and soft error… Kacheong Poon
- Re: [tcpm] TCP, multiple addresses and soft error… Pekka Savola