Subject: Re: [Pce] draft-ietf-pce-stateful-pce : clarifying the End Of Synchronization marker

From: <[email-masked]>
Date: Mon, 8 Aug 2016 09:06:35 +0000

Hi Ina,

Thanks for the feedback and proposal
I would like to propose those modifications :
“The end of synchronization marker is a PCRpt message with PLSP-ID equal to the reserved value 0 (see Section 7.3). In this case, the LSP Object SHOULD NOT include the SYMBOLIC-PATH-NAME TLV, SHOULD include the LSP- IDENTIFIERS TLV with the special value of all zeroes. All the flags of the LSP Object MUST be set to 0. The PCRpt message MUST include an empty ERO as its intended path and SHOULD NOT include the optional RRO object for its actual path or any other object. If the PCC has no state to synchronize, it SHOULD only send the end of synchronization marker.”

It would be good to add a sentence in case of bad encoding of the EOS marker. This may be covered but it looks confusing to mix generic PCRpt with EOS  :

“The PCE does not send positive acknowledgements for properly received
   synchronization messages.  It MUST respond with a PCErr message with
   error-type 20 (LSP State Synchronization Error) and error-value 1
   (indicating an error in processing the PCRpt) (see Section 8.5) if it
   encounters a problem with the LSP State Report it received from the
   PCC and it MUST terminate the session.
“

Some error examples :

1)      PCRpt S=0 D=0  PLSP-ID 0 LSP-Object (LSP-ID 0.0.0.0) ERO empty RRO present

Need an error like : LSP State Synchronization Error, non authorized object in EOS

2)      PCRpt S=0 D=0 PLSP-ID 0 LSP-Object (LSP-ID 0.0.0.0) ERO empty BW=0

Need an error like : LSP State Synchronization Error, non authorized object in EOS

3)      PCRpt S=1 D=0 PLSP-ID 0 LSP-Object (LSP-ID 0.0.0.0) ERO empty

Need an error like : LSP State Synchronization Error, bad flags in EOS

4)      PCRpt S=0 D=1 PLSP-ID 0 LSP-Object (LSP-ID 0.0.0.0) ERO empty

Need an error like : LSP State Synchronization Error, bad flags in EOS

5)      PCRpt S=0 D=0 PLSP-ID 0 LSP-Object (LSP-ID 0.0.0.0) ERO non empty

Need an error like : LSP State Synchronization Error, bad ERO in EOS

6)      PCRpt S=0 D=0 PLSP-ID 0 LSP-Object (LSP-ID 0.0.1.1) ERO  empty

Need an error like : LSP State Synchronization Error, bad LSP ID in EOS

7)      PCRpt S=0 D=0 PLSP-ID 0 LSP-Object (LSP-ID 0.0.0.0)

Handled by Missing ERO in PCRpt which will apply to EOS as well

A generic error would also work but less precise : LSP State Synchronization Error, bad EOS encoding.

Best Regards,

Stephane

From: Ina Minei [mailto:[email-masked]]
Sent: Thursday, July 28, 2016 20:15
To: LITKOWSKI Stephane OBS/OINIS
Cc: Robert Varga; [email-masked]
Subject: Re: [Pce] draft-ietf-pce-stateful-pce : clarifying the End Of Synchronization marker

Stephane,

Thank you for the detailed feedback. How about the following text?

The end of synchronization marker is a PCRpt message with the SYNC Flag set to 0 for an LSP Object with PLSP-ID equal to the reserved value 0 (see Section 7.3). In this case, the LSP Object SHOULD NOT include the SYMBOLIC-PATH-NAME TLV and SHOULD include the LSP- IDENTIFIERS TLV with the special value of all zeroes. The PCRpt message MUST include an empty ERO as its intended path and SHOULD NOT include the optional RRO object for its actual path. If the PCC has no state to synchronize, it SHOULD only send the end of synchronization marker.

On Mon, Jun 27, 2016 at 5:20 AM, <[email-masked]<mailto:[email-masked]>> wrote:
Hi,

Thanks for the feedback.

> The intent here is to use a minimal PCRpt message, hence we explicitly exclude SYMBOLIC-PATH-NAME TLV and RRO. ERO is kept empty for the same case.
> I think we have not precluded other TLVs from appearing in EOS to allow future extensions.
> I do not think LSP-IDENTIFIERS TLV should be carried here, as it serves no purpose and is not required -- section 7.3.1's MUST condition does not trigger, as
> PLSP-ID=0 is a reserved value and does not identify an LSP.

Even if you think that LSP-ID should not be carried, it's not explicitly mentioned in the draft, so it's authorized.
Why not restricting EOS to the minimal case, and let potential future extensions to modify it ? To you forsee anycase that could require modification of EOS content ?

At least the text should use normative words.

Best Regards,

Stephane

