Re: [Lsr] WG Adoption Call for "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks" - draft-bonica-lsr-ip-flexalgo-01

"Dongjie (Jimmy)" <jie.dong@huawei.com> Thu, 10 December 2020 12:02 UTC

Return-Path: <jie.dong@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 E3C823A0D1C for <lsr@ietfa.amsl.com>; Thu, 10 Dec 2020 04:02:39 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, 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 mantoGYGLvJ8 for <lsr@ietfa.amsl.com>; Thu, 10 Dec 2020 04:02:37 -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 6124D3A0D13 for <lsr@ietf.org>; Thu, 10 Dec 2020 04:02:37 -0800 (PST)
Received: from fraeml743-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4CsCCH1T1Dz67NgV for <lsr@ietf.org>; Thu, 10 Dec 2020 19:59:55 +0800 (CST)
Received: from dggeme702-chm.china.huawei.com (10.1.199.98) by fraeml743-chm.china.huawei.com (10.206.15.224) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2106.2; Thu, 10 Dec 2020 13:02:33 +0100
Received: from dggeme754-chm.china.huawei.com (10.3.19.100) by dggeme702-chm.china.huawei.com (10.1.199.98) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1913.5; Thu, 10 Dec 2020 20:02:31 +0800
Received: from dggeme754-chm.china.huawei.com ([10.6.80.77]) by dggeme754-chm.china.huawei.com ([10.6.80.77]) with mapi id 15.01.1913.007; Thu, 10 Dec 2020 20:02:31 +0800
From: "Dongjie (Jimmy)" <jie.dong@huawei.com>
To: Peter Psenak <ppsenak@cisco.com>, "Acee Lindem (acee)" <acee=40cisco.com@dmarc.ietf.org>, lsr <lsr@ietf.org>
Thread-Topic: [Lsr] WG Adoption Call for "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks" - draft-bonica-lsr-ip-flexalgo-01
Thread-Index: AQHWyCa69SgvuXvqQUSruOMjcUOnRanukOqg//+JYYCAAJ+NMP//h7yAgACWrCCAALhHgIAAjD2w
Date: Thu, 10 Dec 2020 12:02:31 +0000
Message-ID: <db0277d7891a45d6917e84a219b880a3@huawei.com>
References: <777B2AC4-CACF-4AB0-BFC7-B0CFFA881EEB@cisco.com> <169b063524dc4420b37016d2428fc85c@huawei.com> <29d3d16a-237d-e657-e84c-c74a1e5a841f@cisco.com> <c779c9da19264b718effd3d0442c8616@huawei.com> <8024148b-df7d-d79f-26b6-c64b9113cd9e@cisco.com> <64d017200b9f449fb5866729c71af221@huawei.com> <ee59964d-1e9d-233a-254e-37f6141a9add@cisco.com>
In-Reply-To: <ee59964d-1e9d-233a-254e-37f6141a9add@cisco.com>
Accept-Language: en-US, zh-CN
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.108.243.143]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/lsr/5h9vN1xxCU3EMnfgW7uLz9t7b4M>
Subject: Re: [Lsr] WG Adoption Call for "IGP Flexible Algorithms (Flex-Algorithm) In IP Networks" - draft-bonica-lsr-ip-flexalgo-01
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, 10 Dec 2020 12:02:40 -0000

Hi Peter, 

