Re: [IPv6] PvD (RFC 8801) is not relevant to MHMP

Vasilenko Eduard <vasilenko.eduard@huawei.com> Fri, 02 December 2022 16:08 UTC

Return-Path: <vasilenko.eduard@huawei.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 C15E5C14F73A for <ipv6@ietfa.amsl.com>; Fri, 2 Dec 2022 08:08:48 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.896
X-Spam-Level:
X-Spam-Status: No, score=-6.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pni3YfzqWl2C for <ipv6@ietfa.amsl.com>; Fri, 2 Dec 2022 08:08:47 -0800 (PST)
Received: from frasgout.his.huawei.com (frasgout.his.huawei.com [185.176.79.56]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A1D82C14F735 for <ipv6@ietf.org>; Fri, 2 Dec 2022 08:08:46 -0800 (PST)
Received: from frapeml100002.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4NNyTT48L0z67Zm5; Sat, 3 Dec 2022 00:05:33 +0800 (CST)
Received: from mscpeml100002.china.huawei.com (7.188.26.75) by frapeml100002.china.huawei.com (7.182.85.26) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 2 Dec 2022 17:08:43 +0100
Received: from mscpeml500001.china.huawei.com (7.188.26.142) by mscpeml100002.china.huawei.com (7.188.26.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Fri, 2 Dec 2022 19:08:42 +0300
Received: from mscpeml500001.china.huawei.com ([7.188.26.142]) by mscpeml500001.china.huawei.com ([7.188.26.142]) with mapi id 15.01.2375.031; Fri, 2 Dec 2022 19:08:42 +0300
From: Vasilenko Eduard <vasilenko.eduard@huawei.com>
To: Ted Lemon <mellon@fugue.com>
CC: Brian E Carpenter <brian.e.carpenter@gmail.com>, Michael Richardson <mcr+ietf@sandelman.ca>, "ipv6@ietf.org" <ipv6@ietf.org>
Thread-Topic: [IPv6] PvD (RFC 8801) is not relevant to MHMP
Thread-Index: AdkFqg3UDW4ltMTnSF2gmDjoRTrU/AAE0ekr///SkwD//x9WAIACFnsA//+ykiA=
Date: Fri, 02 Dec 2022 16:08:42 +0000
Message-ID: <653879f5c4094dc584ab3509a1f71fc7@huawei.com>
References: <8e49314ba8304b54be88fc365987a97c@huawei.com> <15402.1669922453@localhost> <d51350ad-0d1d-c046-707f-5fa3ecd2813e@gmail.com> <29096.1669924918@localhost> <624493d2d8f84d8cafc6b84690ef4728@huawei.com> <CAPt1N1mRsjo21E=3662o+KhNha50DTWnANMa6m7ttqqROF+b=w@mail.gmail.com>
In-Reply-To: <CAPt1N1mRsjo21E=3662o+KhNha50DTWnANMa6m7ttqqROF+b=w@mail.gmail.com>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.48.146.89]
Content-Type: multipart/alternative; boundary="_000_653879f5c4094dc584ab3509a1f71fc7huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/ipv6/zxBR28KT8gZk7FaJcbsRQrgx3No>
Subject: Re: [IPv6] PvD (RFC 8801) is not relevant to MHMP
X-BeenThere: ipv6@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 02 Dec 2022 16:08:48 -0000

Good point.

From: Ted Lemon [mailto:mellon@fugue.com]
Sent: Friday, December 2, 2022 5:31 PM
To: Vasilenko Eduard <vasilenko.eduard@huawei.com>
Cc: Brian E Carpenter <brian.e.carpenter@gmail.com>; Michael Richardson <mcr+ietf@sandelman.ca>; ipv6@ietf.org
Subject: Re: [IPv6] PvD (RFC 8801) is not relevant to MHMP

The reality is that the APIs most developers are using are already asynchronous. This is not new. Eg Apple’s Network Framework, but also the various happy eyeballs implementations in browsers, and various system libraries not written in C. Writing new code now that uses synchronous getaddrinfo is just silly. Whether the IETF writes a new document or not is sort of irrelevant.

Op vr 2 dec. 2022 om 01:34 schreef Vasilenko Eduard <vasilenko.eduard=40huawei.com@dmarc.ietf.org<mailto:40huawei.com@dmarc.ietf.org>>
What you are talking about is very powerful but the same disruptive. It would need a separate API that would be used with the current API for ages.
It is not RFC 6724bis. It is a completely new RFC for a separate API.
By the way, you have to choose the source address first anyway because if you would choose the next hop then you are restricted by the PIO announced by this router.

What we have proposed in draft-vv-6man-nd-support-mhmp is much less disruptive.
Reverse choice: source address first only then next hop,
Then it is possible to use many simple mechanisms for source address choice (section 5):

1.      The same policies could be formatted differently and fed to the host by two mechanisms at the same time: 1) “Routing Information Options” of [Route Preferences] and 2) [Policy by DHCP] to modify policies in [Default Address] selection algorithm. Then the current priority of mechanisms could be preserved the same: initially [ND] or routing would choose the next-hop, then [Default Address] would choose a proper source address. It is the method that is assumed in [MHMP]. This method is complicated and costly, and the probability of acceptance is very low. Moreover, [Policy by DHCP] was not adopted by the market – it is not available on the major operating systems and home gateways.
2.      Application developed may use bind() to choose a source address based on many different parameters (including anything from the list below). It would effectively revert the default logic of [Default Address]. Unfortunately, it is difficult to expect it from the client side, which would probably call getaddrinfo() which has a good probability to choose the wrong source address.
3.      Only policies could be supplied by [Policy by DHCP] to the [Default Address] selection algorithm. This method has a low probability of implementation because of not wide support of DHCPv6 in the industry. Maybe this method would have more acceptance in the future.
4.      It is possible to check the longest match between the source and the destination address to choose the potentially closest address. This method looks most promising, it is partially discussed in [Default Address] section 7.
5.      The host could use DNS requests with different source addresses to understand what is visible for a particular source address.
6.      URL for configuration information could be supplied in RA – see [Provisioning domains].
7.      The host may have local performance management capabilities (packet loss, delay, jitter, etc) to choose the best source for the application.

