Subject: [spring] SRv6 Network Programming Endpoint Behavior Registry

From: "Joel M. Halpern" <[email-masked]>
Date: Thu, 19 Dec 2019 10:34:30 -0500

In talking with folks, and looking at the draft, I realized that there 
were two different interpretations of the Endpoint Behavior Registry. 
I can not tell which is intended.

I had assumed, possibly incorrectly, that the list of code points was a 
list of code points to use in routing and control protocols (so all the 
control mechanisms sould have inter-changeable semantics for SRv6 SIDs. 
I thus assumed that one would see in routing an advertisement that in 
some form said "SID prefix X is serviced by node Y and provides 
functionality of Endpoint Behavior Z, with the remaining bits as defined 
in the registry."

Other folks have read this text as defining the bits that must appear in 
the explicit SID in the SID list, between the loactor portion and the 
arguments.  This would provide some small savings in the routing and 
control infrastructure (but not a lot since there still need to be 
advertisements about what Endpoint Behaviors each node actually 
supports.)  This would seem to constrain implementations to use exactly 
these code point.  I am reminded of diffserv, where we looked at doing 
that and concluded that operator needs were such that it did not make 
sense to mandate the on-the-wire code point.

Can the authors please clarify which meaning they intend?  Possibly by 
pointing me at the wording in the document that makes it clear?

Thank you,
Joel

---

From: "Pablo Camarillo (pcamaril)" <[email-masked]>
Date: Thu, 19 Dec 2019 17:54:25 +0000

Joel,

Thank you for your question. Your original understanding is correct.

The table “SRv6 Endpoint Behaviors” contains behaviors. Behaviors are not present in the SRv6 SIDs. They are only used in the control plane.

As you requested, here is the relevant piece of text:

Section 2 (Terminology):

   SRv6 SID function: The function part of the SID is an opaque

   identification of a local behavior bound to the SID.  It is formally

   defined in Section 3.1<https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-07#section-3.1> of this document.

   SRv6 segment endpoint behavior: A packet processing behavior executed

   at an SRv6 segment endpoint.

Section 3.1 (SID Format):

   This document defines an SRv6 SID as consisting of LOC:FUNCT:ARG,

   where a locator (LOC) is encoded in the L most significant bits of

   the SID, followed by F bits of function (FUNCT) and A bits of

   arguments (ARG).

...

   The FUNCT is an opaque identification of a local behavior bound to

   the SID.

   The term "function" refers to the bit-string in the SRv6 SID.  The

   term "behavior" identifies the behavior bound to the SID.

Section 9.2 (IANA)

    Table 3: SRv6 Endpoint Behaviors Registry

Thank you,

Pablo.

-----Original Message-----

From: spring <[email-masked]> on behalf of "Joel M. Halpern" <[email-masked]>

Date: Thursday, 19 December 2019 at 16:35

To: "[email-masked]" <[email-masked]>

Subject: [spring] SRv6 Network Programming Endpoint Behavior Registry

    in the registry."

    Thank you,

    Joel

    _______________________________________________

    spring mailing list

    [email-masked]

    https://www.ietf.org/mailman/listinfo/spring

---

From: "Joel M. Halpern" <[email-masked]>
Date: Thu, 19 Dec 2019 13:34:12 -0500

Thanks Pablo.

Given that I know some folks read it differently, could we add some 
additional text.

Maybe in 3.1, after the sentence you quote about FUNCT, add "The means 
of associating the behaviors defined in this document with specific 
FUNCT bit patterns is outside the scope of this document."

And in section 9.2, could we add:  "This registry is established to 
provide consistency for control means which need to refer to these 
behaviors.  It does not represent encodings within SIDs?"

Thank you,
Joel

On 12/19/2019 12:54 PM, Pablo Camarillo (pcamaril) wrote:
> The table “SRv6 Endpoint Behaviors” contains behaviors. Behaviors are 
> not present in the SRv6 SIDs. They are only used in the control plane.
> 
>     defined in Section 3.1 
> <https://tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-07#section-3.1>of 
> this document.
> 
>      Table 3: SRv6 Endpoint *Behaviors* Registry
> 
> Thank you,
> 
> Pablo.
>

---

From: Ron Bonica <[email-masked]>
Date: Thu, 19 Dec 2019 23:41:40 +0000

Pablo,

Could you make that clear in Section 9.2. I read it the other way.

                                                    Ron

Juniper Business Use Only
From: spring <[email-masked]> On Behalf Of Pablo Camarillo (pcamaril)
Sent: Thursday, December 19, 2019 12:54 PM
To: Joel M. Halpern <[email-masked]>; [email-masked]
Subject: Re: [spring] SRv6 Network Programming Endpoint Behavior Registry

Joel,

Section 2 (Terminology):

   defined in Section 3.1<https://urldefense.com/v3/__https:/tools.ietf.org/html/draft-ietf-spring-srv6-network-programming-07*section-3.1__;Iw!!NEt6yMaO-gk!Tn0ixA8x2Ed5xdLusNrH5HC99oVHX3PApoLzm8_-CjRjg_FpGKlElWvuxlqgN9rY$> of this document.

   arguments (ARG).

...

   the SID.

Section 9.2 (IANA)

Thank you,

Pablo.

-----Original Message-----

From: spring <[email-masked]<mailto:[email-masked]>> on behalf of "Joel M. Halpern" <[email-masked]<mailto:[email-masked]>>

To: "[email-masked]<mailto:[email-masked]>" <[email-masked]<mailto:[email-masked]>>

    in the registry."

    Thank you,

    Joel

    spring mailing list

    [email-masked]<mailto:[email-masked]>