Subject: Re: [Pce] WG Last Call for draft-ietf-pce-binding-label-sid-07 (and Code Point Allocation)

From: <[email-masked]>
Date: Thu, 1 Apr 2021 12:19:39 +0200

Hi Dhruv,

New text is better, but the solution remains perfectible and not safer.
Again, it makes the assumption that PCE and PCC are perfectly synchronised regarding
the TE-PATH-BINDING table which could not be the case. This mechanism is only working
well if implementation has been correctly written. In case of error, bug, whatever you could

imagine, removal of TE-PATH-BINDING could not work as expected.
>From a protocol pointof view, it is not safer. In PCEP, there is a 'R' flag when you would
remove an LSP with thePcUpdate/PcInitiate message. For me, it is the same behaviour.
You explicitly remove an LSPby providing the LSP information + the 'R' flag set.
I don't understand why it is not the samefor all PCEP TLVs.

Regards

Olivier

Le 31/03/2021 à 20:38, Dhruv Dhody a écrit :
> Hi Olivier, 
>
> On Wed, Mar 31, 2021 at 11:30 PM <[email-masked] <mailto:[email-masked]>> wrote:
>
>     Hi Cheng, Aijun,
>
>     I think that the 'R' bit to clearly indicate that BSID is removed
>     is mandatory. In fact, in case of multiple BSID, it will become clearly
>     a nightmare from an implementation point of view to manage the removal.
>
>     Let me take a simple example:
>
>     Assume a PCE would setup some BSID into a PCC. It first send a PcInitiate
>     message with an empty TE-PATH-BINDING TLV to request a BSID. PCC send a PcRpt
>     message with a BSID=1 (simple value). Then, the PCE would a second BSID. So, it
>     sends a PcUpdate message with a TE-PATH-BINDING TLV and the first BSID=1 and a
>     second empty TE-PATH-BINDING TLV to get the second one. PCC sends back a PcRpt
>     message with the 2 TE-PATH-BINDING BSID=1 and BSDI=2. We repeat the last operation
>     to collect a third BSID=3. Now the PCE would remove the BSID=2. It must send a
>     PcUpdate message with TE-PATH-BINDING BSID=1, TE-PATH-BINDING BSID=3 and an
>     empty TE-PATH-BINDING.
>
>     So, how the PCC could determine that this last emptyTE-PATH-BINDING corresponds
>     to a deletion and not a creation ?
>
>
> Looking at the working copy[1]/diff[2] that Cheng posted, the empty TE-PATH-BINDING TLV is used to request allocation only (and not to withdraw old values). So in the example above to remove BSID=2, the PCUpd message with TE-PATH-BINDING BSID=1 & TE-PATH-BINDING BSID=3 are sent.
>
> Adrian provided some cleaner text that has been incorporated for this now. Does the updated text resolve this?
>
> Thanks!
> Dhruv (as a WG participant)
>
> [1] https://raw.githubusercontent.com/dhruvdhody/ietf/master/draft-ietf-pce-binding-label-sid-08.txt
> [2] https://tools.ietf.org/rfcdiff?url1=https://www.ietf.org/archive/id/draft-ietf-pce-binding-label-sid-07.txt&url2=https://raw.githubusercontent.com/dhruvdhody/ietf/master/draft-ietf-pce-binding-label-sid-08.txt
>  
>
>     There is a large risk of ambiguity in particular if the PCE does not send
>     the TE-PATH-BINDING TLVs in the right order, if PCE and PCC become de-synchronize
>     on the number of BSID ...
>
>     Thus, I think that a 'R' bit for deletion is mandatory.
>
>     Regards
>
>     Olivier
>
>     Le 26/03/2021 à 03:46, Chengli (Cheng Li) a écrit :
>     > Hi Aijun,
>     >
>     > Many thanks for your comments! Please see my reply inline. The diff is attached.
>     >
>     > Respect,
>     > Cheng
>     >
>     >
>     >
>     > -----Original Message-----
>     > From: Aijun Wang [mailto:[email-masked] <mailto:[email-masked]>]
>     > Sent: Monday, March 22, 2021 11:57 AM
>     > To: [email-masked] <mailto:[email-masked]>; [email-masked] <mailto:[email-masked]>
>     > Cc: [email-masked] <mailto:[email-masked]>
>     > Subject: RE: [Pce] WG Last Call for draft-ietf-pce-binding-label-sid-07 (and Code Point Allocation)
>     >
>     > Hi,
>     >
>     > 1. The concept of PCC requests the allocating of BSID for a LSP is clear, but the scenario that PCE allocate the BSID is not convincible.
>     >   PCE can request the PCC to allocate the BSID for one LSP. It should not allocate the value directly.
>     >
>     >
>     > [Cheng]Section 8 is optionally used when PCE is in control of label space (PCECC) and would not be used for vanilla stateful PCE.
>     >
>     > 2. What's the reason to include the BT=3, that is "SRv6 Endpoint Behavior and SID Structure"? It is one general information and not close connection to the normal usage of BSID.
>     > [Cheng] This is an alignment with other SIDs. In order to support backward compatibility, we want to remain BT2, and introduce a new BT for support SID structure. It can be used for future use case.
>     >
>     >
>     > 3. Will it be more clear to define one new bit(R bit) within the Flag field of "TE-PATH-BINDING TLV" to indicate clearly the remove of BSID allocation to a LSP? Instead of the implicit method that depending on the presence of TE-PATH-BINDING TLV as described in current draft?
>     > [Cheng] It is possible. But there are existing implementations that would get impacted.
>     >
>     >
>     > 4. For BT=0, the length is set to 7. How to skip the padding trailing zeros to a 4-octet boundary when parsing?
>     > [Cheng] We have updated the description of BT=0 as per Adrian's comment. Length=7 and handling of padding is as per RFC5440:
>     >
>     >    The Length field defines the length of the value portion in bytes.
>     >    The TLV is padded to 4-bytes alignment; padding is not included in
>     >    the Length field (so a 3-byte value would have a length of 3, but the
>     >    total size of the TLV would be 8 bytes).
>     >
>     > Best Regards
>     >
>     > Aijun Wang
>     > China Telecom
>     >
>     > -----Original Message-----
>     > From: [email-masked] <mailto:[email-masked]> <[email-masked] <mailto:[email-masked]>> On Behalf Of [email-masked] <mailto:[email-masked]>
>     > Sent: Thursday, March 18, 2021 7:09 PM
>     > To: [email-masked] <mailto:[email-masked]>
>     > Cc: [email-masked] <mailto:[email-masked]>
>     > Subject: [Pce] WG Last Call for draft-ietf-pce-binding-label-sid-07 (and Code Point Allocation)
>     >
>     > Hi all,
>     >
>     > This message initiates a 2-week PCE WG Last Call for draft-ietf-pce-binding-label-sid-07. Please review and share your feedback, whatever it is, using the PCE mailing list. This WGLC will end on Thursday April 1st (no kidding).
>     >
>     >
>     > Moreover, we have received a request from the authors for a code point allocation to support interoperability testing.
>     >
>     > RFC 7120 requires to meet the following criteria to proceed:
>     >
>     > b. The format, semantics, processing, and other rules related to handling the protocol entities defined by the code points (henceforth called
>     > "specifications") must be adequately described in an Internet-Draft.
>     > c. The specifications of these code points must be stable; i.e., if there is a change, implementations based on the earlier and later specifications must be seamlessly interoperable.
>     >
>     > If anyone believes that the draft does not meet these criteria, or believes that early allocation is not appropriate for any other reason, please send an email to the PCE mailing list explaining why. If the chairs hear no objections by Thursday, March 25th, we will kick off the "early" allocation request.
>     >
>     > Thanks,
>     >
>     > Dhruv & Julien
>     >
>     >
>     > ____________________________________________________________________________
>     > _____________________________________________
>     >
>     > 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
>     >
>     >
>     > _______________________________________________
>     > Pce mailing list
>     > [email-masked] <mailto:[email-masked]>
>     > https://www.ietf.org/mailman/listinfo/pce
>     -- 
>     Orange logo <http://www.orange.com>
>
>      
>
>     Olivier Dugeon
>     Orange Expert, Future Networks
>     Open Source Referent
>     Orange/IMT/OLN/WTC/IEE/iTeQ
>
>      
>
>     fixe : +33 2 96 07 28 80
>     mobile : +33 6 82 90 37 85
>     [email-masked] <mailto:[email-masked]> <mailto:[email-masked] <mailto:[email-masked]>>
>
>
>     _________________________________________________________________________________________________________________________
>
>     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
>
-- 
Orange logo <http://www.orange.com>

