MEF Assigned Names and Numbers (MANN)

© MEF Forum 2017. Any reproduction of this document or any portion thereof shall contain the following statement: "Reproduced with permission of MEF Forum." No user of this document is authorized to modify any of the information contained herein.

1. Terminology

AcronymDescriptionReference
Namespace A collection of uniquely-assigned identifiers. That is, the identifiers are not ever assigned to more than 1 resource, nor are they ever re-assigned to a different resource.RFC3406
NID

Namespace Identifier

  • Identifier registered with the Internet Assigned Numbers Authority, IANA
RFC 2141 
NSS

Namespace Specific Strings

  • Namespace ID determines the _syntactic_ interpretation of the Namespace Specific String

RFC 2141
URI

Uniform Resource Identifier

  • a compact string of characters for identifying an abstract or physical resource
  • classified as a locator, a name, or both
RFC 2396
URN

Uniform Resource Names

  • subset of URI that are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable.

All URNs have the following syntax (phrases enclosed in quotes are REQUIRED):

<URN> ::= "urn:" <NID> ":" <NSS>

RFC 2141

RFC 2396

WCMEF Working Committees like Technical Committee, Service Operations Committee, Marketing Committee, Certification Committee 

Table 1: Acronyms

2. MEF Forum URN

MEF has registered the NID:mef with IANA as described in RFC X (draft work in progress - see IETF draft MEF URN). This namespace is maintained by MEF Forum for use by the Working Committees (WC) in MEF.

This document lists the Namespaces registered by MEF and the corresponding MEF specifications that contain the modules using the Namespace. Additionally, this document outlines the process to request namespaces for work that is developed by MEF.

2.1. NameSpace Specific String Root

Table 2 lists the Namespace Specific Strings (NSS) Root identified by MEF for use in the URN:

StructureNSS-Rooturn:NID:NSS-RootTypeComments
yang-nss

"yang:"

 

urn:mef:yang:

stringBranch of tree. This value is present when purpose is for YANG.
xid-nss

"xid:"

urn:mef:xid:

stringBranch of tree. This value is present when purpose is for experimental.
other-nss

"<other>:"

urn:mef:<other>:

stringbeginning with a prefix other than one of those above for future expansion

Table 2: NameSpace Specific String Roots

string = (ALPHA)0*(ALPHANUMERIC/-/_)

i.e., a string that starts with an alphabet (a-z, A-Z) and has 0 or more mix of alphanumeric (a-zA-Z0-9) or hyphen or underscore.

All URNs have the following syntax (phrases enclosed in quotes are REQUIRED):

<URN> ::= "urn":" <NID> ":" <NSS-Root> ": "<NSS-restoftree>"

Note that a NSS includes <NSS-root>:<NSS-restoftree> where the <NSS-restoftree> is the rest of tree that has one or more strings each separated with a colon, ":". Note that the colon, ":", is not allowed in a branch or leaf name.

As example, a URN might be constructed as: urn:mef:foo:bar:baz, where," bar:baz" is the <NSS-restoftree> appended to "foo:" as <NSS-root>.

2.2. Contact Information

All correspondence related to MEF Namespace should be send to namespace@mef.net.

2.3. MEF Assigned URN

URN*DescriptionReference (MEF Project/Specification using namespace)

Additional Information

(also, work in progress or published)

    
    
    

Table 3: Assigned URN

* None allocated as of December 2015

2.4. Use of MEF Assigned URN

MEF Working Committees develop and publish various work such as Technical Specifications, Implementation Agreements, Test Suites, Best Current Practice documents and software modules. A list is available at MEF Specifications. These include Information and Data Models as well as Interface Profiles for Management Systems. As example, MEF has ongoing work on YANG Modules for MEF Services. Such work in MEF could use the NSS Prefixes specified in this document.

The NSS chosen by a project have to be unique among all MEF projects. See also Namespace Structure

2.5. Other Assigned URN

There are no other assigned URNs (e.g., from namespace belonging to another organization) for use in MEF.

3. Request for Namespaces

Applications for new NSS, using one of the NSS-Roots (excluding xid-nss) specified in Namespace Specific String Root, must be made via email to namespace@mef.net. 

3.1. Namespace Application Review

The Application will be reviewed by a group including Co-Chairs of Working Committees in MEF Forum as well as one or more Subject Matter Experts (SME) from Member Companies. There may be 1 or more SMEs assigned for each <NSS-Root>. The SMEs are to be approved in a Procedural Motion approved at a MEF Quarterly Meeting.

See also Application Details.

 

Icon

NSS with xid-nss is for those modules that are not expected to be used in any published work such as, for example, MEF Standards. So, there is no need to submit a request for Namespace. This document will not capture any URNs under xid-nss.

See also Managing Collisions

 

3.2. Application Details

Applications for the NSS should be made in the context of an approved MEF project. The request can happen at any time during the life of the project. The application should include the following:

  • Approved MEF Project Proposal Contribution
  • <NSS-root>, i.e., Namespace String Root from Table 2
  • <NSS-restoftree>. See also Namespace Structure for examples
  • a brief description of its functionality;
  • the name and email address of the person making the application; and
  • any supplementary information considered necessary to support the application.

An example use in a YANG module is provided in Appendix A1

 

3.3. Application with Request for New Branches

