You’ve done a really good job, Samuel.

Thanks for paying attention to my review.

Looking forward to you getting the update posted (before the cut-off?).

 

Cheers

Adrian

 

From: Samuel Sidor (ssidor) <[email protected]> 
Sent: 27 February 2026 19:12
To: [email protected]; [email protected]
Cc: [email protected]
Subject: Re: Shepherd review of draft-ietf-pce-multipath

 

Hi Adrian,

 

Please check updated version to make sure that it is addressing all your 
comments. 

 

It is addressing review comments from other mail threads as well, so the diff 
is not small. 

 

Thanks a lot,

Samuel

 

From: Adrian Farrel <[email protected] <mailto:[email protected]> >
Date: Tuesday, 24 February 2026 at 17:32
To: Samuel Sidor (ssidor) <[email protected] <mailto:[email protected]> >, 
[email protected] <mailto:[email protected]>  
<[email protected] <mailto:[email protected]> >
Cc: [email protected] <mailto:[email protected]>  <[email protected] <mailto:[email protected]> >
Subject: RE: Shepherd review of draft-ietf-pce-multipath

All good, Samuel.

 

Wrt implementation status: it is meant to go out of date. That’s why the 
section is removed before publication as an RFC.

 

Anyway, probably not going to get a response from the implementers on an open 
channel :-)

 

Go ahead.

 

Adrian

 

From: Samuel Sidor (ssidor) <[email protected] <mailto:[email protected]> >
Sent: 24 February 2026 14:10
To: [email protected] <mailto:[email protected]> ; 
[email protected] <mailto:[email protected]> 
Cc: [email protected] <mailto:[email protected]> 
Subject: Re: Shepherd review of draft-ietf-pce-multipath

 

Thanks a lot, Adrian.

 

Please find inline response <S2>.

 

Regards,

Samuel

 

From: Adrian Farrel <[email protected] <mailto:[email protected]> >
Date: Friday, 20 February 2026 at 13:50
To: Samuel Sidor (ssidor) <[email protected]>, [email protected] 
<mailto:[email protected]>  <[email protected] 
<mailto:[email protected]> >
Cc: [email protected] <mailto:[email protected]>  <[email protected] <mailto:[email protected]> >
Subject: RE: Shepherd review of draft-ietf-pce-multipath

Hi Samuel,

 

This is all looking very good. Thanks for the work.

 

Following up on a few small points.

 

Cheers,
Adrian

 

>> 3.5
>>
>> You describe the requirement that if path a shows an opposite direction
>> relationship with path b.
>>
>> But (presumably) there is the possibility of setting up paths one at a
>> time. How does that work?
>
> <S> Do you mean in case of opposite paths associated within single LSP? If 
> yes,
> then I would expect them to be always signalled atomically - I can add text 
> to mnake it clear:

> 

> Typically, the referenced path is in the same PCEP LSP, where

> forward paths (R-flag=0) and reverse paths (R-flag=1) are 

> signaled together in a single PCEP message. This allows bidirectional

> path relationships to be established atomically within one LSP.

> Alternatively, the referenced path may be in an associated 

> opposite-direction LSP (using the ASSOCIATION object per RFC 9059).

Yes, it is the case of an association that bothers me.

Signal forward path without a reverse path.

Signal reverse path with association to forward path.

But forward path does not yet have association to reverse path.

Agree that this situation will resolve (forward path is resignaled), but there 
is a window that appears to be a failure case.

 

But this all goes away with…

 

<S2> I added section 4.5 based on comment from Giuseppe to clarify processing 
of that TLV (and to maintain consistency with other TLVs). In that section, I'm 
adding something like this:

 

Opposite-direction paths can be signaled in two ways:

 

   * Within the same LSP: Forward paths (R-flag=0) and reverse paths 

     (R-flag=1) are included in the same PCEP message, allowing bidirectional 

     relationships to be established atomically. In this case, the 

     opposite-direction path associations MUST be symmetric within the same 

     message. When path A references path B as its opposite-direction path, 

     path B MUST also reference path A as its opposite-direction path. 

     Additionally, their R-flags in the PATH-ATTRIB object MUST have 

     opposite values (one set to 0, the other to 1).

 

   * Across associated LSPs: Forward and reverse paths are signaled in 

     separate LSPs that are associated using the ASSOCIATION object as 

     defined in {{?RFC9059}}. In this scenario, opposite-direction paths 

     are established in separate PCEP messages. When a path references an 

     opposite-direction path in an associated LSP, that referenced path 

     SHOULD already be established. However, transient asymmetry is expected 

     during LSP establishment or update operations, as the two LSPs are 

     signaled independently. The opposite-direction path associations SHOULD 

     eventually become symmetric once both LSPs are fully established or 

     updated.

 

For paths within the same LSP, if a PCEP speaker receives an opposite-direction 

path mapping that is asymmetric or where the R-flags are inconsistent, it MUST 

send a PCError message with Error-Type = 19 ("Invalid Operation") and 

Error-Value = TBD4 ("Invalid opposite-direction path mapping"). For paths 

across associated LSPs, PCEP speakers SHOULD tolerate transient asymmetry 

during LSP establishment or update operations.

 

