Subject: [Pce] Proposal for signaling ECMP or UCMP paths

From: "Mike Koldychev (mkoldych)" <[email-masked]>
Date: Fri, 12 Jul 2019 21:02:15 +0000

Hi WG,

As per SPRING WG, SR Policy may contain multiple Candidate Paths and each Candidate Path may contain multiple Segment Lists. Existing SR standards in PCEP allow only a single ERO (one Segment List) for the SR Path in a stateful PCEP message. There is a need to signal multiple Segment Lists in PCEP for this as well as other load balancing use cases. 

See the link that describes this, as well as list possible ways to achieve this. Please provide your feedback on the list or during the WG session.

https://github.com/dhruvdhody-huawei/105/blob/master/multiple_ERO_jl03a.pdf

Thanks,
Mike.

---

From: Cyril Margaria <[email-masked]>
Date: Fri, 19 Jul 2019 14:36:59 +0100

Hi,

On slide "LSP objectives and constraints": Stateless  PCE can compute set
of EROs/Label switch paths using RFC6007, including multi-domain and
multi-PCEs scenarios. This can be used for computing a set of EROs for SR
candidate paths, one case that can apply to the candidate path and
explicitly mentioned by the RFC is "Two or more end-to-end diverse paths".
This does not cover the stateful PCE case directly, but there are similar
situations to what RFC6007 in the form of path protection
(primary/secondary/standby) for statefull PCE, which use the association
mechanism. Those two existing mechanism exists to coordinate several paths
and could be used to indicate how multiple paths are related and on how to
signal them together (SVEC)

On slide "Analysis of Solution 1":
  - For PCC-Initated LSPs: what prevents the PCE to to create PCE-Initiated
LSPs using the same association id? This would tackle the problem.
  - The possibility of each path to have different objective does seems to
be an advantage as its less restrictive. Having the same restriction on a
set of paths is easy, relaxing a restriction on the ERO #5 is more
complicated (in term of encoding).
  - There is a set of options to achieve the "signal the set of paths
together":
     a)  set of LSPs can be reported in the same message, it can be
enforced by the document defining that specific association type.
     b) SVEC/SVEC List can be extended to statefull PCEP,

That solution would work in case of multi-domain PCEs, and also be helpful
for OAM and auto-bw mechanism.
As a segment list is one path in the network, that maps nicely to one LSP.

Solution 2:
  - This limit the set of constraints to be applied, policies like "10% of
the traffic does not need to be protected" cannot be expressed (it can be
with solution 1, clear L bit of LSPA on one TE-LSP out of 10)
  - 2.a when the LSP is reported down : which ERO is down?, the same is
applicable for auto-bw and any form of OAM data.
  - Solution 2.b allows for Optimized branch encoding, that should be
disabled for that solution

Slide "Comparison of Solutions":
   - There are solutions to most of the points raised for solution 1
   - The database problem seems specific to one implementation, other
implementation will have the problem for solution 2
   -  multi-PCE and multi-domain are not evaluated. Solutions and
consideration are available for solution 1, not for solution 2.
(experimental Inter-domain P2MP tree solutions exists).

Best Regards,
Cyril

On Fri, 12 Jul 2019 at 22:02, Mike Koldychev (mkoldych) <[email-masked]>
wrote:

> Hi WG,
>
> As per SPRING WG, SR Policy may contain multiple Candidate Paths and each
> Candidate Path may contain multiple Segment Lists. Existing SR standards in
> PCEP allow only a single ERO (one Segment List) for the SR Path in a
> stateful PCEP message. There is a need to signal multiple Segment Lists in
> PCEP for this as well as other load balancing use cases.
>
> See the link that describes this, as well as list possible ways to achieve
> this. Please provide your feedback on the list or during the WG session.
>
> _______________________________________________
> Pce mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/pce
>

---

From: "Mike Koldychev (mkoldych)" <[email-masked]>
Date: Fri, 19 Jul 2019 15:51:28 +0000

Hi Cyril,

Thanks a lot for your feedback!

Maybe I need to make it clear that the problem we’re trying to solve is a single optimization objective resulting in multiple ECMP/UCMP paths. This is motivated by SR-TE Policy use case, where each Candidate Path represents a single optimization objective. The Candidate Path has a set of Segment Lists that satisfy the optimization objective.

