Re: [spring] SR Policy: per-SL reverse

"Chengli (Cheng Li)" <c.l@huawei.com> Mon, 15 November 2021 07:20 UTC

Return-Path: <c.l@huawei.com>
X-Original-To: spring@ietfa.amsl.com
Delivered-To: spring@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D5CD3A0FCA for <spring@ietfa.amsl.com>; Sun, 14 Nov 2021 23:20:58 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable 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 lEzROEeDgehP for <spring@ietfa.amsl.com>; Sun, 14 Nov 2021 23:20:54 -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 8339A3A0FCE for <spring@ietf.org>; Sun, 14 Nov 2021 23:20:53 -0800 (PST)
Received: from fraeml708-chm.china.huawei.com (unknown [172.18.147.207]) by frasgout.his.huawei.com (SkyGuard) with ESMTP id 4Ht0r46jD8z67kws; Mon, 15 Nov 2021 15:17:08 +0800 (CST)
Received: from dggpemm500006.china.huawei.com (7.185.36.236) by fraeml708-chm.china.huawei.com (10.206.15.36) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 15 Nov 2021 08:20:49 +0100
Received: from dggpemm500003.china.huawei.com (7.185.36.56) by dggpemm500006.china.huawei.com (7.185.36.236) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2308.20; Mon, 15 Nov 2021 15:20:47 +0800
Received: from dggpemm500003.china.huawei.com ([7.185.36.56]) by dggpemm500003.china.huawei.com ([7.185.36.56]) with mapi id 15.01.2308.020; Mon, 15 Nov 2021 15:20:47 +0800
From: "Chengli (Cheng Li)" <c.l@huawei.com>
To: Ketan Talaulikar <ketant.ietf@gmail.com>, "mkoldych=40cisco.com@dmarc.ietf.org" <mkoldych=40cisco.com@dmarc.ietf.org>
CC: "Rakesh Gandhi (rgandhi)" <rgandhi@cisco.com>, SPRING WG <spring@ietf.org>
Thread-Topic: [spring] SR Policy: per-SL reverse
Thread-Index: AdfYL+6J0ITpvEwbRg6N1m3sR9FWR///lPSA//waa0A=
Date: Mon, 15 Nov 2021 07:20:47 +0000
Message-ID: <0e6a03d6221e4ecc87c153b8fed1ed33@huawei.com>
References: <DM6PR11MB38022A72FA83C96D1A8099EED3969@DM6PR11MB3802.namprd11.prod.outlook.com> <CAH6gdPyAbHMOJ3Nyt+1hHLsoNWOQ2cXAMT1VDeE=aoXg6Me4mQ@mail.gmail.com>
In-Reply-To: <CAH6gdPyAbHMOJ3Nyt+1hHLsoNWOQ2cXAMT1VDeE=aoXg6Me4mQ@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.112.40.81]
Content-Type: multipart/alternative; boundary="_000_0e6a03d6221e4ecc87c153b8fed1ed33huaweicom_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Archived-At: <https://mailarchive.ietf.org/arch/msg/spring/wLbdNulifuXsYrqSzgHKb_wXMG4>
Subject: Re: [spring] SR Policy: per-SL reverse
X-BeenThere: spring@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: "Source Packet Routing in NetworkinG \(SPRING\)" <spring.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/spring>, <mailto:spring-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/spring/>
List-Post: <mailto:spring@ietf.org>
List-Help: <mailto:spring-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/spring>, <mailto:spring-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 15 Nov 2021 07:20:59 -0000

Hi Ketan,

I think you are talking something very important.  Also I think describing this use case in an information draft will accelerate the progress.

But I think the key to address this problem is that we should sync up among SPRING, IDR and PCE, and even LSR WG.

Like SR policy, we have a architecture draft, and then we have a BGP extension draft for it. We also have an PCEP draft for it, but PCEP does not support multiple ERO/Path at that time. So everything defined in PCE is about LSP level/Candidate path level.

For instance, Path Segment, which is defined for identifying an SR path in data plane.  In BGP extension [1],  it is an Segment list level extension, while in PCEP, it is an LSP/CP level extension[2][3]. After  Mike proposed Multiple ERO/Multiple path draft, I think the all the LSP/CP level PCEP extensions should have a chance to sync up with BGP extension or SR policy architecture.

I have not known the difference between Reserved SL and bidirectional path, but I think a bidirectional path can have the SID list with reversed order. We can have more discuss of the use cases.

