Re: [Lsr] Working Group Last Call for draft-ietf-lsr-ip-flexalgo-04 - "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks"

Huzhibo <huzhibo@huawei.com> Thu, 14 April 2022 09:51 UTC

Return-Path: <huzhibo@huawei.com>
X-Original-To: lsr@ietfa.amsl.com
Delivered-To: lsr@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 944DB3A0FCA; Thu, 14 Apr 2022 02:51:17 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.906
X-Spam-Level:
X-Spam-Status: No, score=-1.906 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001] 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 l9e69P0eL4mF; Thu, 14 Apr 2022 02:51:13 -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 A6C403A0FC5; Thu, 14 Apr 2022 02:51:12 -0700 (PDT)
Received: from fraeml740-chm.china.huawei.com (unknown [172.18.147.201]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4KfF4g3gSwz6H6pP; Thu, 14 Apr 2022 17:47:47 +0800 (CST)
Received: from canpemm100010.china.huawei.com (7.192.104.38) by fraeml740-chm.china.huawei.com (10.206.15.221) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 14 Apr 2022 11:51:09 +0200
Received: from canpemm500009.china.huawei.com (7.192.105.203) by canpemm100010.china.huawei.com (7.192.104.38) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Thu, 14 Apr 2022 17:51:07 +0800
Received: from canpemm500009.china.huawei.com ([7.192.105.203]) by canpemm500009.china.huawei.com ([7.192.105.203]) with mapi id 15.01.2375.024; Thu, 14 Apr 2022 17:51:07 +0800
From: Huzhibo <huzhibo@huawei.com>
To: Ketan Talaulikar <ketant.ietf@gmail.com>, Peter Psenak <ppsenak@cisco.com>
CC: "lsr@ietf.org" <lsr@ietf.org>, "draft-ietf-lsr-ip-flexalgo@ietf.org" <draft-ietf-lsr-ip-flexalgo@ietf.org>, "Acee Lindem (acee)" <acee=40cisco.com@dmarc.ietf.org>
Thread-Topic: [Lsr] Working Group Last Call for draft-ietf-lsr-ip-flexalgo-04 - "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks"
Thread-Index: AQHYSrKu6FNK67UObUGS/u+m71Clk6zpvnMAgAATxQCAAGvOgIABIEMAgAFcXACAAnmdgA==
Date: Thu, 14 Apr 2022 09:51:07 +0000
Message-ID: <f2d85d4ce39640eba2a9be1f5e2254c3@huawei.com>
References: <36E526F2-34CB-4C0A-84C2-79A50D9D4C36@cisco.com> <CAH6gdPwrshSVGNsjJVqND8kpNBTBQWicggEz_qyP0DtMYY5wjg@mail.gmail.com> <b6250861-a35d-2a47-6701-194b074e7233@cisco.com> <CAH6gdPwbL5qWX_GXfuv5YL4mRL9xUy3p9wc7an-FbnzpTc0U9A@mail.gmail.com> <46e4c6c1-4ae6-a628-ba27-daa5381c0ac0@cisco.com> <CAH6gdPwS97eEgRQsX16=QfR_yEiPi0WPWGt6PM0XawE5v07exA@mail.gmail.com>
In-Reply-To: <CAH6gdPwS97eEgRQsX16=QfR_yEiPi0WPWGt6PM0XawE5v07exA@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.108.202.45]
Content-Type: multipart/alternative; boundary="_000_f2d85d4ce39640eba2a9be1f5e2254c3huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/DRJoVyeF1-NnVJmM3Y6ViX77sjQ>
Subject: Re: [Lsr] Working Group Last Call for draft-ietf-lsr-ip-flexalgo-04 - "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks"
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Link State Routing Working Group <lsr.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lsr>, <mailto:lsr-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/lsr/>
List-Post: <mailto:lsr@ietf.org>
List-Help: <mailto:lsr-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lsr>, <mailto:lsr-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 14 Apr 2022 09:51:18 -0000

Hi Ketan:
I agree with you.
IGP MT is a good precedent. If IPv4 and IPv6 use the same MT, the IPv4 and IPv6 topologies must be the same. The same MT does not define separate topologies or path computation for different data planes. If IPv4 and IPv6 data plane has different topologies, different MTs are used. I suggest Flexalgo uses the same logic as MT.

Thanks

Zhibo