You seem to want to solve a different problem: two or more different optimization objectives and each ECMP path is mapped to a different objective. In that case Solution 1 is absolutely necessary and it would not have any of the down-sides, because the PCC knows in advance how many optimization objectives it has and can create that many PCEP LSPs. However for our problem, Solution 1 would introduce a lot of implementation complexity and protocol overhead.

We have a side-meeting scheduled on Wednesday at 8:30 to discuss this topic, you are welcome to attend if you want to contribute your input.

Thanks,
Mike.

From: Cyril Margaria <[email-masked]>
Sent: Friday, July 19, 2019 9:37 AM
To: Mike Koldychev (mkoldych) <[email-masked]>
Cc: [email-masked]
Subject: Re: [Pce] Proposal for signaling ECMP or UCMP paths

Hi,

On slide "LSP objectives and constraints": Stateless  PCE can compute set of EROs/Label switch paths using RFC6007, including multi-domain and multi-PCEs scenarios. This can be used for computing a set of EROs for SR candidate paths, one case that can apply to the candidate path and explicitly mentioned by the RFC is "Two or more end-to-end diverse paths".  This does not cover the stateful PCE case directly, but there are similar situations to what RFC6007 in the form of path protection (primary/secondary/standby) for statefull PCE, which use the association mechanism. Those two existing mechanism exists to coordinate several paths and could be used to indicate how multiple paths are related and on how to signal them together (SVEC)

On slide "Analysis of Solution 1":
  - For PCC-Initated LSPs: what prevents the PCE to to create PCE-Initiated LSPs using the same association id? This would tackle the problem.
  - The possibility of each path to have different objective does seems to be an advantage as its less restrictive. Having the same restriction on a set of paths is easy, relaxing a restriction on the ERO #5 is more complicated (in term of encoding).
  - There is a set of options to achieve the "signal the set of paths together":
     a)  set of LSPs can be reported in the same message, it can be enforced by the document defining that specific association type.
     b) SVEC/SVEC List can be extended to statefull PCEP,

That solution would work in case of multi-domain PCEs, and also be helpful for OAM and auto-bw mechanism.
As a segment list is one path in the network, that maps nicely to one LSP.

Solution 2:
  - This limit the set of constraints to be applied, policies like "10% of the traffic does not need to be protected" cannot be expressed (it can be with solution 1, clear L bit of LSPA on one TE-LSP out of 10)
  - 2.a when the LSP is reported down : which ERO is down?, the same is applicable for auto-bw and any form of OAM data.
  - Solution 2.b allows for Optimized branch encoding, that should be disabled for that solution

Slide "Comparison of Solutions":
   - There are solutions to most of the points raised for solution 1
   - The database problem seems specific to one implementation, other implementation will have the problem for solution 2
   -  multi-PCE and multi-domain are not evaluated. Solutions and consideration are available for solution 1, not for solution 2. (experimental Inter-domain P2MP tree solutions exists).

Best Regards,
Cyril

On Fri, 12 Jul 2019 at 22:02, Mike Koldychev (mkoldych) <[email-masked]<mailto:[email-masked]>> wrote:
Hi WG,

Thanks,
Mike.

_______________________________________________
Pce mailing list
[email-masked]<mailto:[email-masked]>
https://www.ietf.org/mailman/listinfo/pce

---

From: Cyril Margaria <[email-masked]>
Date: Fri, 19 Jul 2019 17:23:16 +0100

Hi Mike,

One of my point is that one optimization is a peculiar case of n
optimization. For the particuliar case of candidate path, it can be
attached to a given association, each TE-LSP can have the same optimization
criterias.

I understand the argument for Option 2 as "I want to carry and manage my
constraint  (and candidate path) as one PCEP entity", the drawback is that
it will become complicated in case of inter-domain and OAM which are per
path.
The case for option 1 is one path, one LSP, but as you pointed out it
becomes complicated when there is one candidate path that desire a behavior
similar to  LOAD-BALANCING where the PCC ask the PCE to decide how many
path are needed.

I think that option 1 is better in term of protocol reuse and will offer
more flexibility, but that depends on how to deal with the PCE-managed
number of paths.

I will not attend the IETF meeting,

Best regards,
Cyril

