Skip to main content

Grammar for Enterprise YANG Module Namespace
draft-chen-netmod-enterprise-yang-namespace-00

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Author Ing-Wher (Helen) Chen
Last updated 2015-10-16
RFC stream (None)
Formats
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-chen-netmod-enterprise-yang-namespace-00
Internet Draft                                                   I. Chen
<draft-chen-netmod-enterprise-yang-namespace-00.txt>            Ericsson
Category: Informational
Expires in 6 months                                     October 16, 2015

              Grammar for Enterprise YANG Module Namespace
          <draft-chen-netmod-enterprise-yang-namespace-00.txt>

Status of this Memo

   Distribution of this memo is unlimited.

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on date.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as
   the document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Chen                       Expires in 6 months                  [Page 1]
Internet Draft          Enterprise YANG Namespace       October 16, 2015

Abstract

   This document defines the grammar to create enterprise YANG module
   namespaces that are globally unique, as required by the YANG modeling
   language.

Chen                       Expires in 6 months                  [Page 2]
Internet Draft          Enterprise YANG Namespace       October 16, 2015

Table of Contents

   1. Introduction ....................................................3
     1.1. Terminology .................................................3
   2. YANG Module Namespace Requirements and Recommendations ..........3
   3. Enterprise YANG Module Namespace Grammar ........................4
   4. Usage Example ...................................................4
   5. IANA Considerations .............................................5
   6. Security Considerations .........................................5
   7. References ......................................................5

1. Introduction

   The use of a standard data modeling language YANG [RFC6020] together
   with Network Configuration Protocol (NETCONF) [RFC6241] allows for
   the creation of a standard network configuration interface.  YANG
   further allows vendors to customize standard YANG modules and to
   create enterprise YANG modules that adapt standard YANG modules to
   different devices and features.  To identify YANG modules, [RFC6020]
   requires YANG module namespaces of all YANG modules, both standard
   YANG modules and enterprise YANG modules, be globally unique.
   [RFC6020] also recommends that enterprise YANG modules have module
   names that are globally unique.

   Based the module naming convention recommended in [RFC6020], this
   document defines the grammar to create YANG module namespaces for
   enterprise YANG modules that result in globally unique namespaces.

1.1.   Terminology

   The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
   "OPTIONAL" in this document are to be interpreted as described in BCP
   14, [RFC2119].

2.  YANG Module Name and Namespace Requirements and Recommendations

   [RFC6020] consists of several YANG module name and namespace
   requirements and recommendations.

   [RFC6020] Section 5.1 paragraph 3 states that

      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.

Chen                       Expires in 6 months                  [Page 3]
Internet Draft          Enterprise YANG Namespace       October 16, 2015

   [RFC6020] Section 5.3 paragraph 3 states that

      Namespaces for private modules are assigned by the organization
      owning the module without a central registry.  Namespace URIs MUST
      be chosen so they cannot collide with standard or other enterprise
      namespaces, for example by using the enterprise or organization
      name in the namespace.

   [RFC6020] Section 6.2.1 paragraph 1 states that

      Each identifier is valid in a namespace that depends on the type
      of the YANG item being defined.  All identifiers defined in a
      namespace MUST be unique.

      o  All module and submodule names share the same global module
         identifier namespace.

   The requirement in [RFC6020] Section 6.2.1 means that even enterprise
   YANG module names must be globally unique.  The recommendation in
   [RFC6020] Section 5.1 means that it is desirable to define enterprise
   YANG modules names to use an organization's name as a prefix.

3.  Enterprise YANG Module Namespace Grammar

   This section defines the grammar to create globally unique enterprise
   YANG module namespaces.  The grammar defines a namespace to be a
   Uniform Resource Name (URN) composed of an organization's reverse
   registered domain name, followed by optional sub-domain hierarchies,
   and ending with the module name with the organization's name as the
   prefix.

   <namespace> = urn:<reverse-dns>:<sub-domain><module-name>

   <reverse-dns> = An organization's registered domain name in reverse

   <sub-domain> = Empty string or
                  additional levels of hierarchy defined within a domain
                  in which each level is delimited by colons

   <module-name> = <organization-prefix>-<function>

   <function> = A string that describes the function provided by the
                YANG module

4.  Usage Example

   Suppose a vendor has a registered domain name "example.com".  This
   vendor has also chosen to place all of its YANG modules under the

Chen                       Expires in 6 months                  [Page 4]
Internet Draft          Enterprise YANG Namespace       October 16, 2015

   "yang" sub-domain.  Following the enterprise YANG module namespace
   grammar described in this document, the vendor ends up with the
   patterns below.

   <reverse-dns> = com:example
   <sub-domain> = yang
   <namespace> = urn:com:example:yang:<module-name>
   <module-name> = example-<function>

   As a result, this vendor's OSPF YANG module has the namespace
   "urn:com:example:yang:example-ospf".

5.  Security Considerations

   TBD.

6.  IANA Considerations

   TBD.  Is it necessary to include a reference to the top-level "com"
   registry RFC?

7.  References

7.1.  Normative References

   [RFC6020]  Bjorklund, M., Ed., "YANG - A Data Modeling Language for
              the Network Configuration Protocol (NETCONF)", RFC 6020,
              DOI 10.17487/RFC6020, October 2010, <http://www.rfc-
              editor.org/info/rfc6020>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI
              10.17487/RFC2119, March 1997, <http://www.rfc-
              editor.org/info/rfc2119>.

7.2.  Informative References

   [RFC6241]  Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
              and A.  Bierman, Ed., "Network Configuration Protocol
              (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
              <http://www.rfc-editor.org/info/rfc6241>.

Author's Address

   I. Chen
   ing-wher.chen@ericsson.com

Chen                       Expires in 6 months                  [Page 5]