Thinking about Mike’s extension is mainly about control plane and the path ID will not be used in the packet, and the path segment will be used in the packet, I see good chances for us to cooperate.

Again, it is the time to sync up among SPRING, PCE, IDR, LSR and 6MAN WGs.



[1]. https://datatracker.ietf.org/doc/html/draft-ietf-idr-sr-policy-path-segment-04#section-3
[2]. https://datatracker.ietf.org/doc/html/draft-ietf-pce-sr-path-segment-04
[3]. https://datatracker.ietf.org/doc/html/draft-ietf-pce-sr-bidir-path-08



From: spring [mailto:spring-bounces@ietf.org] On Behalf Of Ketan Talaulikar
Sent: Saturday, November 13, 2021 11:21 AM
To: mkoldych=40cisco.com@dmarc.ietf.org
Cc: Rakesh Gandhi (rgandhi) <rgandhi@cisco.com>; SPRING WG <spring@ietf.org>; Chengli (Cheng Li) <c.l@huawei.com>
Subject: Re: [spring] SR Policy: per-SL reverse

Hi Mike,

You are right that the SR Policy architecture draft does not talk about reverse SLs. But it also doesn't talk about bidirectional paths or aspects like the use of association objects for disjoint paths. At one point in time, some of us (WG members) were of the view that these aspects may be covered in the standards track draft but such topics were moved out to an informational draft draft-filsfils-spring-sr-policy-considerations as these were use-cases.

Specifically on the point of "reverse SL", I think that the term is misleading. The SLs in a given SR Policy are always ordered in the forward direction (head to tail). This is not being changed. That there is another SR Policy with an SL having a reverse order of segment is more of a path computation constraint. There is no change or update required for this to the SR Policy architecture.

Today, we already have protocol mechanisms defined for various constraints and their use-cases - those again are not covered by the SR Policy architecture document (some are in the companion information document that we stopped updating at a point).

In summary, there is nothing that I see in this new/proposed work that changes what we have in the SR Policy document. Whether we need to start a new document (not standards but informational in my view as this is a use-case), I leave it to the WG and chairs. My preference would be to incorporate such use-cases in the existing informational draft if the WG does want to take up this work.

Thanks,
Ketan


On Sat, 13 Nov 2021 at 07:40, Mike Koldychev (mkoldych) <mkoldych=40cisco.com@dmarc.ietf.org<mailto:40cisco.com@dmarc.ietf.org>> wrote:
Hi SPRING WG,

During the PCE session there was a presentation about signaling per-SL (Segment List) reverse paths, see https://datatracker.ietf.org/doc/html/draft-ietf-pce-multipath-03#section-4.5. I received comments to bring this up in the SPRING WG.

In the simplest case, you have two SR Policies in opposite directions, something like this:

SR policy POL1 <headend = PE1, endpoint = PE2>
  Candidate-path CP1
    SID-List = <ABC>

SR policy POL2 <headend = PE2, endpoint = PE1>
  Candidate-path CP1
    SID-List = <CBA>

Where <ABC> and <CBA> are two segment lists that can be considered “opposites” of each other, maybe traversing the same links in reverse, or maybe just the same nodes, etc.

However, if the SR Policies have multiple segment lists, it gets more complicated:

SR policy POL1 <headend = PE1, endpoint = PE2>
  Candidate-path CP1
    SID-List = <ABC>
    SID-List = <DEF>

SR policy POL2 <headend = PE2, endpoint = PE1>
  Candidate-path CP1
    SID-List = <CBA>
    SID-List = <FED>

Where <ABC> and <CBA> are opposites, also <DEF> and <FED> are opposites.

REQ 1: It should be possible to express that multiple reverse SLs correspond to the same forward SL. For example, if the forward SL is using Node Segment(s) with ECMP and reverse SLs use Adjacency Segments to cover multiple ECMP paths in reverse.

REQ 2: It should be possible to express that SL 1 is a reverse of SL 2, but SL 2 is *not* a reverse of SL 1. I.e., not mutually reverse.

REQ 3: Having a set of reverse SL(s) associated to every forward SL is useful even if there is no actual SR Policy in the reverse direction. I.e., if there’s just a unidirectional “forward” SR Policy that needs to know the return paths for each of its SLs.

Currently SR Policy Architecture does not talk about reverse SLs. I’m requesting the WG to review the proposal and decide if we should standardize this.

Thanks,
Mike.
_______________________________________________
spring mailing list
spring@ietf.org<mailto:spring@ietf.org>
https://www.ietf.org/mailman/listinfo/spring