> -----Original Message-----
> From: Peter Psenak [mailto:ppsenak@cisco.com]
> Sent: Thursday, December 10, 2020 5:05 PM
> To: Dongjie (Jimmy) <jie.dong@huawei.com>; Acee Lindem (acee)
> <acee=40cisco.com@dmarc.ietf.org>; lsr <lsr@ietf.org>
> Subject: Re: [Lsr] WG Adoption Call for "IGP Flexible Algorithms (Flex-Algorithm)
> In IP Networks" - draft-bonica-lsr-ip-flexalgo-01
> 
> Hi Jimmy,
> 
> On 10/12/2020 09:06, Dongjie (Jimmy) wrote:
> > Hi Peter,
> >
> >> -----Original Message-----
> >> From: Peter Psenak [mailto:ppsenak@cisco.com]
> >> Sent: Wednesday, December 9, 2020 9:06 PM
> >> To: Dongjie (Jimmy) <jie.dong@huawei.com>; Acee Lindem (acee)
> >> <acee=40cisco.com@dmarc.ietf.org>; lsr <lsr@ietf.org>
> >> Subject: Re: [Lsr] WG Adoption Call for "IGP Flexible Algorithms
> >> (Flex-Algorithm) In IP Networks" - draft-bonica-lsr-ip-flexalgo-01
> >>
> >> Hi Jimmy,
> >>
> >> On 09/12/2020 13:52, Dongjie (Jimmy) wrote:
> >>> Hi Peter,
> >>>
> >>>> -----Original Message-----
> >>>> From: Peter Psenak [mailto:ppsenak@cisco.com]
> >>>> Sent: Wednesday, December 9, 2020 6:45 PM
> >>>> To: Dongjie (Jimmy) <jie.dong@huawei.com>; Acee Lindem (acee)
> >>>> <acee=40cisco.com@dmarc.ietf.org>; lsr <lsr@ietf.org>
> >>>> Subject: Re: [Lsr] WG Adoption Call for "IGP Flexible Algorithms
> >>>> (Flex-Algorithm) In IP Networks" - draft-bonica-lsr-ip-flexalgo-01
> >>>>
> >>>> Jimmy,
> >>>>
> >>>> On 09/12/2020 11:10, Dongjie (Jimmy) wrote:
> >>>>> Hi authors,
> >>>>>
> >>>>> Here is one comment following the previous discussion on the mail
> >>>>> list and the IETF meeting.
> >>>>>
> >>>>> The IP Algorithm TLV is defined to advertise the IP Flex-Algorithm
> >>>>> participation information, there is no separate TLV for IPv4 or
> >>>>> IPv6 Flex-Algo participation.
> >>>>
> >>>> the draft clearly says:
> >>>>
> >>>>       "The IP Flex-Algorithm participation advertised in ISIS IP Algorithm
> >>>>       Sub-TLV is topology independent."
> >>>
> >>> This does not answer my question.
> >>>
> >>> Section 7 gives the rules of IP Flex-Algo Path calculation:
> >>>
> >>> " IP Flex-Algorithm application only considers participating nodes
> >>> during
> >> the Flex-Algorithm calculation.  When computing paths for a given
> >> Flex-Algorithm, all nodes that do not advertise participation for IP
> >> Flex-Algorithm, as described in Section 5, MUST be pruned from the
> >> topology."
> >>>
> >>> >From IP Algorithm TLV, one cannot tell whether a node participates
> >>> >in
> >>>> Flex-Algo 128 for IPv4, IPv6 or both. This would cause the problem
> >>>> described below: >
> >>> When one node uses IP Flex-Algo participation to compute a path for
> >>> an
> >> IPv6 address advertised with Flex-Algo 128, it will not prune the
> >> nodes which participate in Flex-Algo 128 for IPv4 only from the
> >> topology. Thus IPv6 packets following that path may get dropped on
> >> nodes which participates in Flex-Algo 128 for IPv4 only.
> >>
> >> FA calculation is done for every MT topology independently.
> >>
> >> For IPv4 it will take all routers participating in MT0 and run the FA
> >> calculation on top of MT0.
> >>
> >> For IPv6 it will take all routers participating in MT2 and run the FA
> >> calculation on top of MT2.
> >>
> >
> > Using different MTs for different data plane and run FA path computation
> within each MT may solve the problem in many cases.
> >
> > While the different rules related to FA definition, FA participation, and FA
> reachability advertisement still make me a little confused, and there may be
> some cases not covered by the above approach.
> >
> > - Flex-Algo definition is application independent and topology independent.
> >
> > - IP Flex-Algo participation is application specific and topology independent.
> >
> > - IPv4 and IPv6 are considered as one application, while may use different
> topologies.
> >
> > - IP Flex-Algo reachability advertisement is per AF, and may with different
> topologies.
> >
> > With the above rules, let's consider the case below:
> >
> > - A node participates in both MT 0 (for IPv4) and MT 2 (for IPv6).
> >
> > - This node advertises its IP Flex-Algo participation of FA 128.
> >
> > - This node advertises IPv4 Flex-Algo reachability with MT=0/FA=128.
> >
> > - This node does NOT advertise IPv6 Flex-Algo reachability for FA 128. It may
> advertise normal IPv6 reachability in MT 2.
> >
> > Thus this node is not reachable in MT 2 with FA 128.
> 
> above is wrong.


OK, more precisely, this node cannot be used as the destination of a path in MT 2 with FA 128.

> 
> The node participates in MT2 and FA 128, as such it is reachable in MT2 in FA
> 128.
> 
> >While it will be considered by other nodes for path computation in MT 2 with
> FA 128.
> >
> > The question is: will this node compute paths for other IPv6 prefixes
> advertised with MT=2/FA=128?
> 
> absolutely. It is participating in MT2 and FA 128. The fact that "does NOT
> advertise IPv6 Flex-Algo reachability" is completely irrelevant. It is NOT
> mandatory for a node to advertise the reachability for prefix in every MT/FA
> algo it participates.
> 
> Similarly it is not required for a node that participates in in MT0 to advetise any
> IPv4 prefix and IPv4 traffic will flow over it.