Olivier Dugeon
Orange Expert, Future Networks
Open Source Referent
Orange/IMT/OLN/WTC/IEE/iTeQ

fixe : +33 2 96 07 28 80
mobile : +33 6 82 90 37 85
[email-masked] <mailto:[email-masked]>

_________________________________________________________________________________________________________________________

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: tom petch <[email-masked]>
Date: Thu, 1 Apr 2021 11:54:16 +0000

From: [email-masked] <[email-masked]>
Sent: 30 March 2021 11:47
To: tom petch
Cc: [email-masked]; [email-masked]; [email-masked]
Subject: Re: [Pce] WG Last Call for draft-ietf-pce-binding-label-sid-07 (and Code Point Allocation)

Hi Tom,

What really matters for the IANA early allocation is that the behaviors
associated to the code points are clear and stable. Assuming the WG
agrees on moving to the "binding value" terminology all along the
document, then the technical specification wouldn't change (i.e. it
would clearly be backward compatible [1]) and we could update the phrase
in IANA entry accordingly at final allocation time.

<tp>
I understand what you are saying but I also believe in
Get it Right First Time
that is getting it wrong and then changing it leads to a greater cost, to confusion and to mistakes.  I see this  with YANG modules where some way through the development, someone has a good idea and changes the YANG prefix, except that they change it in some places and not in others.  There have been cases where this has been detected and fixed at the RFC Editor stage, there are others where it has not and a published RFC has two different values which contradicts the BCP on YANG Guidelines.