From: Lsr [mailto:lsr-bounces@ietf.org] On Behalf Of Ketan Talaulikar
Sent: Wednesday, April 13, 2022 12:01 PM
To: Peter Psenak <ppsenak@cisco.com>
Cc: lsr@ietf.org; draft-ietf-lsr-ip-flexalgo@ietf.org; Acee Lindem (acee) <acee=40cisco.com@dmarc.ietf.org>
Subject: Re: [Lsr] Working Group Last Call for draft-ietf-lsr-ip-flexalgo-04 - "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks"

Hi Peter,

Please check inline below with KT2. I am trimming everything other than the one point of continuing debate.

>      >
>      > 2) The relationship between the algo usage for IP FlexAlgo and other
>      > data planes (e.g. FlexAlgo with SR) is not very clear. There arise
>      > complications when the algo usage for IP FlexAlgo overlap with other
>      > (say SR) data planes since the FAD is shared but the node
>     participation
>      > is not shared. While Sec 9 suggests that we can work through these
>      > complications, I question the need for such complexity. The FlexAlgo
>      > space is large enough to allow it to be shared between various data
>      > planes without overlap. My suggestion would be to neither carve out
>      > parallel algo spaces within IGPs for various types of FlexAlgo data
>      > planes nor allow the same algo to be used by both IP and SR data
>     planes.
>      > So that we have a single topology computation in the IGP for a given
>      > algo based on its FAD and data plane participation and then when it
>      > comes to prefix calculation, the results could involve
>     programming of
>      > entries in respective forwarding planes based on the signaling of
>     the
>      > respective prefix reachabilities. The coverage of these aspects in a
>      > dedicated section upfront will help.
>
>     ##PP
>     I strongly disagree.
>
>     FAD is data-pane/app independent. Participation is data-plane/app
>     dependent. Base flex-algo specification is very clear about that. That
>     has advantages and we do not want to modify that part.
>
>
> KT> No issue with this part.
>
>
>     Topology calculation for algo/data-plane needs to take both FAD and
>     participation into account. You need independent calculation for each
>     data-plane/app in the same algo.
>
>
> KT> So, an implementation now needs to potentially support performing
> multiple topology computations for each algo. This is a complication for
> which I do not see the justification. Why not just pick different
> algorithms for different data planes for those (rare?) deployments where
> someone wants multiple data planes?

##PP2
flex-algo architecture supports multiple apps/data-planes per algo, with
unique participation per app/data-plane. That requires per-algo/per
app/data-plane calculation. What is complicated on it?

KT2> This specific and precise statement that you have provided is not covered in either draft-ietf-lsr-flex-algo or this document. For starters, this needs to be clarified and covered so that it gets the attention of any reader during the review. This has implications for implementations.


If your implementation does not want to support it, fine, but the
architecture allows it and there is/are implementation(s) that already
support it. This is not defined in this draft, it's defined in base
flex-algo spec.

KT2> I am not sure if it is really an option for implementation once it is in the specification. And this is not about "my" implementation :-). So it is not that because some implementations can do (or does) it that it should be in the specification. The determination on whether it should be in a specification needs to be based on the tradeoff between requiring multiple computations per algo with the potential benefit or use case that is enabled by it.



>
>
>     The fact that the same FAD is shareable between all apps has it
>     advantages and use cases - e.g. if the participation for algo X is the
>     same in SR and IP data-planes, one can use SR to protect IP in that
>     algo.
>
>
> KT> Would this protection use case not violate the base FlexAlgo rule
> that the protection has to remain within the specific topology. If there
> is an SR data plane, then why would one want an IP data plane as well?

##PP2
if the participation in two app/data-planes is the same for the algo,
the resulting topology is the same. If your implementation is smart, it
can only run a single computation for that case. There is no violation
here whatsoever.

KT2> If the resulting topology is the same between SR data plane and IP data plane, what is the need to enable the IP data plane? Why not just steer the IP traffic over the FlexAlgo data plane? And when it is not the same topology, then we cannot really do the protection for IP FlexAlgo using SR FlexAlgo. So what is really the use case or benefit for enabling this?




> IP forwarding can be steered over the SR-based FlexAlgo topology along
> with the protection provided by it. Am I missing something?

##PP2
topology for both primary and backup computation must be the same.

KT2> I see the primary use case for IP FlexAlgo (or another data plane) to be that the data plane is used by itself. In the (rare?) case where multiple data planes are required to coexist, it is simpler both from implementation and deployment POV to use different algos. It would be good to have operator inputs here. The only cost that I see for this is that the same FAD may get advertised twice only in the case where it is identical for multiple data planes. So I am still not seeing the benefit of enabling multiple (i.e. per data plane) computations for a single algo rather than just keeping it a single computation per algo where a single data plane is associated with a specific algo.

Thanks,
Ketan