On Fri, 19 Jul 2019 at 16:51, Mike Koldychev (mkoldych) <[email-masked]>
wrote:

> Maybe I need to make it clear that the problem we’re trying to solve is a
> single optimization objective resulting in multiple ECMP/UCMP paths. This
> is motivated by SR-TE Policy use case, where each Candidate Path represents
> a single optimization objective. The Candidate Path has a set of Segment
> Lists that satisfy the optimization objective.
>
>
>
> You seem to want to solve a different problem: two or more different
> optimization objectives and each ECMP path is mapped to a different
> objective. In that case Solution 1 is absolutely necessary and it would not
> have any of the down-sides, because the PCC knows in advance how many
> optimization objectives it has and can create that many PCEP LSPs. However
> for our problem, Solution 1 would introduce a lot of implementation
> complexity and protocol overhead.
>
>
>
> We have a side-meeting scheduled on Wednesday at 8:30 to discuss this
> topic, you are welcome to attend if you want to contribute your input.
>
>
>
> Thanks,
>
> Mike.
>
>
>
> *From:* Cyril Margaria <[email-masked]>
> *Sent:* Friday, July 19, 2019 9:37 AM
> *To:* Mike Koldychev (mkoldych) <[email-masked]>
> *Cc:* [email-masked]
> *Subject:* Re: [Pce] Proposal for signaling ECMP or UCMP paths
>
>
>
> Hi,
>
>
>
> explicitly mentioned by the RFC is "Two or more end-to-end diverse
> paths".  This does not cover the stateful PCE case directly, but there are
> similar situations to what RFC6007 in the form of path protection
>   - For PCC-Initated LSPs: what prevents the PCE to to create
> PCE-Initiated LSPs using the same association id? This would tackle the
> problem.
>
> On Fri, 12 Jul 2019 at 22:02, Mike Koldychev (mkoldych) <
> [email-masked]> wrote:
>
> Hi WG,
>

---

From: "Mike Koldychev (mkoldych)" <[email-masked]>
Date: Fri, 19 Jul 2019 17:03:13 +0000

Hi Cyril,

Like I wrote in the slides… Solution 1 may work if you *only* do PCE-initiated, because the PCC never requests anything from the PCE, it simply installs whatever the PCE pushes down. Even for PCE-initiated, there are some issues, such as forcing the PCE to encode all the LSP objects into one message, to force them to get installed at the same time. Also you would need to handle fragmentation, if you cannot fit all the LSPs into a single message.

Thanks,
Mike.

From: Cyril Margaria <[email-masked]>
Sent: Friday, July 19, 2019 12:23 PM
To: Mike Koldychev (mkoldych) <[email-masked]>
Cc: [email-masked]
Subject: Re: [Pce] Proposal for signaling ECMP or UCMP paths

Hi Mike,

One of my point is that one optimization is a peculiar case of n optimization. For the particuliar case of candidate path, it can be attached to a given association, each TE-LSP can have the same optimization criterias.

I understand the argument for Option 2 as "I want to carry and manage my constraint  (and candidate path) as one PCEP entity", the drawback is that it will become complicated in case of inter-domain and OAM which are per path.
The case for option 1 is one path, one LSP, but as you pointed out it becomes complicated when there is one candidate path that desire a behavior similar to  LOAD-BALANCING where the PCC ask the PCE to decide how many path are needed.

I think that option 1 is better in term of protocol reuse and will offer more flexibility, but that depends on how to deal with the PCE-managed number of paths.

Best regards,
Cyril

On Fri, 19 Jul 2019 at 16:51, Mike Koldychev (mkoldych) <[email-masked]<mailto:[email-masked]>> wrote:
Hi Cyril,

Thanks,
Mike.

From: Cyril Margaria <[email-masked]<mailto:[email-masked]>>
Sent: Friday, July 19, 2019 9:37 AM
To: Mike Koldychev (mkoldych) <[email-masked]<mailto:[email-masked]>>
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [Pce] Proposal for signaling ECMP or UCMP paths

Hi,

Solution 2:

Best Regards,
Cyril

Thanks,
Mike.

---

From: "Mike Koldychev (mkoldych)" <[email-masked]>
Date: Tue, 23 Jul 2019 13:03:10 +0000

Hi,

I have updated the slides based on our discussion.