So good ideas, on such as an identifier, need to happen early one, before adoption of an I-D IMHO which is why you may find me opposing adoption of an individual submission because I see the consequences in the long term of a less than ideal choice of identifier.

Tom Petch.

Cheers,

Julien

--
[1] https://www.rfc-editor.org/rfc/rfc7120.html#section-3.2

On 27/03/2021 13:02, tom petch wrote:
> <tp>
> Adrian
>
> I share your comments about the terminology in this I-D which is not precise, failing to specify 'MPLS label' and failing to use 'MPLS label stack entry' but I think that the worst part is this 'binding/Label SID' which to me is a classic example of how not to choose an identifier.  The I-D does use 'binding value' in one place as what appears to be one of the many different terms for this concept and I think that term much better.
>
> Since this term, whatever it is, gets embedded in IANA, I said that the IANA early allocation should not proceed until this is resolved, but you may not take it that far.
>
> Tom Petch

---

From: <[email-masked]>
Date: Fri, 2 Apr 2021 11:52:13 +0200

Hi Dhruv,

After re-thinking about the new text, I discovered another potential mistake:

Example, you have 3 BSID: BSID1, BSID2, BSID3.

To remove BSID2, PCE should send a PcUpd message with only BSID1 and BSID3
Once remove, if PCE would modify BSID3, it should send a PcUpd message with BSID1 and new BSID3

So, how do you make the distinction, from a protocol and parsing point of view, between
a PcUpdate message that is used to i) remove a BSID from ii) update a BSID ?

In fact, if I correctly understand, the proposed mechanism impose to synchronise
permanently the whole list of BSID instead of managing individual BSID,
which, IMHO, is preferable.

Regards

Olivier

Le 01/04/2021 à 12:19, [email-masked] a écrit :
> [email-masked]

Olivier Dugeon

fixe : +33 2 96 07 28 80

---

From: Dhruv Dhody <[email-masked]>
Date: Fri, 2 Apr 2021 20:29:05 +0530

Hi Olivier,

As a WG member...

> a PcUpdate message that is used to i) remove a BSID from ii) update a BSID
The key is for PCE to send all TE-PATH-BINDING TLVs that it wishes to apply
from that point on.

PCC compares them to the existing binding values to find -
- the binding values that are the same (no change, nothing needs to be done)
- the binding values that are missing from PCE (that needs to be deleted)
- the binding values that are new (that needs to be allocated)

There is no need to differentiate between (i) and (ii) in your example, the
processing at the PCC would be the same anyways.

> which, IMHO, is preferable.
That is correct. PCEP speakers include all the TE-PATH-BINDING TLVs.

The author's preference for the current text seems to be to avoid impacting
existing implementations. It would be good to hear from implementors on
this!
Thanks!
Dhruv