Agree that it can be used as a transit node, if its Flex-Algo participation is for both AFs.

> >
> > If not, this node may drop packets whose destination is IPv6 prefixes with FA
> 128.
> >
> > And do you think it is needed to provide approach to only consider this node
> for IPv4 path computation with FA 128, and prune it from IPv6 path
> computation with FA 128? For example, make the IP Flex-Algo participation per
> AF or per topology?
> 
> absolutely not.

In Flex-Algo draft, it says:

"Application-specific Flex-Algorithm participation advertisements MAY be topology specific or MAY be topology independent, depending on the application itself."

The preassumption of current IP Flex-Algo participation is that one node always participate in a Flex-Algo for both IPv4 and IPv6, and for all the topologies it joins. 

I'm not saying this does not work, just want to understand the reason of this design, and whether some flexibility (e.g. AF specific or topology specific) would be useful in some cases. 

BTW, a similar case is about SR-MPLS and SRv6 being treated as a single application. Below is the discussion quoted from a previous mail on this list: 

  [Jie] OK. While the meaning of "app" here maybe a little vague, are SR-MPLS and SRv6 considered the same or different apps?

  [Peter] These are considered as single app, and share the same participation signaling. Please note that SRv6 support is signaled independently of FA participation.

Does this imply that for Flex-Algo path computation with SRv6, in addition to the Flex-Algo participation information, the SRv6 support information of nodes also needs to be considered, so that nodes participate in this Flex-Algo but do not support SRv6 will be pruned from the topology? If so, IMO this needs to be specified in the Flex-Algo draft. If not, please clarify how to prune the nodes which participate in the same Flex-Algo for SR-MPLS only? Thanks.

Best regards,
Jie

> thanks,
> Peter
> 
> 
> >
> > Best regards,
> > Jie
> >
> >>>>
> >>>>> If some nodes participate in IPv4 Flex-Algo 128, and some of these
> >>>>> nodes participate in IPv6 Flex-Algo 128, how to ensure that the
> >>>>> path computed for IPv6 Flex-Algo will not use the nodes which only
> >>>>> participate in IPv4 Flex-Algo 128?
> >>>>
> >>>> there is no such thing as "IPv4 Flex-Algo 128" or "IPv6 Flex-Algo 128".
> >>>> There is only algo 128.
> >>>
> >>> Agree that Flex-Algo 128 is application or data plane agnostic, and
> >>> as we
> >> discussed the same Flex-Algo can be used with both IPv4 and IPv6
> >> (maybe also for SR-MPLS, SRv6). These terms are used as shorthand of
> >> "Flex-Algo
> >> 128 used with IPv4 or IPv6"
> >>>
> >>>> You are mixing data plane support with algo participation.
> >>>
> >>> I understand Flex-Algo definition is application agnostic, and
> >>> Flex-Algo
> >> participation is application specific, it is just not clear to me
> >> whether IPv4 and IPv6 can be treated as one application.
> >>
> >> yes they can.
> >>
> >>>
> >>>> If you want an algo to only include nodes that supports specific
> >>>> data
> >> plane,
> >>>> you would need to define a specific algo for it.
> >>>
> >>> This IMO contradicts with the base concept: Flex-Algo definition is
> >> application (or data plane) agnostic.
> >>
> >> not really, see above.
> >>
> >> thanks,
> >> Peter
> >>
> >>>
> >>> Best regards,
> >>> Jie
> >>>
> >>>>
> >>>> thanks,
> >>>> Peter
> >>>>
> >>>>
> >>>>>
> >>>>> Best regards,
> >>>>>
> >>>>> Jie
> >>>>>
> >>>>> *From:*Lsr [mailto:lsr-bounces@ietf.org] *On Behalf Of *Acee
> >>>>> Lindem
> >>>>> (acee)
> >>>>> *Sent:* Wednesday, December 2, 2020 5:13 AM
> >>>>> *To:* lsr <lsr@ietf.org>
> >>>>> *Subject:* [Lsr] WG Adoption Call for "IGP Flexible Algorithms
> >>>>> (Flex-Algorithm) In IP Networks" - draft-bonica-lsr-ip-flexalgo-01
> >>>>>
> >>>>> This IP Flex Algorithm draft generated quite a bit of discussion
> >>>>> on use cases and deployment prior to IETF 109 and there was
> >>>>> generally support for WG adoption. This begins a two week WG adoption
> call.
> >>>>> Please indicate your support or objection to WG adoption on this
> >>>>> list prior to
> >>>>> 12:00 AM UTC on December 16^th , 2020. Also, review comments are
> >>>>> certainly welcome.
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>> Acee
> >>>>>
> >>>
> >>>
> >>>
> >
> >
> >