Re: [Lsr] Comments on draft-zhu-lsr-isis-sr-vtn-flexalgo-07

Peter Psenak <ppsenak@cisco.com> Tue, 02 April 2024 08:47 UTC

Return-Path: <ppsenak@cisco.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 BD44AC157930; Tue, 2 Apr 2024 01:47:28 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.655
X-Spam-Level:
X-Spam-Status: No, score=-9.655 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.08, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_NONE=0.001, T_KAM_HTML_FONT_INVALID=0.01, T_SPF_HELO_PERMERROR=0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.com
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 eCiTJhkOh7xV; Tue, 2 Apr 2024 01:47:24 -0700 (PDT)
Received: from aer-iport-2.cisco.com (aer-iport-2.cisco.com [173.38.203.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 8B0C9C1519AF; Tue, 2 Apr 2024 01:47:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cisco.com; i=@cisco.com; l=56182; q=dns/txt; s=iport; t=1712047628; x=1713257228; h=message-id:date:mime-version:subject:to:references:from: in-reply-to; bh=hDfLuIJ6/vdBrdhiEESO9nSKNRmUrYouUa4qi6y15Ic=; b=ONmqaKKKT/HKjDpmPh/zF5U8kdKwLh1/1BjhaRVs+wpwAQnCskhsTtby 6viWayZ7O1/aQbliy9wJmfjfDoX6iU/cw87/W1Zwur2TmK/VRkfHg/nEL 4nmWPDWSPnlIITB6axPBi/wQJxqTnYdGz6f1pdUsTDaqILGS8T2mOTQSJ g=;
X-CSE-ConnectionGUID: L/lxHEB5R8qSIJJZp/JwDw==
X-CSE-MsgGUID: mcN3DXN4T2K+YWHwxwHOgQ==
X-IronPort-AV: E=Sophos;i="6.07,174,1708387200"; d="scan'208,217";a="11395368"
Received: from aer-iport-nat.cisco.com (HELO aer-core-5.cisco.com) ([173.38.203.22]) by aer-iport-2.cisco.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Apr 2024 08:47:06 +0000
Received: from [10.209.218.218] ([10.209.218.218]) by aer-core-5.cisco.com (8.15.2/8.15.2) with ESMTP id 4328l6e1089391; Tue, 2 Apr 2024 08:47:06 GMT
Content-Type: multipart/alternative; boundary="------------1rnm0DeCedm1Ml0lSqBNbk4F"
Message-ID: <ec9000c1-17da-47e5-bda4-992f0eeb292d@cisco.com>
Date: Tue, 02 Apr 2024 10:47:06 +0200
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
To: "Dongjie (Jimmy)" <jie.dong@huawei.com>, "Les Ginsberg (ginsberg)" <ginsberg@cisco.com>, "lsr@ietf.org" <lsr@ietf.org>, "draft-zhu-lsr-isis-sr-vtn-flexalgo.authors@ietf.org" <draft-zhu-lsr-isis-sr-vtn-flexalgo.authors@ietf.org>
References: <BY5PR11MB4337517A2F56C0502753F69FC1332@BY5PR11MB4337.namprd11.prod.outlook.com> <06c715d1b00f4a2fa3ed2ba0fdacc93a@huawei.com> <BY5PR11MB43372435F6AA3AC5376EFE16C1322@BY5PR11MB4337.namprd11.prod.outlook.com> <0291e80655cd4c07abaeb67a318caa2b@huawei.com> <567eb022-759c-41df-860a-81e2634cbd8e@cisco.com> <b98e8f54cadd4536bfef4f483a7b976e@huawei.com>
Content-Language: en-US
From: Peter Psenak <ppsenak@cisco.com>
In-Reply-To: <b98e8f54cadd4536bfef4f483a7b976e@huawei.com>
X-Outbound-SMTP-Client: 10.209.218.218, [10.209.218.218]
X-Outbound-Node: aer-core-5.cisco.com
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/DeXb8T2K8JEX3CH0KaBl0J1WB6M>
Subject: Re: [Lsr] Comments on draft-zhu-lsr-isis-sr-vtn-flexalgo-07
X-BeenThere: lsr@ietf.org
X-Mailman-Version: 2.1.39
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: Tue, 02 Apr 2024 08:47:28 -0000

Hi Jie,

On 02/04/2024 10:18, Dongjie (Jimmy) wrote:
>
> Hi Peter,
>
> Please see inline:
>
> *From:*Peter Psenak <ppsenak@cisco.com>
> *Sent:* Thursday, March 21, 2024 5:39 PM
> *To:* Dongjie (Jimmy) <jie.dong=40huawei.com@dmarc.ietf.org>; Les 
> Ginsberg (ginsberg) <ginsberg@cisco.com>; lsr@ietf.org; 
> draft-zhu-lsr-isis-sr-vtn-flexalgo.authors@ietf.org
> *Subject:* Re: [Lsr] Comments on draft-zhu-lsr-isis-sr-vtn-flexalgo-07
>
> Hi Jie,
>
> On 21/03/2024 02:34, Dongjie (Jimmy) wrote:
>
>     Hi Les,
>
>     Thanks for providing your opinion with an example.
>
>     In your example, the default IGP metric is used, which is normally
>     calculated based on bandwidth. While Flex-Algo can support metric
>     types such as TE metric and delay.
>
>     When Flex-Algo is used as the control plane of NRP, usually the
>     metric types other than IGP metric would be used. We could add
>     some notes about the selection of metric type to this document. In
>     most cases per Flex-Algo metric type would not be needed.
>
>     Your proposal of making each member link an L3 link is an
>     alternative solution, while that would bring back the problems we
>     discussed during the L2 bundle standardization, and can impact the
>     network stability and scalability.
>
>     Your second proposal (controller based path computation and
>     construction) works for scenarios where strict TE-path SID-list is
>     used to steer traffic into specific bundle member links on each
>     hop, while traffic with Flex-Algo prefix SIDs will be mixed up and
>     ECMP among the member links of the L3 interface.
>
>     So we do see there is a gap in using Flex-Algo to support NRP, and
>     would like to hear feedbacks from the WG on possible solutions
>     (including this one).
>
> there is no gap in Flex-algo. Flex-algo is a routing concept and as 
> such only works on L3 constructs. That will not change.
>
> *[Jie] Fully agree Flex-Algo is a routing concept and works on L3 
> control plane, while it shows a gap in how to map Flex-Algos to 
> different subset of resources for network slicing. Currently traffic 
> of different Flex-Algos would share the same set of resources on the 
> L3 outgoing interfaces. *
>
> The problem is that you are trying to mix the routing (flex-algo) with 
> the PHB/QOS. These are two different things.
>
> You can achieve PHP/QOS by marking the packet and give it a necessary 
> treatment you need at each hop, e.g. reserve certain bandwidth to it, 
> or even reserve a L2 bundle for it if that's what you want.
>
> *[Jie] QoS PHB is per-hop behavior, which cannot provide end-to-end 
> resource guarantee at NRP/Slice granularity. Consider the difference 
> between DiffServ and IntServ. And within each NRP, QoS is still needed. *
>
> *Reserving an L2 bundle member link for NRP is the approach proposed 
> in this document. *
>
> Alternatively, you can classify the traffic at each hop using other 
> mechanisms, but it becomes slow and problematic. **
>
> *[Jie] Agree that per-hop traffic classification has many problems. *
>
> What you propose is to overwrite the routing decision and instead of 
> using the L3 outgoing interface computed based on L3 information, you 
> install the specific L2 bundle member out of such L3 interface in 
> forwatding. It works, because by using the L2 member of the L3 
> interface the traffic is forwarded to the same next-hop as has been 
> calculated by the L3 routing. Nobody can stop you doing that locally 
> if you wish doing so. But there is absolutely nothing you need from 
> the IETF to do this. There is no need to advertise anything to do what 
> you describe, as this is all a local behavior of the node. There is no 
> need to add a new E-bit, and there is not even a need to advertise 
> affinities for the L2 bundle members.
>
> *[Jie] The distributed path computation is still based on the L3 
> links/interfaces, the change is in the forwarding entry installation. 
> Thanks for confirming it works. *
>
> *The advertisement of the L2bundle information is for the controller 
> or ingress nodes to perform path computation based on NRP-specific 
> constraints and can use Algo-specific SIDs together with bundle member 
> Adj-SIDs in building the SID list, this aligns with the usage of L2 
> bundle and extends its applicability to Flex-Algo-specific SIDs. *
>
> *The E bit is to indicate the L2 bundle is working in the exclusive 
> mode (rather than load balancing), which means the Flex-Algo SIDs can 
> be used to steer traffic to the corresponding member links. *
>
given that such information is not used during the flex-algo computation 
itself, there is no need to signal it by IGP. If the controller needs to 
know about such a property, there are other ways how it can learn about it.

thanks,
Peter


> **
>
> *Best regards,*
>
> *Jie*
>
> **
>
> I see no need for this draft.
>
> thanks,
> Peter
>
>     Best regards,
>
>     Jie
>
>     *From:*Les Ginsberg (ginsberg) <ginsberg@cisco.com>
>     <mailto:ginsberg@cisco.com>
>     *Sent:* Thursday, March 21, 2024 10:36 AM
>     *To:* Dongjie (Jimmy) <jie.dong@huawei.com>
>     <mailto:jie.dong@huawei.com>; lsr@ietf.org;
>     draft-zhu-lsr-isis-sr-vtn-flexalgo.authors@ietf.org
>     *Subject:* RE: Comments on draft-zhu-lsr-isis-sr-vtn-flexalgo-07
>
>     Jie -
>
>     Thanx for the quick response and confirming that my understanding
>     of the intent of the draft is correct.
>
>     Making a routing decision when the full topology information is
>     not provided as input to the Decision Process leads to incorrect
>     or sub-optimal routing. Here is one simple example.
>
>     Consider the following simple topology (Layer 3 links):
>
>         B
>
>       /   \
>
>     A       D
>
>      \   /
>
>         C
>
>     All layer 3 links participate in Flex Algo 128.
>
>     On both B and C, the Layer 3 link to D is an L2 bundle and the
>     total bandwidth of the bundle links are the same.
>
>     On link B-D, the L2 bundle member assigned to the NRP associated
>     with flex algo 128 has 100 Mb of bandwidth.
>
>     On link C-D, the L2 bundle member assigned to the NRP associated
>     with flex algo 128 has 1 GB of bandwidth.
>
>     The L3 SPF associated with algo 128 utilizes Layer 3 metric
>     advertisements. Based on that, traffic from A to D will be equally
>     balanced via B and C.
>
>     However, what you intend is that when algo 128 traffic is
>     forwarded by B it will utilize a 100 Mb link – whereas when algo
>     128 traffic is forwarded by C it will utilize a 1 Gb link.
>
>     Clearly the ECMP traffic flow which is the output of the L3 SPF is
>     sub-optimal.
>
>     How could this be fixed?
>
>     1)Do not use L2 bundles on B and C. Make each bundle member an L3
>     link and run IS-IS on the Layer 3 interfaces. In such a case
>     different L3 metrics can be advertised for each L3 link and Flex
>     Algo 128 can be associated only with the desired L3 link on C and D.
>
>     Standard flex-algo as defined in RFC 9350 works and requires no
>     modifications.
>
>     2)Do not use L3 routing/flex algo. Define some other mechanism to
>     mark packets in a way that the forwarding recognizes as mapping to
>     the appropriate L2 link.
>
>     The L2 bundle advertisements provided by IS-IS as per RFC 8668 can
>     be used by this (external to IS-IS) mechanism.
>
>     For example this mechanism could use the admin group advertised
>     for each L2Bundle member to determine the mapping between an NRP
>     and a link.
>
>     All of the functionality required is already defined in RFC 8668 –
>     the only thing you need to define is this new mechanism – which is
>     not part of IS-IS and therefore does not belong in an LSR draft.
>
>     NOTE: Please do not suggest that a different metric-type can be
>     used for each Flex-Algo. Such an approach does not scale as it
>     requires as many metric-types as Flex-Algos – which we do not have. 😊
>
>     What you MUST NOT do is use L3 routing to make a routing decision
>     for a topology which is not part of the input to the routing
>     decision process. But that is exactly what you are proposing in
>     this draft.
>
>     Hope this example is clear.
>
>     As regards the clarity of Section 4, that section simply says
>     (using the SR-MPLS text):
>
>     “A forwarding entry MUST be installed in the forwarding plane
>     using the MPLS label that corresponds to the Prefix-SID associated
>     with the Flex-algorithm corresponding to the NRP.”
>
>     But this entry must have next hops which include only the L2 links
>     associated with the NRP mapped to Flex-algo 128. How this is done
>     is not described – but as it requires using information advertised
>     in the L2 Bundle Member Descriptors this clearly cannot be done by
>     IS-IS w/o violating RFC 8668. IS-IS will simply attempt to install
>     a forwarding entry based on the L3 topology – which will indicate
>     to use the L3 link. How this forwarding entry is
>     discarded/overwritten is not specified. But, this is a problem
>     which should never need to be solved.
>
>        Les
>
>     > -----Original Message-----
>
>     > From: Dongjie (Jimmy) <jie.dong@huawei.com>
>
>     > Sent: Wednesday, March 20, 2024 4:30 PM
>
>     > To: Les Ginsberg (ginsberg) <ginsberg@cisco.com>; lsr@ietf.org;
>     draft-zhu-lsr-
>
>     > isis-sr-vtn-flexalgo.authors@ietf.org
>
>     > Subject: RE: Comments on draft-zhu-lsr-isis-sr-vtn-flexalgo-07
>
>     > 
>
>     > Hi Les,
>
>     > 
>
>     > Thanks for the review and comments.
>
>     > 
>
>     > Please see some replies inline:
>
>     > 
>
>     > > -----Original Message-----
>
>     > > From: Les Ginsberg (ginsberg) <ginsberg@cisco.com
>     <mailto:ginsberg@cisco.com>>
>
>     > > Sent: Thursday, March 21, 2024 7:32 AM
>
>     > > To: lsr@ietf.org <mailto:lsr@ietf.org>;
>     draft-zhu-lsr-isis-sr-vtn-flexalgo.authors@ietf.org
>     <mailto:draft-zhu-lsr-isis-sr-vtn-flexalgo.authors@ietf.org>
>
>     > > Subject: Comments on draft-zhu-lsr-isis-sr-vtn-flexalgo-07
>
>     > >
>
>     > > This draft discusses how to use flex-algo in support of Network Resource
>
>     > > Partitions (NRPs). In particular, it proposes to use a
>     combination of L3 links
>
>     > and
>
>     > > L2 Bundle member links as the topology associated with a given NRP. In
>
>     > those
>
>     > > cases where an L3 link is using an L2 bundle and individual bundle members
>
>     > > are "assigned" to different NRPs, it then proposes to associate the
>     parent L3
>
>     > > link with multiple flex-algos. The intent seems to be to utilize the
>     L3 algo
>
>     > > specific SIDs to assign the traffic to subsets of the L2 Bundle
>     members.
>
>     > 
>
>     > Your reading of the intent of this document is correct.
>
>     > 
>
>     > With the proposed mechanism, traffic with Flex-Algo specific SIDs could be
>
>     > steered to different partitions of the L3 link resources.
>
>     > 
>
>     > The only thing I'd like to mention is the L2 bundle members could be
>     virtual or
>
>     > physical, they are just used to represent different subsets of the link
>     resources.
>
>     > 
>
>     > 
>
>     > > This is extremely problematic.
>
>     > >
>
>     > > The output of the L3 algo-specific SPF will be to install nexthops
>     pointing to
>
>     > the
>
>     > > L3 interface for packets which arrive with the L3 algo specific SID.
>     But since
>
>     > the
>
>     > > intent is to only forward traffic for a given algo specific SID
>     via specific L2
>
>     > > Bundle members, the L3 forwarding entries will have to be
>     overwritten - in a
>
>     > > manner not specified by the draft.
>
>     > 
>
>     > Section 4 of this document specifies the required forwarding plane behavior
>
>     > and the forwarding entry installation.
>
>     > 
>
>     > 
>
>     > > The implementation complexities this introduces arise because the
>     proposed
>
>     > > solution attempts to use a Layer 3 technology (flex-algo) to
>     control the use
>
>     > of
>
>     > > L2 links. This should not be done.
>
>     > 
>
>     > In the proposed mechanism, Flex-Algo is still used for constraint path
>
>     > computation, and only the L3 links attributes are used in the
>     computation. The
>
>     > L2 member links are only to partition the resources used by different Flex-Algo
>
>     > traffic.
>
>     > 
>
>     > 
>
>     > > Indeed, even independent of flex-algo, trying to use a Layer 3
>     routing
>
>     > protocol
>
>     > > to control traffic flow on an L2 sub-topology is broken.
>
>     > > It means that the L2 bundles have been improperly defined for use by
>     the L3
>
>     > > routing protocol.
>
>     > 
>
>     > There is no routing computation based on the "L2 sub-topology", as L2 bundle
>
>     > member links are not visible in the L3DB. All the Flex-Algo computation is
>
>     > based on the attributes of L3 links.
>
>     > 
>
>     > 
>
>     > > RFC 8668 defines the advertisements of L2 Bundle member link
>     attributes by
>
>     > > IS-IS. The introduction of RFC 8668 states:
>
>     > >
>
>     > > "...the new advertisements defined in this document are intended
>     to be
>
>     > > provided to external (to IS-IS) entities."
>
>     > >
>
>     > > This means these advertisements are not to be used by the routing protocol
>
>     > > itself. The association of these advertisements with the Layer 3
>     SIDs defined
>
>     > by
>
>     > > Flex-Algo is a clear violation of the intended use as stated by
>     RFC 8668.
>
>     > 
>
>     > As stated above, L2 bundle link attributes are not used in path computation.
>
>     > The Flex-Algo specific SIDs still point to the L3 interface based on that
>
>     > computation. The only change is that a Flex-Algo SID can further
>     points to the
>
>     > resource of an L2 member link (consider it as a subset of the resource of
>     the L3
>
>     > link if that is easier to understand). So the L2 bundle information is
>     only used
>
>     > for associating different Flex-Algo SIDs with different subsets of
>     resources of a
>
>     > l3 link.
>
>     > 
>
>     > 
>
>     > > This draft should be abandoned.
>
>     > >
>
>     > > NOTE: None of the points above should be interpreted to mean that flex-
>
>     > algo
>
>     > > cannot be used in support of NRPs. (Whether that is a good idea
>     or not is
>
>     > out
>
>     > > of scope for this discussion).
>
>     > 
>
>     > AFAIK people are talking about using Flex-Algo to support NRPs. This
>
>     > document provides a solution to meet their needs.
>
>     > 
>
>     > 
>
>     > > But the proper way to do that is when the NRP maps to an L3 topology.
>     Such
>
>     > a
>
>     > > usage is fully supported by RFC 9350 and there is no need to write an
>
>     > > additional document to define how this is to be done.
>
>     > 
>
>     > In some cases it is possible to map different NRPs to non-overlapping L3 sub-
>
>     > topologies, while in many other cases the same L3 link needs to
>     participate in
>
>     > multiple NRPs, each of which is assigned with a subset of the link resources.
>
>     > The latter case cannot be supported by RFC 9350, and it is the target of this
>
>     > document.
>
>     > 
>
>     > 
>
>     > > In cases where an NRP maps to an L2 topology, some other mechanism
>
>     > needs
>
>     > > to be defined as to how forwarding entries for a given NRP are determined
>
>     > and
>
>     > > installed. Such a mechanism would qualify as "external to IS-IS" and
>
>     > therefore
>
>     > > could make use of RFC 8668 advertisements.
>
>     > 
>
>     > This document also provides descriptions about this. As I mentioned it
>     is after
>
>     > L3 computation, and makes use of the L2 bundle information.
>
>     > 
>
>     > 
>
>     > > But attempts to utilize the Layer 3 Flex-Algo technology to control
>     traffic flow
>
>     > > in an L2 topology are misguided and flawed.
>
>     > 
>
>     > As long as Flex-Algo is used for L3 topology based computation, IMO it still
>
>     > complies to RFC 9350.
>
>     > 
>
>     > Best regards,
>
>     > Jie (on behalf of coauthors)
>
>     > 
>
>     > >
>
>     > >   Les
>
>
>
>     _______________________________________________
>
>     Lsr mailing list
>
>     Lsr@ietf.org
>
>     https://www.ietf.org/mailman/listinfo/lsr
>