Hi Cheng, Authors, 

Thanks for this document. It's fairly well written and I found many of the 
questions/thoughts I had were being answered as I kept reading.  Below are some 
comments/feedback/questions. Thanks in advance! 

- It’s likely worth defining the term computation loop as a reader may think 
it's simply PCEs spending time computing paths (or may think it’s routing 
loops), but really it’s message control+computation+path oscillation loops. 
Perhaps a simple sentence such as “The term computation loop used in this 
document describes a behavior of protocol message exchange looping between PCC 
and PCE, resulting in frequent path calculations and path updates to the 
network resulting in constant load on PCE and oscillation of data plane traffic 
after each subsequent update. “

- section 1.3 - RFC9059 is another good example use case that might be worth 
examine the behavior of since diversity covered the various conditions in great 
depth. However, I think the result might be be very similar though so it might 
be worth working through the same example flow (I have not yet..)

- section 1.3 - nice to see scenario 5 was covered as that was a concern I had 
as I started reading.   "both LSPs are configured almost at the same time"  -> 
another example condition for that could be link diverse paths with a common 
node failure detected by each PCE and each PCE naturally independently reroute 
and result on the same link.

- section 2 intro it might be worth remarking in a statement that various 
aspects of RFC8232 are required/used to implement this solution beyond RFC8231. 
For example, LSP-DB-VERSION support is critical, but is only RFC referenced at 
the very end of 3.3 after the its purpose is discussed. May make for an 
easier/more obvious read. 

- section 3.2 - 'SPEAKER-IDENTITY-TLV' term itself is not defined in RFC8232, 
but rather 'Speaker entity identifier TLV' or rather 'SPEAKER-ENTITY-ID' - 
should be changed? 

- section 3.4 "a PCE SHOULD update the LSP state only if the 
ORIGINAL-LSP-DB-VERSION present in the PCRpt is greater than the current 
ORIGINAL-LSP-DB-VERSION of the stored LSP state" - this text seems quite strict 
considering the value may wrap around. As well, RFC8232 doesn't seem to 
indicate LSP-DB-VERSION needs to be persisted for lifetime. What happens if PCC 
reboots and resets back to 1 on next connection? PCE may have kept the LSP 
state as stale during sync and thus no delete actually occurred on PCE1. If 
PCE1 then tries to update PCE2 with this, what should happen?  Not clear to me 
from the text how it would be handled. 

- is PCC open message exchange, carried and sent between PCE and PCE defined 
somewhere in this or other documents? appreciate if you could point me to It as 
I could not find and it’s not clear to me from reading. The reason I ask is 
there may be data in the open used during computation. As a top of head 
example, RFC8664 carries MSD in the open message (yes, and in a metric object). 
If an implementation doesn't carry MSD in the metric object, it could rely on 
the open message, or may need to rely on the open message, for extra 
information to do PCE-init. Can PCE1 forward PCC Open information info to PCE2? 
Similarly information such as capabilities for PCE-INIT would also need to be 
known to help during computation. So if a PCC is currently not connected to 
PCE2, should it be relying on its once-known-in-the-past PCC information or can 
it use the live information it can learn from PCE1? 

- section 3.5 - Want to confirm understanding…. Let's say PCE1, PCE2 and PCE3 
are deployed. PCC is connected to PCE1. PCE2 is highest priority. PCC delegates 
to PCE1, which then sub-delegates to PCE2. PCE3 learns undelegated.   When PCE2 
wants to send a PcUpdate, the text says "it MUST send a PCUpdate message to all 
state-sync sessions and to the PCC session on which it received the 
delegation". Therefore PCE2 MUST send the PcUpdate to PCE1 and PCE3. Emphasis 
here is PCE3. In normal operation PCE3 should ignore. What's the reason to send 
to PCE3? Is it to handle possible inconsistent/out of date synchronization of 
the delegation ownership? 

- section 3.5 paragraph 3 - might be worth adding: "LSPs part of the same 
association group SHOULD be assigned with the same PCE priority".  The last 
paragraph in this section touches on it in an inverse way but it's likely worth 
indicating this directly. 

- section 3.5 last paragraph, perhaps should be a section on it's own  (3.5.1 
?) since it's a specific sub behavior of computation priority of a certain type 
of LSPs rather than the general flow and concept of computation priority? 

