Subject: Re: [netmod] [Netconf] restconf and namespaces and unique module names.

From: Mahesh Jethanandani <[email-masked]>
Date: Mon, 28 Sep 2015 14:22:17 -0700

[Cross posting to netmod mailing list since this discussion affects YANG]

> On Sep 22, 2015, at 12:03 PM, Juergen Schoenwaelder <[email-masked]> wrote:
> 
> On Tue, Sep 22, 2015 at 05:25:04PM +0000, Kent Watsen wrote:
>>> 
>>> RFC 6020:
>>> 
>>>  The names of all standard modules and submodules MUST be unique.
>>>  Developers of enterprise modules are RECOMMENDED to choose names for
>>>  their modules that will have a low probability of colliding with
>>>  standard or other enterprise modules, e.g., by using the enterprise
>>>  or organization name as a prefix for the module name.
>>> 
>>> Apparently, both module names in the example violate this. Note that
>>> module names are used to resolve imports and hence they better are
>>> unique. For the IETF, we can manage that via the IANA registry. For
>>> the other modules, there is a clear recommendation.
>> 
>> 
>> OK, that's fair, but it doesn't seem to be a followed often outside of the
>> IETF.
>> 
>> For instance,
>> 
>>  - ETSI NFV-MANO has module names like "nsd", "vnfd" and "vld"
>>  - Open Config has module names beginning with "bgp-" and "mpls-"
>>  - IEEE has module names like “ethernet"

IEEE models did that because they did not have a namespace reserved. As IEEE goes through the motions of registering for a URN namespace, all IEEE standard models will be prefixed with ieee-.

>>  - ODL has some module names like "config" and "flow-errors"
> 
> Because people often do not read specifications and if tools do not
> complain they assume everything is fine. The YANG spec has clear
> words, there is text in the guidelines. We can write more text and it
> will likely not help. Perhaps tutorials need to stress these points.
> 
>> BTW, this sentence in 6087bis may be overreaching "All published module
>> names MUST be unique." - as it is only enforceable within the scope of a
>> specific registrar like IANA.  Perhaps replace MUST with SHOULD, or limit
>> the scope to IANA-published modules?
> 
> IANA does not publish modules. The IETF can enforce unique module
> names.  I would hope that once the IEEE _publishes_ YANG modules they
> also find ways to enforce unique module names. Perhaps ODL, ETSI, OC
> etc will eventually get this right as well.

That is the plan for IEEE and MEF, where we are working on getting them a URN namespace and have them manage uniqueness between the models they produce.

> 
> /js
> 
> -- 
> Juergen Schoenwaelder           Jacobs University Bremen gGmbH
> Phone: +49 421 200 3587         Campus Ring 1 | 28759 Bremen | Germany
> Fax:   +49 421 200 3103         <http://www.jacobs-university.de/>
> 
> _______________________________________________
> Netconf mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/netconf

Mahesh Jethanandani
[email-masked]