When a Namespace Request Application includes a request for a new branch under a <NSS-Root>, then the application should include the following:

  • Approved MEF Project Proposal Contribution
  • <NSS-root>, i.e., Namespace String Root from Table 2
  • New Branch for <NSS-restoftree>. See also Namespace Structure for examples
  • a brief description of the Branch and the possible leaves under this branch; 
  • a brief description of its functionality;
  • the name and email address of the person making the application; and,
  • any supplementary information considered necessary to support the application.

3.4. Namespace Lifecycle

Namespace-process

Figure 1: Namespace Lifecycle

 

As shown in Figure 1, a MEF project may choose NSS but making sure they are not in collision (See Manage Collisions) with any existing (experimental or allocated) values. An application for NSS, with <NSS-root>, excluding value of <xid>, should be made during or after the first CfCB to give enough time for members to comment on the requested namespace.

The NSS is allocated after successful review. The allocation is considered temporary till the document is approved for publication as a MEF Specification. The approval of the NSS is conditional on the approval of the Letter Ballot document (that contains the module requesting the namespace). If the document does not get published, the namespace is available for future use.

3.5. Namespace Structure

All URNs have the following syntax (phrases enclosed in quotes are REQUIRED):

<URN> ::= "urn":" <NID> ":" <NSS-Root> ": "<NSS-restoftree>"

The number of levels in the tree after "urn:<NID>" is at least 2.

In this version of the document the focus is on the tree for yang-nss given the immediate need for use in development of Data Models such as YANG Modules for MEF Services. The trees for other <NSS-Root> are expected to be specified in future versions of this document.

In the current version, a table is used to describe the role of each string in NSS as well as example values for the string. When more description and constraints is needed for each string in the NSS, then the layout of this section might be changed with separate sub-section for each string in the NSS.

3.5.1. yang-nss

 

Table 4 and Figure 2 below provide explanation of an example hierarchy showing up to 4 additional level although an application may require less or more. Rows highlighted in Yellow indicate that a project team decides on the required values for <NSS-restoftree>. Some examples are included to help understand the use of a string in the NSS.

Number in Figure 2Level in URN TreeStringComments
1Scheme"urn" 
2Authority, NID"mef" 
3Namespaces Specific String Root, NSS-Root

"yang"

Project to choose one of the <NSS-Root> listed in Table of NameSpace Specific String Roots

 

4Module Namee.g., "mef-global:"

other examples could be mef-device-global, mef-controller-global

Namespace Request Application to include suitable string

Table 4: NSS when <NSS-Root> is params

mef-ns-structure

Figure 2: Example Namespace Structure

3.5.2. xid-nss

This is available for use as experimental NSS for work that is not published. Note also that namespaces under xid-nss is limited in scope to that work. While IETF has RFC 6963 with a different <NID> for example URNs, MEF is using a method of different <NSS-Root>.

Number in StructureLevelNamespace StringComments
1Scheme"urn" 
2Authority, NID"mef" 
3Namespaces Specific String Root, NSS-Root

"xid"

Project to choose one of the <NSS-Root> listed in Table of NameSpace Specific String Roots

 

4  

This document is not specifying the possible <NSS-restoftree> for this <NSS-Root>

5   

Table 5: NSS when <NSS-Root> is xid

3.5.3. <other>-nss

Number in StructureLevelNamespace StringComments
1Scheme"urn" 
2Authority, NID"mef" 
3Namespaces Specific String Root, NSS-Root

"<other>"

Project to choose one of the <NSS-Root> listed in Table of NameSpace Specific String Roots

 

4  

Tree to be specified in future versions of this document

5   

Table 6: NSS when <NSS-Root> is <other>

 

An example use of NSS is shown in Appendix A1 for usage of tree structure in a request for 'mef-global'

4. Managing Collisions

Any Project team may define a given NSS value based on one of the <NSS-Root> before making a Request for Namespace but should be careful to make sure it does not collide with any assigned NSS values listed in Table 3. These values should also not be used in a production network and should be used for test purposes only until MEF approves the publication of the work such as Specification or BCP.

5. Updates to MANN

Section Assigned URN in this document will get updated by one of the Co-Chairs of Working Groups in MEF Forum and can be done during the lifecycle shown in Figure 1.

In the case of discrepancy between this Wiki page and a published module in a specification then the assigned values is as per published specification. 

6. References

  1. IETF RFC x, https://tools.ietf.org/html/draft-mahesh-mef-urn-01
  2. IETF RFC 2141, URN Syntax , https://www.ietf.org/rfc/rfc2141.txt
  3. IETF RFC 2396,Uniform Resource Identifiers (URI): Generic Syntax, https://www.ietf.org/rfc/rfc2396.txt
  4. IETF RFC 3406, Uniform Resource Names (URN) Namespace Definition Mechanisms, https://tools.ietf.org/html/rfc3406
  5. IETF RFC 6963, A Uniform Resource Name (URN) Namespace for Examples, https://tools.ietf.org/rfc/rfc6963.txt

 

 

Appendix Α:  Example use of Namespace

Example Request is for Namespace String: "mef-global". The following figure illustrates where the namespace request is used in the YANG module.

  • The name of the module "mef-global" is the namespace string being requested. 
  • The full path of the namespace is then specified in line number 2, and it specifies where in the tree the namespace string is going to be used. 
  • A brief description of where the namespace is going to be used is specified in the description section of this module and could be cut and pasted in the request for namespace application.