Re: [Pce] Multipath / replication segment comment

Tarek Saad <tsaad.net@gmail.com> Wed, 12 February 2020 22:45 UTC

Return-Path: <tsaad.net@gmail.com>
X-Original-To: pce@ietfa.amsl.com
Delivered-To: pce@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 73720120019 for <pce@ietfa.amsl.com>; Wed, 12 Feb 2020 14:45:24 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.246
X-Spam-Level:
X-Spam-Status: No, score=0.246 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, FREEMAIL_REPLY=1, HTML_MESSAGE=0.001, NORMAL_HTTP_TO_IP=0.001, NUMERIC_HTTP_ADDR=1.242, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
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 bHWblAQFncp4 for <pce@ietfa.amsl.com>; Wed, 12 Feb 2020 14:45:22 -0800 (PST)
Received: from mail-yb1-xb31.google.com (mail-yb1-xb31.google.com [IPv6:2607:f8b0:4864:20::b31]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E15FC120013 for <pce@ietf.org>; Wed, 12 Feb 2020 14:45:21 -0800 (PST)
Received: by mail-yb1-xb31.google.com with SMTP id j11so1968470ybt.8 for <pce@ietf.org>; Wed, 12 Feb 2020 14:45:21 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:thread-topic:thread-index:date:message-id :references:in-reply-to:accept-language:content-language :mime-version; bh=bjl/GEbCHbZRSGGeas/tGPVUvs2FZlGXMeZyPbcWAWo=; b=CwQIXGJ2dtaNEAGoQCWZWbRcEu4bLTfl41U0g34PztNcUb60f+EYNAs2ksGPoQclv2 AliiAJNu47r6PoM6r5lSQ9WxNQN4swpnWuQfmmyRWvbRi9pcOj56ot+cGElKYDc6/pkD +lVx5BD+U2F8YIIa4t771fKciVFGOSdUmxdOj4Fhb5ouClmZp/DqyGUfJJJvq1WRKWrO SjCVuHMfQaXgEaMURtyUmsjPdMs45+wnCIjEsNooc90giI03WQnhKC01hxtF7KAbr4Mh 3b4LFFUxmEut/jhGC9giwiYuOEqOM7DSeD39wvh9GuV4c/BT0kauB9l7k/bPsXeHBaXf 97pQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:references:in-reply-to:accept-language :content-language:mime-version; bh=bjl/GEbCHbZRSGGeas/tGPVUvs2FZlGXMeZyPbcWAWo=; b=O5zvxc/dBAYPTvVkWWmheyfvjf2rauGTfFwVYp6rRGxMV0/0Uc5IIUVEWRrp30r23c hDdJ2Dy9LnnwdmcZlQbAiIxAVjyHDvt0Uphn7tG10557LS4aDRV0lQhAxnLtNSMp+ZZJ ULVUDsUSbQ79hGLmYemRVdAwNzY497j+3wPpC7K1vBJSXgfpI6rTtsbSBMTNjPE2+EH6 5d9SiO+2DhUBP7vSOo5RsWMJ/z+EgRHYDfhL5IhXaDKZBkkTcv50oR8M5WN3PXsyc6SQ oDb7A5wz4ivs20UMObFxjm5si4WEoe1wsgyxVq3JQEUh/DMQZx5EY4//pasJGEIB/XuP xAbA==
X-Gm-Message-State: APjAAAVbH4eCYviAp0XZAVmqThqQiFeSDJWPAYqm1XpuYD1eF7ma/Jkx fU5mqNJ9uABT68DtxgotDFA=
X-Google-Smtp-Source: APXvYqwLHHdWIjAlxuI/s2HV1UOTj4GZNHDmpiFx29Ozgafl+ezErT1Gvz87haNBfFqr9EOJ2wa4qQ==
X-Received: by 2002:a25:2e0e:: with SMTP id u14mr13847647ybu.16.1581547520957; Wed, 12 Feb 2020 14:45:20 -0800 (PST)
Received: from MN2PR19MB3167.namprd19.prod.outlook.com ([2603:1036:302:409e::5]) by smtp.gmail.com with ESMTPSA id o4sm217482ywd.5.2020.02.12.14.45.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 12 Feb 2020 14:45:19 -0800 (PST)
From: Tarek Saad <tsaad.net@gmail.com>
To: Cyril Margaria <cyril.margaria@gmail.com>, "Stone, Andrew (Nokia - CA/Ottawa)" <andrew.stone@nokia.com>
CC: "pce@ietf.org" <pce@ietf.org>
Thread-Topic: [Pce] Multipath / replication segment comment
Thread-Index: AUMyRjQyAyA3OATfKhhztsfrjcHN1lFmM0IxQzM1NDRRM2V3d54w+Vhm
X-MS-Exchange-MessageSentRepresentingType: 1
Date: Wed, 12 Feb 2020 22:45:17 +0000
Message-ID: <MN2PR19MB31676F98A15367281D259698FC1B0@MN2PR19MB3167.namprd19.prod.outlook.com>
References: <89FB1D82-8245-490A-BEF9-6AD5268A3FBC@nokia.com> <CAB75xn6PO1Dix-O4Fq6BTKx-bDyNG3uV=FUYzhbfWgECj3nFqQ@mail.gmail.com> <5F7FCDF4-0561-46D8-9253-63753704FC7C@nokia.com> <CADOd8-sP6wK+g48WLopwAdvs+O1N-eTwQJ8k4vq3M4bFF46cdQ@mail.gmail.com>
In-Reply-To: <CADOd8-sP6wK+g48WLopwAdvs+O1N-eTwQJ8k4vq3M4bFF46cdQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
Content-Type: multipart/alternative; boundary="_000_MN2PR19MB31676F98A15367281D259698FC1B0MN2PR19MB3167namp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/pce/xGioPWU7CfA6TjL_jcJpfuFGTtE>
Subject: Re: [Pce] Multipath / replication segment comment
X-BeenThere: pce@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Path Computation Element <pce.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/pce>, <mailto:pce-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/pce/>
List-Post: <mailto:pce@ietf.org>
List-Help: <mailto:pce-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/pce>, <mailto:pce-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 12 Feb 2020 22:45:24 -0000

Hi all,

Some input inline..

From: Pce <pce-bounces@ietf.org> on behalf of Cyril Margaria <cyril.margaria@gmail.com>
Date: Wednesday, February 12, 2020 at 4:19 PM
To: "Stone, Andrew (Nokia - CA/Ottawa)" <andrew.stone@nokia.com>
Cc: "pce@ietf.org" <pce@ietf.org>
Subject: Re: [Pce] Multipath / replication segment comment

Please see inline

On Thu, 19 Dec 2019 at 17:19, Stone, Andrew (Nokia - CA/Ottawa) <andrew.stone@nokia.com<mailto:andrew.stone@nokia.com>> wrote:
Few comments below,

Cheers
Andrew

On 2019-12-19, 6:52 AM, "Dhruv Dhody" <dhruv.ietf@gmail.com<mailto:dhruv.ietf@gmail.com>> wrote:

    Hi Andrew,

    Speaking as a WG contributor...

    On Wed, Dec 18, 2019 at 11:58 PM Stone, Andrew (Nokia - CA/Ottawa)
    <andrew.stone@nokia.com<mailto:andrew.stone@nokia.com>> wrote:
    >
    > Hi all,
    >
    >
    >
    > In Singapore I made a remark about draft-koldychev-pce-multipath that it’s a helpful draft and is also applicable to the replication segment.
    >
    >
    >
    > I received a follow up question emailed directly, asking about whether “EROs need to share same source and destination” and how/if this could be related to RFC 8623.
    >
    >
    >
    > For openness, sending my thoughts/comments here to the WG:
    >
    >
    >
    > There is no requirement listed in draft-koldychev-pce-multipath that I can see which requires EROs to terminate on the same source/destination, I haven’t seen that expectation anywhere, and in my opinion there should not be.

    [Dhruv] You are right, this is not explicit in the I-D. But based on
    the scope of past discussion IMHO it was always about multiple paths
    (ERO) for a single tunnel and thus finding a way to encode them within
    a single report/update in a PCEP message.

[Andrew] True, the original intent of multiple paths within the same tunnel in a single report/update, but that could still be leveraged in the replication case, i.e I want a single report/update to modify the state of a replication segment. I think it becomes a gray area in interpretation of whether or not a replication segment creates a P2MP tunnel or if it's actually just creating multiple P2P tunnels from a single ingress label. If the interpretation is it's a P2MP tunnel, then using multiple EROs to define the forwarding of a P2MP. Tunnel requires those EROs to terminate on different nods.
[Cyril] There is a related work that ties one tunnel to multiple path, list of hops :  RFC8697, and draft-ietf-pce-stateful-path-protection-11. Given the mechanism used (and flexibility in term of the individual legs), would it make sense to reuse the path protection mechanisms to tie those multiple EROs together? In addition it addresses the backup path already.

[TS]: Consider the case of a PCE delegated SR Policy Candidate Path. The PCC desires an SR path computation from a PCE that is subject to constraints – The PCC has no a-priori idea **how many** Segment-Lists (SLs) the PCE path computation will result in-- so it does not know how many (or whether it should at all) create multiple PLSPs with NO-ERO and report them so PCE can respond to each.
The PCC creates *one* PLSP and reports to the PCE the LSP down (with NO-ERO) along with the specified user constraints. The PCE computes and determines the feasible number of SLs. Now, it would be awkward for the PCE to instantiate PLSPs – different from the one originally delegated by the PCC—so to encode each SL in its own PLSP and make use the “association object” method.. I can also imagine complexities in what each PLSP LSP would carry in terms of constraints – especially after some configuration change on the PCC…

The proposal in draft-koldychev-pce-multipath indeed proposes elegant way to encode all computed SLs (as multiple SERO lists) into a single PLSP – the one originally reported by the delegated PLSP. In fact, this method allows at anytime the PCE to send PCUpd to add/remove/update SL(s) within a single PLSP freely – which IMO is powerful.

I think the same argument applies to backup paths/SLs too.. The PCC would not know how many SL(s) can protect a single path, so it would not be able to a-priori create PLSPs and use association object.

Where is the requirement of updating all the segment-list of an SR-Candidate together coming from?

On an unrelated note, why is it called Candidate-path and not candidate-multipath, if there are multiple path?

[TS]: please refer to draft-ietf-spring-segment-routing-policy which defines such terms…

Regards,
Tarek



    The new ERO-ATTRIB object in the I-D is just a separator between
    several ERO objects in a existing PCEP message which reports/update a
    particular LSP (identified by PLSP-ID in the LSP object).

    > For example, one of the use cases of draft-koldychev-pce-multipath is for SR Policy to support multiple SID lists, combine that with use case such as SR-EPE, you could have multiple SID lists and have weighted ECMP traffic out different egress nodes intentionally to load balance across different peer nodes.

    [Dhruv] As per the SR policy as it is currently defined - End point is
    the property of the SR Policy. Each segment-list inside a candidate
    path would be a specific source-routed path from the headend to the
    endpoint of the corresponding SR policy. That said, in this use case
    perhaps you would use an anycast address but still the same endpoint
    from the SR policy point of view.


[Andrew] Coincidentally this was just mentioned in SPRING mailing list, whether in SR Policy endpoint is the tunnel termination vs a prefix/route to reach (which I kind of have to agree with), which seemed to have been raised because there's the concept of null/0.0.0.0<http://0.0.0.0> (and some wording on whether or not this is a valid "endpoint"). Anyways, in an EPE case I don't need to specify a path to reach the absolute endpoint, I just need to specify a path to steer to an egress peer, and with last label in the stack being an EPE Peer link or node, and that egress peer can take over the packet (likely not MPLS encaped anymore) and steer, forward or tunnel however it chooses. In this regard the SID list specified on the headend SR Policy "stops early" before the "real endpoint". From this perspective whether my ECMP SID lists stop on different routers or not is not really relevant for reaching the "real endpoint". Section 4.7 in draft-ietf-spring-segment-routing-central-epe-10 briefly comments on this, in the sense that to reach an internet route a SID list comprised of only SID(s) to reach the border node, and a SID to specify the peering router is sufficient. In this regard the path terminates on the peering router, despite the fact that my endpoint is much further in the network / perhaps across the internet.


    > Another example, with ingress replication, is the multipath ERO can also be re-used to describe the egress downstream paths which will be going to different receiver(s), for either further replication or consumption.
    >
    >
    >
    > My comment regarding multipath to be used for ingress replication is because there is a need in replication segment to be able to program backup paths for each egress ERO. There were comments on this in the earlier sr-replication draft in spring wg, but appears the wording has been redone / drafts are still in a state of change. None the less, the multipath backup TLV via the ERO attributes object in draft-koldychev-pce-multipath permits the relation between the normal ERO and the backup (PCE computed) ERO, something that the current RFC 8623 does not. There’s a desire to build this into replication segment and draft-hsd-pce-sr-p2mp-policy-01  is leveraging this construct (probably need further remarks on this in the drafts to describe this intention). Comparing to RFC 8623, considering all of the nuances of replication segment (p2mp-lsp-identifier-tlv, replication-sid/binding-label, backup eros) it seems reasonable to me that draft-hsd-pce-sr-p2mp-policy defines the replication segment (draft-hsd-pce-sr-p2mp-policy-01 section 3.3) while leveraging existing/other common constructs, and defining it’s behaviour, rather than trying to just use all of RFC8623 and attempt to update and squeeze in (or out) other elements of the RFC.
    >
    >

    [Dhruv]: For the SR-P2MP usecase you have two building blocks in PCEP
    (1) PCEP-SR for P2P (2) PCEP-RSVP-TE for P2MP. I would suggest you to
    build on both of these. The (1) offers you SR-ERO, SR-Policy
    association etc. The (2) offers you P2MP END-POINT object with
    multiple destination, S2LS object to report status to each leaf etc.

    Regarding backup, Protection Association could be used even for P2MP
    as well. I would not look only at a feature like 'backup' to make this
    fundamental judgment on how to encode SR-P2MP in PCEP.

    I like the fact that as far as PCEP message encoding is concerned,
    there is a minimal difference between SR and RSVP-TE. I would like to
    see if we can continue to keep that true for SR-P2MP as well :)