Are you fine with that?

 

>> 3.5
>>
>> I wondered, given that the draft rules out using the backup processing
>> for p2p paths, whether you should rule out using the reverse path
>> association for p2mp paths. It is certainly the case that p2mp reverse
>> path is a complex issue.
>>
>> <S> I'm fine with that. P2MP draft can still define it if needed.

You appear to be saying:

*       P2P reverse paths not in scope for this document because P2P is out of 
scope
*       P2MP reverse path is deferred to P2MP draft if needed

So reverse path is struck from this document?

 

<S2> P2P is ruled out for backup, but not for reverse path. That should be 
still allowed - e.g. combination of load-balancing and reverse paths.

 

>> 3.6.1
>>
>> Is there any guidance about the value of the FC field? Is it
>>
>> <S> Is the comment complete? I can imagine extending definition of FC field 
>> for

>>  example with following text (but I'm not sure if you are really looking for 
>> that or

>> something else):

>> 

>> The FC field allows up to 8 different forward classes

>> (values 0-7). The semantics of specific FC values are locally

>>   significant and determined by local policy or configuration. 

 

Ah, sorry about that. Must have become distracted.

You have almost completely answered the point.

Be careful about “local” – do you mean per link, per node, per subnet, per PCE 
domain, per operator, … ?

If the scope is wider than a node, how are policies kept consistent across 
multiple nodes?

(You may be able to punt this “Operational Considerations”)

 

<S2> I updated it to:

 

FC (3 bits): Forwarding class value as defined in Section 8.6 of {{!RFC9256}}. 

This value is given by the QoS classifier to traffic entering the given 

Candidate Path. Different classes of traffic that enter the given Candidate 

Path can be differentially steered into different Colors. The FC field allows 

up to 8 different forward classes (values 0-7). The semantics of specific FC 

values are significant at the headend node (PCC) that implements the SR Policy 

and are determined by that node's local QoS policy or configuration. 

Coordination of FC value meanings between PCEP peers (e.g., through out-of-band 

configuration management or operational procedures) is outside the scope of 

this document.

 

And I also renamed "Forward class" to "Forwarding class" in the draft to align 
naming with RFC9256.


>> 6.
>>
>> I believe your examples should use addresses from the ranges reserved
>> for documentation. That is 2001:db8::/32 and 3fff::/20
>>
>> <S> Are you referring to "100:1.1.1.1" and "100:2.2.2.2"? If yes, then I 
>> assume that we need

>> to replace them with blocks from 
>> "https://datatracker.ietf.org/doc/html/rfc5737#section-3";

>>  since those are just combinations of originator ASN (100) and IPv4 
>> addresses.

 

Hmmm.

I assumed that in this context “originator” was supposed to be an IPv6 address.

But, I should have looked at RFC 9256 (which you did reference!) and 
specifically section 2.4

There we have:

   Autonomous System Number (ASN):  represented as a 4-byte number.  If

      2-byte ASNs are in use, the low-order 16 bits MUST be used, and

      the high-order bits MUST be set to 0.

 

   Node Address:  represented as a 128-bit value.  IPv4 addresses MUST

      be encoded in the lowest 32 bits, and the high-order bits MUST be

      set to 0.

So, I suspect your encoding with a colon is a convenience (as shown in 2.13 of 
9256) and I won’t push against that now (should have caught it when reviewing 
9256 before it was published)

And that leaves us with:

1.      This example is not trying to use an IPv6 address
2.      The example should use documentation addresses from the IPv4 space (as 
you noted above)
3.      There would, ideally, be an example using IPv6 addresses (I mean, SRv6 
not SRv4 ;-)
4.      The encoding using a colon is going to be very confusing when you use 
an IPv6 address

 

<S2>I'm fine with even splitting ASN from IP address of originator and do not 
follow convention from RFC9256 as I agree that it may not be ideal for IPv6. At 
least we would not propagate tht problem further.

 

E.g. something like:

 

    Candidate Path CP1 <protocol-origin = 20, originator-asn = 100,
                        originator-address = 192.0.2.1, discriminator = 1>

 

 

>> 6.1
>>
>>   Consider the following sample SR Policy, taken from
>>   [RFC9256].
>>
>> I don't find that sample in 9256.
>>
>> <S> I assume that it was originally referring to:

>> https://www.rfc-editor.org/rfc/rfc9256#section-2.13

>> But I can just simplify to "Consider the following sample SR Policy".

You probably have the best solution.

Fixing up the addresses would work as well.

 

>> The inclusion of the Implementation Status section is appreciated
>> (although it is pretty thin). Obviously, the early assignments done by
>> IANA has made this a lot easier. Given that there are some code points
>> still marked as TBDx, I wonder how the "full" implementations have been
>> achieved.
>
> <S> Ack, I'm not sure about that part. I'll keep authors/contributors from 
> Ciena to comment.

> Otherwise I can just update it to "Partial".

Yeah.

Of course, the cynic in me says “Partial? Which parts?”

 

<S2> What about "Partial (for details reach listed contact person)" 😊 

 

I agree that more details may be better, but I can imagine that it can go out 
of sync quickly as well. I'll use "Partial" so far.

 

_______________________________________________
Pce mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to