Re: [v6ops] An Update to Happy Eyeballs

Philip Homburg <pch-v6ops-6@u-1.phicoh.com> Thu, 09 March 2017 10:52 UTC

Return-Path: <pch-bF054DD66@u-1.phicoh.com>
X-Original-To: v6ops@ietfa.amsl.com
Delivered-To: v6ops@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F0FDF12945E for <v6ops@ietfa.amsl.com>; Thu, 9 Mar 2017 02:52:00 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9] autolearn=ham autolearn_force=no
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 Qz6ugW_U33Ws for <v6ops@ietfa.amsl.com>; Thu, 9 Mar 2017 02:51:59 -0800 (PST)
Received: from stereo.hq.phicoh.net (stereo6-tun.hq.phicoh.net [IPv6:2001:888:1044:10:2a0:c9ff:fe9f:17a9]) by ietfa.amsl.com (Postfix) with ESMTP id E0023129454 for <v6ops@ietf.org>; Thu, 9 Mar 2017 02:51:58 -0800 (PST)
Received: from stereo.hq.phicoh.net ([::ffff:127.0.0.1]) by stereo.hq.phicoh.net with esmtp (Smail #127) id m1clvfj-0000FCC; Thu, 9 Mar 2017 11:51:51 +0100
Message-Id: <m1clvfj-0000FCC@stereo.hq.phicoh.net>
To: v6ops@ietf.org
From: Philip Homburg <pch-v6ops-6@u-1.phicoh.com>
Sender: pch-bF054DD66@u-1.phicoh.com
References: <148899860042.20118.391380898590855642.idtracker@ietfa.amsl.com> <A609BABB-BDF2-4CCB-8452-F489C019748C@apple.com>
In-reply-to: Your message of "Wed, 08 Mar 2017 11:25:29 -0800 ." <A609BABB-BDF2-4CCB-8452-F489C019748C@apple.com>
Date: Thu, 09 Mar 2017 11:51:48 +0100
Archived-At: <https://mailarchive.ietf.org/arch/msg/v6ops/OKvTF2DgZ0dTkw6Oe36UBHnKkpU>
Subject: Re: [v6ops] An Update to Happy Eyeballs
X-BeenThere: v6ops@ietf.org
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: v6ops discussion list <v6ops.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/v6ops>, <mailto:v6ops-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/v6ops/>
List-Post: <mailto:v6ops@ietf.org>
List-Help: <mailto:v6ops-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/v6ops>, <mailto:v6ops-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 09 Mar 2017 10:52:01 -0000

>Tommy Pauly and myself have written up what we've learned
>in the past few years maintaining and improving Apple's Happy Eyeballs stack,
>and submitted it as draft-pauly-v6ops-happy-eyeballs-update.

The draft says: Intended status: Standards Track

With that in mind I would prefer splitting the DNS and the connection
parts over two different drafts.

The reason is two fold:
1) The only API that we standardized (getaddrinfo) cannot support the required
   behavior. So an application would have to choose between using a standard
   API or implementing happy eyeballs.
2) In my experience, AAAA hardly ever times out. (I wanted to write 'fail',
   but failure, as in not returning the correct AAAA can be close to 1%. But
   as long as there is no delay, it doesn't matter for happy eyeballs).

I think setting up tcp connections in staggered fashion is highly useful. 
Writing code that gets triggered by DNS responses coming is not supported by
standard APIs and may make code needlessly complex. So we should not require
such behavior.