[Andrew] ACK, something I guess that will need to be discussed further in the shaping of PCEP replication segment draft. Configuring stitched replication segments (and each replication segment does not perform any network signalling), one could leverage independent RSVP LSP(s) in between replication segments along their unicast path, but it's not clear to me if there could/would/should be RSVP signalling for the replication segment itself, so I'm not sure how directly mapped to an RSVP use case it is, as the current focus is SR-MPLS/SRv6-like functionality. Keeping data models and message encoding the same as much as possible, I do agree with, and the replication segment draft has attempted to do that by re-using the model encoding from all the previous IETF work. Side note, the separation of the P2MP Policy vs Replication Segment in PCEP is also key to keeping the solution manageable in PCEP to handle cases of mbb, redundancy and transport re-usability - it's not clear to me how that split looks like if one were to completely build on the RFC 8623.


    Thanks!
    Dhruv

    >
    > Cheers
    >
    > Andrew
    >
    >
    >
    > _______________________________________________
    > Pce mailing list
    > Pce@ietf.org<mailto:Pce@ietf.org>
    > https://www.ietf.org/mailman/listinfo/pce


_______________________________________________
Pce mailing list
Pce@ietf.org<mailto:Pce@ietf.org>
https://www.ietf.org/mailman/listinfo/pce