https://github.com/mkoldych-cisco/ietf105/blob/master/pcep_multiple_ERO.pptx

We plan to discuss the issue further on Wednesday at 8:30 at the side meeting.

https://trac.ietf.org/trac/ietf/meeting/wiki/105sidemeetings

Thanks,
Mike.

From: Pce <[email-masked]> On Behalf Of Mike Koldychev (mkoldych)
Sent: Friday, July 19, 2019 1:03 PM
To: Cyril Margaria <[email-masked]>
Cc: [email-masked]
Subject: Re: [Pce] Proposal for signaling ECMP or UCMP paths

Hi Cyril,

Thanks,
Mike.

Hi Mike,

Best regards,
Cyril

Thanks,
Mike.

Hi,

Solution 2:

Best Regards,
Cyril

Thanks,
Mike.

---

From: "Mike Koldychev (mkoldych)" <[email-masked]>
Date: Fri, 26 Jul 2019 09:55:41 +0000

Hi Jeff, and WG,

To follow up on your comment about making these 2 separate documents: one for ECMP within a single LSP and another for ECMP among different LSPs.

That may be a good idea, since the mechanisms for achieving these two are quite different, so they are better kept separate. Just as long as it’s understood that they are not “conflicting” solutions.

Thanks,
Mike.

From: Mike Koldychev (mkoldych)
Sent: Tuesday, July 23, 2019 9:03 AM
To: Mike Koldychev (mkoldych) <[email-masked]>; Cyril Margaria <[email-masked]>
Cc: [email-masked]
Subject: RE: [Pce] Proposal for signaling ECMP or UCMP paths

Hi,

Thanks,
Mike.

From: Pce <[email-masked]<mailto:[email-masked]>> On Behalf Of Mike Koldychev (mkoldych)
Sent: Friday, July 19, 2019 1:03 PM
To: Cyril Margaria <[email-masked]<mailto:[email-masked]>>
Cc: [email-masked]<mailto:[email-masked]>
Subject: Re: [Pce] Proposal for signaling ECMP or UCMP paths

Hi Cyril,

Thanks,
Mike.

Hi Mike,

Best regards,
Cyril

Thanks,
Mike.

Hi,

Solution 2:

Best Regards,
Cyril

Thanks,
Mike.

---

From: Jeff Tantsura <[email-masked]>
Date: Fri, 26 Jul 2019 10:21:21 -0400

Mike,

Thanks for the consideration.
That was exactly my point, having a number of different drafts that are short, concise and focused on a particular problem has always been my preference.
The use cases are different, while they don’t conflict they are also don’t “require” each other. It is perfectly fine for drafts to reference each other and outline the interdependencies, if any.

Cheers,
Jeff
On Jul 26, 2019, 5:55 AM -0400, Mike Koldychev (mkoldych) <[email-masked]>, wrote:
> On Fri, 19 Jul 2019 at 16:51, Mike Koldychev (mkoldych) <[email-masked]> wrote:
> > Hi Cyril,
> >
> > On Fri, 12 Jul 2019 at 22:02, Mike Koldychev (mkoldych) <[email-masked]> wrote:
> > > Hi WG,
> > >

---

From: "Stone, Andrew (Nokia - CA/Ottawa)" <[email-masked]>
Date: Sat, 27 Jul 2019 18:15:28 +0000

+1 sounds reasonable to me. There’s similarities in the needs and as much as it would be great to solve in one signalling construct and encoding, in this case I think it introduces confusion and conflicts in solution.

From: Jeff Tantsura <[email-masked]>
Date: Friday, July 26, 2019 at 10:21 AM
To: "[email-masked]" <[email-masked]>, "Stone, Andrew (Nokia - CA/Ottawa)" <[email-masked]>, "[email-masked]" <[email-masked]>, "Mike Koldychev (mkoldych)" <[email-masked]>
Subject: RE: [Pce] Proposal for signaling ECMP or UCMP paths

Mike,

Cheers,
Jeff

Hi Jeff, and WG,

Thanks,
Mike.

Hi,

Thanks,
Mike.

Hi Cyril,

Thanks,
Mike.

Hi Mike,

Best regards,
Cyril

Thanks,
Mike.

Hi,

Solution 2:

Best Regards,
Cyril

Thanks,
Mike.