Re: IPv6 addressing APIs (Re: I-D Action: draft-fgont-6man-rfc4941bis-01.txt)

Erik Kline <ek@google.com> Thu, 05 April 2018 23:38 UTC

Return-Path: <ek@google.com>
X-Original-To: ipv6@ietfa.amsl.com
Delivered-To: ipv6@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2F32A12D879 for <ipv6@ietfa.amsl.com>; Thu, 5 Apr 2018 16:38:24 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.01
X-Spam-Level:
X-Spam-Status: No, score=-2.01 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
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 5A3w7CN3Xd7S for <ipv6@ietfa.amsl.com>; Thu, 5 Apr 2018 16:38:22 -0700 (PDT)
Received: from mail-wr0-x230.google.com (mail-wr0-x230.google.com [IPv6:2a00:1450:400c:c0c::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id BE70F12D875 for <ipv6@ietf.org>; Thu, 5 Apr 2018 16:38:21 -0700 (PDT)
Received: by mail-wr0-x230.google.com with SMTP id l49so31054679wrl.4 for <ipv6@ietf.org>; Thu, 05 Apr 2018 16:38:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=fl5YO+UeMq3t1Foqba+9l/d4FicyX2Rv/cX7TKokAlo=; b=T1b1gdYT8L5zRKlzorJfBxSM2JfTvW1R+YkJrzn8UCnWxUcM9rScvUAgN5lOZiXPb6 cuZLBn8t1FJJlxcgJRT+algsQrdPW+E6KxOE9WBUPZwVt4FBoHX0rRCz24mQ8pBCyPgP O4zrr27R60MhR8g+SS79wvMYzH2M6M1mX5S8BVmAsmmDxzaJTEOg+8Ij8jL5uP0Ie8DS cM/3aWKKh3wkLDRuU6Tspq0OSxnZC11P+Hrnl1Rz5/lRmKEA7RoQR2AmAVC7+sA1JhCY KRQ9EbaC2PZIOiXVbQQ/hfDowl5tvzLCbpnoNiK7LSb22CFyIepFdO/8b8LAM6JhoGr2 b5oQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=fl5YO+UeMq3t1Foqba+9l/d4FicyX2Rv/cX7TKokAlo=; b=g+68B35j3nR79jM5oROxMmfxh7x8bPRzYDJ7Je9v/WzaxC4Ude2Xl72zNUS/SgH7do UfhlfpfbJm2Kf8OojAnr67CnTuIkukFu0kpnfx0Pj1oEDw9z3dNVdJdMGaXd06iM3DLt SOtIxK7pFuHCDt1RbU+qJ5NA64h/yMNvRTcaRSLNTKHM7qjVDkdFclZW2W5F6wyp3qxd 20AfuP4sT+7frRmCQJfMP7XEd/3vXtX7X3ln68j0jq8RMkH0/bFBeD0QSO+Dv/fGQkAY wM+YiQgeqkszt3HcTqrQpUjLMuprjcZrml5R8DIXXiwFs7cmM8XA9hfvENB+ejwupssl 95Dg==
X-Gm-Message-State: AElRT7GwYAofRHKVX99H+8Tjal6Hc1rO3R1/+f6VGCEbWaSeKjx2zXpY w9IEEb2F3bcMol1smvXtQ6WO+yIx57dHQ4/DLssCGg==
X-Google-Smtp-Source: AIpwx4+Rwg+HxFG+EfXvPYwSCLWBb9TyK3taaPUTnWL87iemyijATHAmXk/2vZaPSLFM8iwBqlGDZb3svHyzI6YCSkM=
X-Received: by 10.223.136.183 with SMTP id f52mr16134100wrf.74.1522971499879; Thu, 05 Apr 2018 16:38:19 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.28.146.143 with HTTP; Thu, 5 Apr 2018 16:37:58 -0700 (PDT)
In-Reply-To: <8871960c-70a6-645f-c961-9a188c34036c@gmail.com>
References: <152203605148.3066.2744350974766846700@ietfa.amsl.com> <2c561929-98dc-beac-7916-20af889956a4@gmail.com> <fb66f306-5991-c0a1-a513-8bc9e75d5910@gont.com.ar> <2192.1522171929@obiwan.sandelman.ca> <4cbe975a-69b3-1d57-c808-f00fde0f4726@gmail.com> <2e878f9b-eb30-20f6-6a7f-48fdee9a3240@gont.com.ar> <8871960c-70a6-645f-c961-9a188c34036c@gmail.com>
From: Erik Kline <ek@google.com>
Date: Thu, 05 Apr 2018 16:37:58 -0700
Message-ID: <CAAedzxo+OP_j-tsrnJm=-OVUyhq0q-QRFseqXxLRkbEqb7Xj3g@mail.gmail.com>
Subject: Re: IPv6 addressing APIs (Re: I-D Action: draft-fgont-6man-rfc4941bis-01.txt)
To: Brian E Carpenter <brian.e.carpenter@gmail.com>
Cc: Fernando Gont <fernando@gont.com.ar>, Michael Richardson <mcr+ietf@sandelman.ca>, 6man <ipv6@ietf.org>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="001a11492e064a1f690569226f8c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/vbizYjArR7ivKVmzafrWl9EJAEM>
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "IPv6 Maintenance Working Group \(6man\)" <ipv6.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ipv6>, <mailto:ipv6-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ipv6/>
List-Post: <mailto:ipv6@ietf.org>
List-Help: <mailto:ipv6-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ipv6>, <mailto:ipv6-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 05 Apr 2018 23:38:24 -0000

On 29 March 2018 at 13:05, Brian E Carpenter
<brian.e.carpenter@gmail.com> wrote:
> On 29/03/2018 13:20, Fernando Gont wrote:
>> On 03/27/2018 08:10 PM, Brian E Carpenter wrote:
>>>>     > FWIW, this has been the whole point of:
>>>>     > draft-gont-6man-address-usage-recommendations
>>>>
>>>> I think that we need to extend the IPv6 APIs so that applications
>>>> can either request stable addresses or demand a new privacy address.
>>>
>>> Yes. But unfortunately that's outside the scope of the IETF, since we gave
>>> away that API many years ago. I guess we could write a draft and find out
>>> how to get it into the POSIX process.
>>
>> I think there's a difference between an abstract API (that is certainly
>> within the scope of the IETF), and a concrete API (say, for different
>> OSes or languages), which are not.
>
> True. But in real life, we aren't going to revolutionize the basic design
> of the IPv6 socket API, so any new abstractions have to be mappable into
> the POSIX model.

True.

One thing that could have been done back in getaddrinfo days would
have been to recommend the existence of some async version.  That's
not necessarily easy in C, but nevertheless.

I started to collect some thoughts about a v6 addrs abstract API, but
only got as far as this half-baked document:

    https://github.com/ekline/draft-v6addrs-api/blob/master/draft.txt

I think it's probably possible to implement something as a library for
Linux, that would include a thread that listens on a netlink socket
for changes in addresses.

After I get out from under some more pressing work I'm hoping to back
to thinking about it more.