Hi,
We've been following the WG since the early BOF in 2005. We proposed a 
management interface for the PCE Architecture before Paris meeting in 
2005: http://www.potaroo.net/ietf/idref/draft-grampin-pce-mgmnt-if/

Now we're finishing an implementation of PCEP (complete except from 
notifications), a PCC and a PCE. Some doubts has arisen in the 
development process, which we would like to share with the WG. They're 
listed hereafter:


===

 

General edit:

In some body format the bits are group by 10 but in others are group by 8 (or 
bytes). We think it is better to group in all body formats the bits by 8 (or 
bytes). For example: Figure 21 and Figure 22.

 

It doesn't say something like "Unassigned bits are considered as reserved and 
MUST be set to zero on transmission" when speaking of the Flags in several 
sections (e.g.: section 7.10).

 

===

 

In section 4.2.6:

"In case of TCP connection failure, the PCEP session is immediately terminated."

But in section 5 says:

".it may be desirable to systematically open and close the TCP connection for 
each PCEP request (for instance when sending a path computation request is a 
rare event)."

We think that these 2 sentences are in contradiction, because every time you 
close a TCP connection, according to the first you close the PCEP session. So, 
when you open the TCP connection again, you need to open the PCEP session to.

 

===

 

In section 6.4:

". the RP and the END-POINTS objects (see section Section 7)." section is twice.

 

===

 

In section 6.4:

Says "The special case of two BANDWIDTH objects is discussed in details in 
Section 7.6." but the BNF permits only one.

 

===

 

In section 6.5:

"If the path computation request can be satisfied (the PCE finds a set of 
path(s) that satisfy the set of constraint(s)), the set of computed path(s) 
specified by means of ERO object(s) is inserted in the PCRep message. The ERO 
object is defined in Section 7.8."

In "ERO object" object is twice (it happens twice).

The BNF allowed a NO-PATH with a ERO. If there's no path possible there isn't a 
ERO.

 

===

 

In section 6.6:

"<request-id-list> :== <RP><request-id-list> and

<notification-list> := <NOTIFICATION><notification-list>"

The "[" and "]" are missing before <request-id-list> and <notification-list>, 
and after <request-id-list> and <notification-list>.

 

===

 

In section 6.8:

"The Message-Type field of the PCEP common header for the Open message is set 
to 7 (To be confirmed by IANA)." It should say "Close message" instead of "Open 
message".

 

"The Close message MUST contain exactly one CLOSE object (see Section 6.8)."

This reference is little recursive.

 

===

 

In section 7.2:

"SID (PCEP session-ID - 8 bits): specifies a 2 octet." We think it should say 1 
octet.

 

===

 

In section 7.3:

"The P flag of the RP object MUST be set in PCReq and PCReq" It should say 
"...in PCReq and PCRep".

 

===

 

In section 7.3.1:

"Reserved (8 bits): ." In the body format there are 10 bits for Reserved.

"Flags: 18 bits" In the body format there are 22 bits for Flags.

 

===

 

In section 7.4:

"Reserved: ." It doesn't say the number of Reserved bits (16 bits).

"The only TLV currently defined is the NO-PATH-VECTOR TLV defined below." It 
should say "above".

 

===

 

In section 7.7:

It doesn't say how many bits are Flags.

 

===

 

In section 7.10:

 "Reserved (8 bits):" In the body format there are 10 bits for Reserved.

 

===

 

In section 7.11:

It says "IRO object" (again repeating object) four times in the section.

At this point, we'd like to say that we agree we the ones that suggest that the 
XRO should be included in this draft, mainly for 3 reasons: it's a useful, very 
used (it's a common constraint in a request) and easy to compute constraint.

 

===

 

In section: 7.12.1:

"(since PCEP allows for the bundling of multiple path computation requests 
within a single PCRep message)" it should say "PCReq" instead of "PCRep".

 

===

 

In section 7.12.2:

"Flags: ." It doesn't say the number of Flag bits (24 bits).

 

===

 

In section 7.13:

"Flags: ." It doesn't say the number of Flag bits (8 bits).

 

===

 

In section 7.15:

"Reserved: ." It doesn't say the number of Reserved bits (20 bits).

"Flags: ." It doesn't say the number of Flag bits (4 bits).

 

===

 

In section 7.16:

"Reason (4 bits): ." In the body format there are 8 bits for Reason.

"Reserved: ." It doesn't say the number of Reserved bits (16 bits).

"Flags (4 bits): ." In the body format there are 8 bits for Flags.

The reason value 3 ("PCEP session characteristics negotiation failure") is 
never used, because you send an Error message with an ERROR object with 
Error-Type = 1and corresponding Error-Value.

 

===

 

In section 9.5:

"Error-value=2: RRO object missing for a reoptimization request (R bit of the 
RP object set)", repeats object.

 

===

 

In section 10:

We think that the variables used to "control" TCP connection (e.g.: TCPConnect) 
are useless, along with the paragraph "It is expected that an implementation.", 
because you rely the transport on TCP, or is matter of PCEP to specify how TCP 
should work?

The item "Starts the KeepWait timer" in the Idle and TCPPending state are 
useless, because you never wait for them, the timer that matters is OpenWait.

In the UP State, says "If the system detects that the PCEP peer tries to setup 
a second TCP connection, it stops the TCP connection establishment and sends a 
PCErr with Error-Type=10.", the Error-Type should be 9. The PCEP peer never 
expect this message when attempting to established a PCEP session, sending this 
message causes that the peer sends an Error message back.

 

===



Best regards,
Alberto, Martín & Eduardo
_______________________________________________
Pce mailing list
[email protected]
https://www1.ietf.org/mailman/listinfo/pce

Reply via email to