> From a protocol point of view, it is not safer. In PCEP, there is a 'R'
> flag when you would
> remove an LSP with the PcUpdate/PcInitiate message. For me, it is the
> same behaviour.
> You explicitly remove an LSP by providing the LSP information + the 'R'
> flag set.
> I don't understand why it is not the same for all PCEP TLVs.
>
> Regards
>
> Olivier
>
> On Wed, Mar 31, 2021 at 11:30 PM <[email-masked]> wrote:
>
>> Hi Cheng, Aijun,
>>
> Looking at the working copy[1]/diff[2] that Cheng posted, the empty
> TE-PATH-BINDING TLV is used to request allocation only (and not to withdraw
> old values). So in the example above to remove BSID=2, the PCUpd message
> with TE-PATH-BINDING BSID=1 & TE-PATH-BINDING BSID=3 are sent.
>
> [1]
> https://raw.githubusercontent.com/dhruvdhody/ietf/master/draft-ietf-pce-binding-label-sid-08.txt
> [2]
> https://tools.ietf.org/rfcdiff?url1=https://www.ietf.org/archive/id/draft-ietf-pce-binding-label-sid-07.txt&url2=https://raw.githubusercontent.com/dhruvdhody/ietf/master/draft-ietf-pce-binding-label-sid-08.txt
>
>
>> > From: Aijun Wang [mailto:[email-masked]]
>> > To: [email-masked]; [email-masked]
>> > Cc: [email-masked]
>> > 1. The concept of PCC requests the allocating of BSID for a LSP is
>> clear, but the scenario that PCE allocate the BSID is not convincible.
>> > [Cheng]Section 8 is optionally used when PCE is in control of label
>> space (PCECC) and would not be used for vanilla stateful PCE.
>> >
>> > 2. What's the reason to include the BT=3, that is "SRv6 Endpoint
>> Behavior and SID Structure"? It is one general information and not close
>> connection to the normal usage of BSID.
>> > [Cheng] This is an alignment with other SIDs. In order to support
>> backward compatibility, we want to remain BT2, and introduce a new BT for
>> support SID structure. It can be used for future use case.
>> >
>> >
>> > 3. Will it be more clear to define one new bit(R bit) within the Flag
>> field of "TE-PATH-BINDING TLV" to indicate clearly the remove of BSID
>> allocation to a LSP? Instead of the implicit method that depending on the
>> presence of TE-PATH-BINDING TLV as described in current draft?
>> > 4. For BT=0, the length is set to 7. How to skip the padding trailing
>> zeros to a 4-octet boundary when parsing?
>> > [Cheng] We have updated the description of BT=0 as per Adrian's
>> comment. Length=7 and handling of padding is as per RFC5440:
>> >
>> > From: [email-masked] <[email-masked]> On Behalf Of
>> [email-masked]
>> > To: [email-masked]
>> > Cc: [email-masked]
>> > This message initiates a 2-week PCE WG Last Call for
>> draft-ietf-pce-binding-label-sid-07. Please review and share your feedback,
>> whatever it is, using the PCE mailing list. This WGLC will end on Thursday
>> April 1st (no kidding).
>> >
>> >
>> > Moreover, we have received a request from the authors for a code point
>> allocation to support interoperability testing.
>> >
>> > b. The format, semantics, processing, and other rules related to
>> handling the protocol entities defined by the code points (henceforth called
>> > c. The specifications of these code points must be stable; i.e., if
>> there is a change, implementations based on the earlier and later
>> specifications must be seamlessly interoperable.
>> >
>> > If anyone believes that the draft does not meet these criteria, or
>> believes that early allocation is not appropriate for any other reason,
>> please send an email to the PCE mailing list explaining why. If the chairs
>> hear no objections by Thursday, March 25th, we will kick off the "early"
>> allocation request.
>> >
>> > Thanks,
>> >
>> > Dhruv & Julien
>> >
>> >
>> >
>> > 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,
>> > 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.
>> 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,
>> This message and its attachments may contain confidential or privileged
>> information that may be protected by law;
>  <http://www.orange.com>
> [email-masked]
>
> Pce mailing [email-masked]://www.ietf.org/mailman/listinfo/pce
>
> --
>  <http://www.orange.com>
>
>
> Olivier Dugeon
> [email-masked]
>

---

From: <[email-masked]>
Date: Fri, 2 Apr 2021 20:00:17 +0200

Hi Dhruv,

Speaking as an OpenDaylight developer and committer of BGPCEP project (for controller part), as well as FreeRange Routing developer and maintainer (for router part):

> Hi Olivier,
[ ... ]
> The author's preference for the current text seems to be to avoid impacting existing implementations. It would be good to hear from implementors on this! 

If it is feasible, synchronizing two lists is much more complicated and much more time CPU consumption compared to manage one BSID at once.

In fact, it depends if the list remains ordered or not. e.g. if the TE-PATH-BINDING list is always BSID1, BSID2, BSID3 ... it is possible to find a simple algorithm. But, if one time it is BSID1, BSID2, BSID3, ... and the next time BSID2, BSID3, BSID1 ... there is a large risk to modify the wrong Binding SID if you chose the wrong algorithm. Thus, this behaviour will not simplify the life of developers.

Regards

Olivier

> Thanks!
> Dhruv
>  
>
>
>
>  
>
>     Regards
>
>     Olivier
>
>     Le 01/04/2021 à 12:19, [email-masked] <mailto:[email-masked]> a écrit :
>>     Hi Dhruv,
>>

Olivier Dugeon

fixe : +33 2 96 07 28 80