-----Original Message-----
From: Robert Varga [mailto:[email-masked]<mailto:[email-masked]>]
Sent: Monday, June 27, 2016 14:02
To: LITKOWSKI Stephane OBS/OINIS; [email-masked]<mailto:[email-masked]>
Subject: Re: [Pce] draft-ietf-pce-stateful-pce : clarifying the End Of Synchronization marker
On 06/21/2016 05:18 PM, [email-masked]<mailto:[email-masked]> wrote:
> Hi,
>
> Doing some interop testing between two vendors we falled into misinterpretation of the current text of the End Of Sync marker content.
>
> Here is the current text :
>
> "The end of synchronization marker is a PCRpt message with the SYNC
>    Flag set to 0 for an LSP Object with PLSP-ID equal to the reserved
>    value 0 (see Section 7.3).  The LSP Object does not include the
>    SYMBOLIC-PATH-NAME TLV in this case, it will include an empty ERO as
>    its intended path and will not include the optional RRO object in the
>    path.  If the PCC has no state to synchronize, it will only send the
>    end of synchronization marker."
>
> The current text, IMO, has the following issues :
> - it uses non normative wording : "does not include", "will include" , "will not include". How do we need to interpret it ? MUST, SHOULD, MAY ?
> - it does not precise if it can include or not some other objects : can it include an LSP-Identifier object (with all fields to 0) ?

The intent here is to use a minimal PCRpt message, hence we explicitly exclude SYMBOLIC-PATH-NAME TLV and RRO. ERO is kept empty for the same case.

I think we have not precluded other TLVs from appearing in EOS to allow future extensions.

I do not think LSP-IDENTIFIERS TLV should be carried here, as it serves no purpose and is not required -- section 7.3.1's MUST condition does not trigger, as PLSP-ID=0 is a reserved value and does not identify an LSP.

> It would be good to enhance the text to better describe the content of EOS.
>
> We suppose that in case there is an issue with the encoding of the EOS marker, the following behavior will be applied, could you confirm ? (typically bad encoding of EOS marker) :
> " The PCE does not send positive acknowledgements for properly received
>    synchronization messages.  It MUST respond with a PCErr message with
>    error-type 20 (LSP State Synchronization Error) and error-value 1
>    (indicating an error in processing the PCRpt) (see Section 8.5) if it
>    encounters a problem with the LSP State Report it received from the
>    PCC and it MUST terminate the session."

Yes. This would trigger, for example, for PLSP-ID=0 and non-empty ERO.

Bye,
Robert

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

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

_________________________________________________________________________________________________________________________

Ce message et ses pieces jointes peuvent contenir des informations confidentielles ou privilegiees et ne doivent donc
pas etre diffuses, exploites ou copies sans autorisation. Si vous avez recu ce message par erreur, veuillez le signaler
a l'expediteur et le detruire ainsi que les pieces jointes. Les messages electroniques etant susceptibles d'alteration,
Orange decline toute responsabilite si ce message a ete altere, deforme ou falsifie. Merci.

This message and its attachments may contain confidential or privileged information that may be protected by law;
they should not be distributed, used or copied without authorisation.
If you have received this email in error, please notify the sender and delete this message and its attachments.
As emails may be altered, Orange is not liable for messages that have been modified, changed or falsified.
Thank you.

---

From: <[email-masked]>
Date: Mon, 8 Aug 2016 09:14:01 +0000

Hi Ina,

Thanks for the text proposal. I have an issue with : “ERO object SHOULD contain at least one subobject”. What happens if there is no path ?
This comes to another issue we have with implementations. Stateless PCEP uses NO-PATH object for PCE to inform PCC that there is no path available. Today, stateful PCE does not rely on NO-PATH object, so implementations uses empty ERO to encode NO-PATH.

So if a PCC receives a PCUpd with empty ERO, it should remove the existing path of the LSP and it should report PCRpt with empty ERO. This happens also when LSP is configured and first reported with no path.
So I’m not sure we can state ERO SHOULD contain at least one subobject.

Best Regards,

Stephane

From: Ina Minei [mailto:[email-masked]]
Sent: Thursday, July 28, 2016 20:23
To: Robert Varga
Cc: LITKOWSKI Stephane OBS/OINIS; [email-masked]
Subject: Re: [Pce] draft-ietf-pce-stateful-pce : clarifying the End Of Synchronization marker

Although section 6.1 shows ERO as mandatory, it doesn't actually state that, how about the following text?

"The intended path, represented by the ERO object, is REQUIRED. If the ERO ojbect is missing, the receiving PCE MUST send a PCErr message with Error-type=6 (Mandatory Object missing) and Error-value to be assigned by IANA (ERO object missing). When present, the ERO object SHOULD contain at least one subobject, representing the destination of the LSP."

On Thu, Jul 28, 2016 at 11:10 AM, Ina Minei <[email-masked]<mailto:[email-masked]>> wrote:
Yes, ERO is always mandatory, section 6.1 clearly states that.

On Mon, Jun 27, 2016 at 4:46 AM, Robert Varga <[email-masked]<mailto:[email-masked]>> wrote:
On 06/23/2016 03:54 PM, [email-masked]<mailto:[email-masked]> wrote:
> Hi again,
>
> We also found an issue when a PCC removes a LSP. It would be good to precise the objects that are mandatory, optional in this case also.
> Some PCE implementations are waiting for an ERO in the PCRpt that removes an LSP, while some PCC does not send an ERO.
> Would be good to clarify the procedure of LSP removal.

Hello,

I think section 6.1 on PCRpt message format covers this: ERO is
mandatory in all cases. I could not find any text which would imply this
should not be the case for R=1.

Bye,
Robert