- General question – any thought given to bandwidth optimization? Is a PCE with 
capabilities to perform bandwidth optimization out of scope? For example, under 
a split brain scenario, both PCE's may detect congestion a link. Both PCEs may 
attempt to move paths around to deal with this, further creating congestion 
elsewhere. This could oscillate/computation loop. Should this type of scenario 
be explicitly listed as out of scope? 

- nice diagrams and re-capture in section 4.3. Perhaps further title details? 
Such as:  "Example 1 - Successful disjoint paths (requiring reroute)".  
"Example 2 - Successful disjoint paths (simultaneous turnup)". "Example 3 - 
Unfeasible disjoint paths (insufficient state-sync sessions)"

- For PCEP-PATH-VECTOR, while it indicates it's for future use and I can see 
value for debugging by having it now, should it at least define some basic 
behavior now for loop detection?  For example, if a PCE detects itself in the 
PCEP-PATH-VECTOR in a PcRpt should it ignore the PcRpt? or close the PCEP 
session? or ___?








On 2024-01-02, 10:27 AM, "Pce on behalf of Cheng Li" <pce-boun...@ietf.org 
<mailto:pce-boun...@ietf.org> on behalf of c.l=40huawei....@dmarc.ietf.org 
<mailto:40huawei....@dmarc.ietf.org>> wrote:

Hi PCE WG,

This update mainly includes:

* editorial modifications of some text, and references.
* changed some 'SHOULD' to 'MUST' according to the context, e.g. the PCE with 
highest priority MUST be response instead of SHOULD be response.
* added more detailed text in manageability considerations sub-section.

Comments are welcome. IMHO, this draft may be ready for WGLC already 😊

Thanks,
Cheng

-----Original Message-----
From: Pce <pce-boun...@ietf.org <mailto:pce-boun...@ietf.org>> On Behalf Of 
internet-dra...@ietf.org <mailto:internet-dra...@ietf.org>
Sent: Tuesday, January 2, 2024 4:17 PM
To: i-d-annou...@ietf.org <mailto:i-d-annou...@ietf.org>
Cc: pce@ietf.org <mailto:pce@ietf.org>
Subject: [Pce] I-D Action: draft-ietf-pce-state-sync-06.txt


Internet-Draft draft-ietf-pce-state-sync-06.txt is now available. It is a work 
item of the Path Computation Element (PCE) WG of the IETF.


Title: Inter Stateful Path Computation Element (PCE) Communication Procedures.
Authors: Stephane Litkowski
Siva Sivabalan
Cheng Li
Haomian Zheng
Name: draft-ietf-pce-state-sync-06.txt
Pages: 35
Dates: 2024-01-02


Abstract:


The Path Computation Element (PCE) Communication Protocol (PCEP)
provides mechanisms for PCEs to perform path computation in response
to a Path Computation Client (PCC) request. The Stateful PCE
extensions allow stateful control of Multi-Protocol Label Switching
(MPLS) Traffic Engineering (TE) Label Switched Paths (LSPs) using
PCEP.


A Path Computation Client (PCC) can synchronize an LSP state
information to a Stateful Path Computation Element (PCE). A PCC can
have multiple PCEP sessions towards multiple PCEs. There are some
use cases, where an inter-PCE stateful communication can bring
additional resiliency in the design, for instance when some PCC-PCE
session fails.


This document describes the procedures to allow a stateful
communication between PCEs for various use-cases and also the
procedures to prevent computations loops.


The IETF datatracker status page for this Internet-Draft is:
https://datatracker.ietf.org/doc/draft-ietf-pce-state-sync/ 
<https://datatracker.ietf.org/doc/draft-ietf-pce-state-sync/>


There is also an HTML version available at:
https://www.ietf.org/archive/id/draft-ietf-pce-state-sync-06.html 
<https://www.ietf.org/archive/id/draft-ietf-pce-state-sync-06.html>


A diff from the previous version is available at:
https://author-tools.ietf.org/iddiff?url2=draft-ietf-pce-state-sync-06 
<https://author-tools.ietf.org/iddiff?url2=draft-ietf-pce-state-sync-06>


Internet-Drafts are also available by rsync at:
rsync.ietf.org::internet-drafts




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



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

Reply via email to