Subject: [core] draft-bierman-core-yid-00 open questions

From: Michel Veillette <[email-masked]>
Date: Wed, 24 Aug 2016 16:53:42 +0000

Hi Andy

Following if my answers to the questions listed in draft-bierman-core-yid-00

1) When to assign a module-id

Developers should be in control of when this activity is performed based on the estimated amount of work required to reassign IDs (from temporary assigned IDs within the experimental range to the final IDs) and the impacts on the encoding efficiency of assigning a non stable list of YANG items which generate non sequential IDs. If the developer already own a range of YID/SID, the activity can be perform at any time.

It is important to note that the registration of the resulting .sid file(s) is done independently of the registration of the SID range. When registering a SID range, the module or list of modules targeted is not provided. This give the full freedom to developers to assign IDs when needed.

2) How to support private numbering

A range called "Experimental" spanning both the 16 and 32 bits unsigned integer have been assigned to this purpose.
https://tools.ietf.org/html/draft-somaraju-core-sid-01#section-7.1

3) How to combine registries

Not needed, all registrars, SDO shall receive a specific range from IANA.

4) Should more YANG statements be numbered

Yes
rpc, action, notification, module, submodule, feature

5a) How to support anyxml

anyxml represents a single data node with an arbitrary content.
This data node have a single ID assigned to it the same way as any other data node, nothing special is required.

5b) How to support anydata

The anydata define an instance of an unspecified schema node (leaf, leaf-list, container, list).
All possible schema node supported by an anydata need to be register to one of the .sid files.
It is the responsibility of the developer(s) to add these SIDs to one or multiple .sid files manually if not already present.
A section need to be added to the draft to clearly describe this approach.

Regards,
Michel Veillette

---

From: Andy Bierman <[email-masked]>
Date: Wed, 24 Aug 2016 13:48:16 -0700

On Wed, Aug 24, 2016 at 9:53 AM, Michel Veillette <
[email-masked]> wrote:

> Developers should be in control of when this activity is performed based
> on the estimated amount of work required to reassign IDs (from temporary
> assigned IDs within the experimental range to the final IDs) and the
> impacts on the encoding efficiency of assigning a non stable list of YANG
> items which generate non sequential IDs. If the developer already own a
> range of YID/SID, the activity can be perform at any time.
>
> It is important to note that the registration of the resulting .sid
> file(s) is done independently of the registration of the SID range. When
> registering a SID range, the module or list of modules targeted is not
> provided. This give the full freedom to developers to assign IDs when
> needed.
>
>
I think the registration process issues are the same whether a module-id or
a range is allocated.

>
> A range called "Experimental" spanning both the 16 and 32 bits unsigned
> integer have been assigned to this purpose.

Yes, it seems trivial to assign a range for temporary numbers.

> Not needed, all registrars, SDO shall receive a specific range from IANA.

OK, so there is a tiered registration process?
And there will not be a land-grab for all the numbers?
Not clear to me how IANA approves allocation requests.

> rpc, action, notification, module, submodule, feature
Numbering submodule and feature?
These are conceptual statements within the schema language and
do not affect anything on the wire.

> data node, nothing special is required.

    anyxml foo;

    { "foo" : {
         "bar": 42;
         "baz" "fred",
         "a-list" : [
            ....
         ]
       }
     }

So what numbers do you give to bar,, baz, a-list, etc.?
They are all numbered the same as foo?
That will be decoded with all nodes named foo, all anyxml.
The name, type, value info contained in anyxml and anydata
instances have no schema.  These nodes cannot be numbered.
This is a YANG-to-CBOR issue, not a SID issue.

But in real YANG these child nodes sometimes represent real objects
from some other module.  In this case the server may know the "hidden SID".

http://www.netconfcentral.org/modules/yuma-ncx/2013-09-23#root.554

> It is the responsibility of the developer(s) to add these SIDs to one or
> multiple .sid files manually if not already present.

Andy

---

From: Michel Veillette <[email-masked]>
Date: Wed, 24 Aug 2016 21:09:21 +0000

Hi Andy

My comments inline [MV]

From: Andy Bierman [mailto:[email-masked]]
Sent: Wednesday, August 24, 2016 4:48 PM
To: Michel Veillette <[email-masked]>
Cc: [email-masked] WG <[email-masked]>
Subject: Re: draft-bierman-core-yid-00 open questions

On Wed, Aug 24, 2016 at 9:53 AM, Michel Veillette <[email-masked]<mailto:[email-masked]>> wrote:
Hi Andy

I think the registration process issues are the same whether a module-id or a range is allocated.

[MV] Not exactly, registering a module-id imply that you need to know the module information in advance.
[MV] If you register a range, you can assign this range as needed to one or multiple modules.
[MV] You don’t need to go back to the registrar each time you create a new module.

Yes

[MV] SID assigned to submodules and features are required to support discovery
[MV] See https://tools.ietf.org/html/draft-veillette-core-cool-library-00#section-3.1

    anyxml foo;

    { "foo" : {
         "bar": 42;
         "baz" "fred",
         "a-list" : [
            ....
         ]
       }
     }

[MV] If the inner members of this CBOR map need to associated to SID, the developer will need to assign these SIDs as described in 5b.
[MV] If this is the case, the author should have used an anydata.
[MV] Normally, an anyxml contain an arbitrary CBOR content which have nothing to do with YANG and SIDs.
[MV] This is the approach proposed by "draft-ietf-netmod-yang-json" and reused by "draft-ietf-core-yang-cbor"

Regards,
Michel Veillette

Andy

---

From: Andy Bierman <[email-masked]>
Date: Wed, 24 Aug 2016 15:34:07 -0700

On Wed, Aug 24, 2016 at 2:09 PM, Michel Veillette <Michel.Veillette@
trilliantinc.com> wrote:

> Hi Andy
>
>
>
> My comments inline [MV]
>
>
>
> *From:* Andy Bierman [mailto:[email-masked]]
> *Sent:* Wednesday, August 24, 2016 4:48 PM
> *To:* Michel Veillette <[email-masked]>
> *Cc:* [email-masked] WG <[email-masked]>
> *Subject:* Re: draft-bierman-core-yid-00 open questions
>
>
>
>
>
>
>

But it's not like anybody can use the numbers without knowing how they are
assigned.

Andy

> [MV] If the inner members of this CBOR map need to associated to SID, the
> developer will need to assign these SIDs as described in 5b.
>