All, 

Some thoughts around the extensibility of the stateful PCE capability 
negotiation mechanism defined in this draft. Stateful PCE capability is 
currently advertised as a single bit in the PCE capability TLV. This works well 
under two assumptions: 1) all implementations of the draft support setting the 
attributes currently defined, and 2) no new attributes (or support for 
vendor-specific attributes) will be added in the future. 

In the event more attributes need to be supported in the future, there needs to 
be a way to ensure that the PCC and the PCE can agree on what is supported by 
each end.  One way to accomplish this is by sending error messages when a 
request comes in for an unsupported attribute, and another is by explicitly 
advertising the supported attributes and agreeing on a common set (or closing 
the session if this is unacceptable). 

I believe explicit negotiation gives more flexibility and cleaner 
implementation.  Here is strawman proposal: 

*       Capabilities are advertised at the time the session is set up, in a  
capabilities tlv, with sub-tlvs for every attribute supported.  
*       When receiving the advertisement, each end has to decide if they like 
what the other end supports, and may choose to close the session and send an 
error message if it doesn't like the capabilities supported by the other end. 
*       After the advertisements, it is assumed that each end will honor what 
the other end advertised.  However, if this is not the case, the request is 
ignored and an error sent.  For example, if capability A, B were advertised, 
but PCE sets A, B, C, then the entire request is ignored and error sent (this 
would be the result of a software bug). 

Thank you, 

Ina 

_______________________________________________
Pce mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/pce

Reply via email to