Ed/
-----Original Message-----
From: ipv6 [mailto:ipv6-bounces@ietf.org<mailto:ipv6-bounces@ietf.org>] On Behalf Of Michael Richardson
Sent: Thursday, December 1, 2022 11:02 PM
To: Brian E Carpenter <brian.e.carpenter@gmail.com<mailto:brian.e.carpenter@gmail.com>>; ipv6@ietf.org<mailto:ipv6@ietf.org>
Subject: Re: [IPv6] PvD (RFC 8801) is not relevant to MHMP


Brian E Carpenter <brian.e.carpenter@gmail.com<mailto:brian.e.carpenter@gmail.com>> wrote:
    > True, getaddrinfo() is a weak solution, but I think the weakness is not
    > really in the "level". There's no reason that gai itself couldn't
    > interrogate a daemon instead of a table.

Yes, you are right.

We certainly can do something smarter behind the scenes, and we can certainly put an synchronous getaddrinfo() on top of it.

But, the problem is that it returns a single sockaddr(), and it needs to return something with the source address selected (for each destination), or
at least strongly hinted.   Returning a socket/file descriptor would be
better.  That also allows for things like PvD to be implemented as seperate network namespaces or VRFs.


--
Michael Richardson <mcr+IETF@sandelman.ca<mailto:mcr%2BIETF@sandelman.ca>>   . o O ( IPv6 IøT consulting )
           Sandelman Software Works Inc, Ottawa and Worldwide




--------------------------------------------------------------------
IETF IPv6 working group mailing list
ipv6@ietf.org<mailto:ipv6@ietf.org>
Administrative Requests: https://www.ietf.org/mailman/listinfo/ipv6
--------------------------------------------------------------------