Re: [alto] Some comments on ietf-alto module defined in draft-ietf-alto-oam-yang-00

"maqiufang (A)" <maqiufang1@huawei.com> Wed, 13 July 2022 12:40 UTC

Return-Path: <maqiufang1@huawei.com>
X-Original-To: alto@ietfa.amsl.com
Delivered-To: alto@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DA15BC157B3A; Wed, 13 Jul 2022 05:40:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.909
X-Spam-Level:
X-Spam-Status: No, score=-1.909 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] 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 3wXZGn_MuLO5; Wed, 13 Jul 2022 05:40:48 -0700 (PDT)
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 41730C14CF0A; Wed, 13 Jul 2022 05:40:48 -0700 (PDT)
Received: from fraeml741-chm.china.huawei.com (unknown [172.18.147.206]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Ljcb71wg4z6H6vx; Wed, 13 Jul 2022 20:37:39 +0800 (CST)
Received: from kwepemm000017.china.huawei.com (7.193.23.46) by fraeml741-chm.china.huawei.com (10.206.15.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 13 Jul 2022 14:40:43 +0200
Received: from kwepemm600017.china.huawei.com (7.193.23.234) by kwepemm000017.china.huawei.com (7.193.23.46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 13 Jul 2022 20:40:41 +0800
Received: from kwepemm600017.china.huawei.com ([7.193.23.234]) by kwepemm600017.china.huawei.com ([7.193.23.234]) with mapi id 15.01.2375.024; Wed, 13 Jul 2022 20:40:41 +0800
From: "maqiufang (A)" <maqiufang1@huawei.com>
To: Jensen Zhang <jingxuan.n.zhang@gmail.com>
CC: "draft-ietf-alto-oam-yang@ietf.org" <draft-ietf-alto-oam-yang@ietf.org>, "alto@ietf.org" <alto@ietf.org>
Thread-Topic: [alto] Some comments on ietf-alto module defined in draft-ietf-alto-oam-yang-00
Thread-Index: AdiU/Y5sYJC9jNCrQSKxDdwLhqRLLAAg+P6AABeuiFAAECqBgAAkc4tg
Date: Wed, 13 Jul 2022 12:40:41 +0000
Message-ID: <85a0565aa5154ad48bd48cf6d145960d@huawei.com>
References: <87cac8ad806f4f3da9b912ffcfcf37b0@huawei.com> <CAAbpuypUWr+4V9V2UtPHnhwLTcvr9p1F5fxw5qBHmOrph_KnGA@mail.gmail.com> <99c9c7e7b4a54d9a8003958d30b325c4@huawei.com> <CAAbpuyr9q=pH=yKgyiKfsOTmsHRjrkD9c7ncdL4jDNnpgo9FCg@mail.gmail.com>
In-Reply-To: <CAAbpuyr9q=pH=yKgyiKfsOTmsHRjrkD9c7ncdL4jDNnpgo9FCg@mail.gmail.com>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.136.100.87]
Content-Type: multipart/alternative; boundary="_000_85a0565aa5154ad48bd48cf6d145960dhuaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/alto/PqcCvKSTcG6C1f7WupSHd8uMkJ8>
Subject: Re: [alto] Some comments on ietf-alto module defined in draft-ietf-alto-oam-yang-00
X-BeenThere: alto@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "Application-Layer Traffic Optimization \(alto\) WG mailing list" <alto.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/alto>, <mailto:alto-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/alto/>
List-Post: <mailto:alto@ietf.org>
List-Help: <mailto:alto-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/alto>, <mailto:alto-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 13 Jul 2022 12:40:52 -0000

Hi, Jensen

 [significant snipping]

•         For networkmap case, I don’t really understand “is-default” parameter defined here. If there are multiple network maps as the ALTO server resource, it would be good to allow to specify a default network map to interact with simple ALTO client which may only support to use single network map. Since I don’t see any network map list node in this model, so how to specify a default one? Any misunderstanding?
I am not sure I get your concern. Do you concern that "is-default" parameter may conflict with "filtered" parameter?
[Qiufang]No, sorry for being unclear. I have no concern that the “is-default” parameter may conflict with “filtered” parameter. I am curious how this parameter works. We allow an ALTO server to define multiple network maps and then specify a default one here, right? Then how to figure out a default network map if the operator just simply configure “is-default” to be true or false inside a “alto-network-params” container?
Besides, you are using a choice/case statement for ALTO information service, only one of the choice’s cases can be true and visible in the data tree, they could not co-exist at all. Does this mean that ALTO server can only be configured and provide s single resource?

I still do not get it. The "alto-networkmap-params" container is inside the choice/case of "resource-params/networkmap" which is inside the "resource" list. The ALTO server can be configured to provide multiple resources, but each resource can only be one of the cases in the "resource-params" choice.
Why you thought that "ALTO server can only be configured and provide s single resource"?
You have defined a “resource” list node to allow multiple resource configuration, so that would be okay! Thanks for your clarification, my bad for failing to notice that…
But the "is-default" parameter may still lead to some issues. When multiple network map resources have "is-default" configured to be true, the ALTO server needs to only choose one of them as the default. Do you have any suggestions to avoid this?
Yes, indeed. IMHO in one way we can just state in the description that this parameter can only be true for a single network map. If this parameter for multiple network map resources are configured as true, the server MUST choose one of them as default and ignore others. Another way is that we can just move this parameter out of the resource list, and change it to “default-network-map” with a resource-id type.

•         For endpointprop case, should the leaf-list data node “prop-types” be the type of an arbitrary “string”? I think we should list the set of possible values here and allow it to be extensible.
Yes, they should be defined in the same way as the "cost-mode" and "cost-metric" are. Either IANA maintained or identityref.


•         For proactive data source update policy, should the start and end time be allowed to configure here? Generally I think you can define the poll-interval as “mandatory true”, and start/end time as optional.
Interesting proposal. Shouldn't the update process be started once the YANG node is written, and be stopped once the YANG node is deleted? Could you have any examples for other monitoring tools that use the start and end time to control the data polling?
[Qiufang] If no start and end time configured, my understanding is that the network information fetch from the data source should be triggered once the “poll-interval” configuration is manipulated, and yes, stopped once the YANG node is deleted. But do we need to ensure that the ALTO server will not execute the data fetching forever even if the operator lose the connection with ALTO server? YANG-PUSH[RFC8639, RFC8641] has similar “anchor-time” and “stop-time” parameters, it’s a pub/sub mode, though, not a polling mechanism.

Thanks for sharing the YANG-PUSH example. But I think the "anchor-time" and "stop-time" in YANG-PUSH are different from the start and end time here.

"anchor-time" seems not to be expected to indicate when the push update starts, but to indicate an anchor point to make the push update align with in each period.
And "stop-time" is only used in the RPC.

Actually, I do still worry about adding start and end time to the data source polling. Because the expected behavior for our case is that each configured data source should be active and reflect the latest data. Consider an ALTO information resource attaches a data source that is already expired by its "stop-time", this ALTO information resource should be also expired. But the ALTO client cannot aware of this. It will lead to many potential issues.
Sure, make sense to me. Do we equate "poll-interval" parameter with the frequency at which ALTO information is refreshed?

Best Regards,
Qiufang