Skip to main content

A YANG Data Model for Network Topologies
draft-contreras-supa-yang-network-topo-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".
Authors Luis M. Contreras , Andrew Qu
Last updated 2014-09-18
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-contreras-supa-yang-network-topo-00
Network Working Group                                      L.Contreras
Internet Draft                                          Telefonica I+D
Intended status: Standard Track                              Andrew Qu
Expires: March 2015                                           Mediatek
                                                    September 18, 2014

                  A YANG Data Model for Network Topologies
                 draft-contreras-supa-yang-network-topo-00

Status of this Memo

   This Internet-Draft is submitted to IETF 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 March 18, 2013.

Copyright Notice

   Copyright (c) 2014 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.

Contreras, et al.      Expires March 18, 2015                 [Page 1]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

Abstract

   This document defines a YANG data model for network topologies.

Table of Contents

   1.   Introduction  ............................................. 2
   2.   Conventions used in this document ......................... 3
   3.   Terminology  .............................................. 3
   4.   Network topology model overview ........................... 3
      4.1. Topology data model structure .......................... 5
      4.2. Main building blocks ................................... 7
   5.   SUPA topology YANG model .................................. 9
   6.   Security Considerations .................................. 22
   7.   IANA Considerations ...................................... 23
   8.   Acknowledgments  ......................................... 23
   9.   References  .............................................. 23
      9.1. Normative References .................................. 23
      9.2. Informative References ................................ 23

1. Introduction

   This document introduces a YANG data model for network topologies.
   The model allows an application to have a holistic view of an entire
   network. In order to capture information that is specific to a
   particular type of network topology, the data model contains such as
   nodes and links that constitute a topology graph, as well as
   termination points are contained in the nodes that actually terminate
   links of the graph, more specifically, termination points can also be
   consisted in the clients as well as servers. Besides, in order to
   provide views at different network layers, the network topology
   information model has a "layer" property to indicate the layer where
   the topology underlays. Now the "layer" property has four values:
   optical[editor's note: wireless is also important, and will be taken
   into account later], physical, datalink and IP and can be extended to
   layer 4,5 and 7. The data model is generic in nature and can depict
   the network topology in the specific network layer as the application
   expects. As a result, the data model can be applied to any type of
   network topology.

   Topology model abstracts the elements of a network, and provides a
   holistic view of the whole network to applications. Based on the
   topology model and vendor-neutral policy configurations, an
   application can configure policies at the network level rather than
   the device level. SUPA (Shared Unified Policy Automation) could

Contreras, et al.      Expires March 18, 2015                 [Page 2]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

   translate the policy configuration from network level to device level,
   and deploy the policy configuration to the network.

   The data model is mainly defined in a YANG module named "topology",
   which contains a generic network topology model. It models a graph
   set of "connected" network elements, such as links, nodes,
   termination points, external nodes, external termination points, and
   external links. External nodes, external termination points, external
   links may not exist in a specific topology. Technically, a submatter
   can be virtualized as one node, shown as the node container in the
   next few sections. The model is also capable of depicting the
   topology at different layers, thus a network can be represented in
   the way as applications expect. In another word, different users or
   applications may have different views of the topology.

2. Conventions used in this document

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC-2119.

   In this document, these words will appear with that interpretation
   only when in ALL CAPS. Lower case uses of these words are not to be
   interpreted as carrying RFC-2119 significance.

3. Terminology

   NETCONF: Network Configuration Protocol

   SUPA: Shared Unified Policy Automation

   YANG: A data modeling language used to model configuration and state
   data manipulated by the NETCONF protocol.

4. Network topology model overview

   This section provides an overview of the network topology information
   model.

Contreras, et al.      Expires March 18, 2015                 [Page 3]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

   The topology module defines a network topology at a general level of
   abstraction. It models aspects such as nodes, links and termination
   point. The universal elements of the data model are as follows:

      A network at any layer can contain multiple topologies. Each
   topology is captured in its own list elements, distinguished via a
   topology ID.

      A topology contains nodes, termination points, links, external
   nodes, external termination points and external links.

      A node has a node ID. Node ID distinguishes the node from other
   nodes in the list.

      A termination point ID identifies a termination point. A node has
   one or more termination points.

      A link / or an aggregation link , which can be seen as an
   abstraction link between an aggregation of subnets, is identified by
   a link ID, uniquely identifying the link within the topology. Links
   are bidirectional or unidirectional. Each link has a starting point
   and a termination point. Both starting point and termination point
   reference a corresponding node, as well as a termination point on
   that node.

   ExtNode, extLink and extTerminationPoint of a topology are also
   defined to depict nodes, links and terminationPoints which are not
   under the control of the controller in the topology. These elements
   have the same attributes as the internal elements of the topology.

   An important attribute of topology model is layer, it indicates which
   network layer of the topology is depicted, currently its values have
   been defined as follows:

   "optical" means layer 0 topology that switch packets by optical
   wave[editor's note: Apparently, wireless transportation plays an
   important role here, however, we are not sure whether it can be
   included in this draft].

   "physical" means layer 1 topology that switch packets by circuit.

   "datalink" means layer 2 topology that switch packets by MAC.

   "ip" means layer 3 topology that switch packets by IP[editor's note:
   LSP is not considered in I2RS, we are planning to take it into
   account in the future].

Contreras, et al.      Expires March 18, 2015                 [Page 4]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

   The node, link, termination point also should be capable of being
   defined at different network layer. The design method of such
   elements will be described in following sections.

   An overview of the YANG module for topology is illustrated in the
   figure below.

                  +-------------------------+
                  |                         |
                  |       topology          |
                  |                         |
                  +-+-+----+---------+--+-+-+
                    | |    |         |  | |
                    | |    |         |  | |
                    | |    |         |  | |
                    | |    |         |  | |
       +------------+ |    |         |  | |
       |              |    |         |  | +------------------+
       |        +-----+    |         |  +--------+           |
       |        |          |         +-+         |           |
       |        |          |           |         |           |
    +--+---+ +--+---+ +----+------++---+---+ +---+---+ +-----+-----+
    |link  | |node  | |termination||extLink| |extNode| |extTerminat|
    +------+ +------+ |Point      |+-------+ +-------+ |ionPoint   |
                      +-----------+                    +-----------+

4.1. Topology data model structure

   The structure of the topology data model, as defined in the YANG
   module "SUPA- topology ", is described as follow. Brackets denote
   list keys, "rw" denotes configuration data, "ro" denotes operational
   state data, "*" denotes the parameter that can have multiple
   instances, and "?" denotes optional parameters. The figure is
   intended to provide an overall structure of the topology data model.

   module: SUPA-topology

Contreras, et al.      Expires March 18, 2015                 [Page 5]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

      +--rw topologies
      |  +--rw topology* [topoId]
      |     +--rw topoId      string
      |     +--rw topoName?   string
      |     +--rw layer       enumeration
      +--rw nodes
      |  +--rw node* [nodeId]
      |     +--rw nodeId          string
      |     +--rw nodeName?       string
      |     +--rw nodeType?       enumeration
      |     +--rw adminStatus?    enumeration
      |     +--ro operStatus?     enumeration
      |     +--rw parentTopoID?   string
      +--rw extnodes
      |  +--rw extnode* [nodeId]
      |     +--rw nodeId          string
      |     +--rw nodeName?       string
      |     +--rw nodeType?       enumeration
      |     +--rw adminStatus?    enumeration
      |     +--ro operStatus?     enumeration
      |     +--rw parentTopoID?   string
      +--rw terminationpoints
      |  +--rw terminationpoint* [tpId]
      |     +--rw tpId      string
      |     +--rw tpName?   string
      |     +--rw nodeId?   string
      +--rw extterminationpoints
      |  +--rw extterminationpoint* [tpId]
      |     +--rw tpId            string
      |     +--rw tpName?         string
      |     +--rw nodeId?         string
      |     +--rw parentTopoID?   string
      +--rw links
      |  +--rw link* [linkId]
      |     +--rw linkId               string
      |     +--rw linkName?            string
      |     +--rw linkType?            enumeration
      |     +--rw direction?           enumeration
      |     +--rw adminStatus?         enumeration
      |     +--ro operStatus?          enumeration
      |     +--rw sourceNodeId         string
      |     +--rw sourceTpId           string
      |     +--rw destinationNodeId    string
      |     +--rw destinationTpId      string
      |     +--rw parentTopoID?        string
      |     +--rw linkTeAttrCfg
      |     |  +--rw maxReservableBandwidth?   uint32

Contreras, et al.      Expires March 18, 2015                 [Page 6]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

      |     |  +--rw teIfMetric?               uint32
      |     |  +--rw srlg-values* [srlg-value]
      |     |  |  +--rw srlg-value    uint32
      |     |  +--rw administrativeGroups
      |     |     +--rw color?   uint32
      |     +--rw linkAttrRun
      |        +--ro physicalBandwidth?   uint32
      +--rw extlinks
         +--rw extlink* [linkId]
            +--rw linkId               string
            +--rw linkName?            string
            +--rw linkType?            enumeration
            +--rw direction?           enumeration
            +--rw adminStatus?         enumeration
            +--ro operStatus?          enumeration
            +--rw sourceNodeId         string
            +--rw sourceTpId           string
            +--rw destinationNodeId    string
            +--rw destinationTpId      string
            +--rw parentTopoID?        string
            +--rw linkTeAttrCfg
            |  +--rw maxReservableBandwidth?   uint32
            |  +--rw teIfMetric?               uint32
            |  +--rw administrativeGroups
            |     +--rw administrativeGroup* [affinityName]
            |        +--rw affinityName    string
            +--rw linkAttrRun
               +--ro physicalBandwidth?   uint32

4.2. Main building blocks

   A network at any layer can contain multiple topologies. Each topology
   is captured from its own list of elements, distinguished via a
   topology ID. A network topology can also be consisted of multiple
   layers, and one topology reflects all these layers which are
   hierarchized.

   A topology can be viewed from a certain layer, e.g., optical
   indicates layer 0, physical indicates layer 1, datalink indicates
   layer 2 and IP indicates layer 3. The layer is captured underneath
   container "layer". This serves as container for a data model that
   indicates the topology in which network layer. All these layers
   together construct a unified topology.

Contreras, et al.      Expires March 18, 2015                 [Page 7]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

   A topology contains nodes, links, ternminationpoints, extNode,
   extLink and extTerminationPoint, and each of them is captured in
   their own lists.

   A node has a node ID. Node ID distinguishes the node from other nodes
   in the list. A node also has attributes such as nodeName, adminStatus,
   operStatus, and topoID, and the meaning of them can be found in the
   detailed topology YANG module in section 4. In addition, a node in a
   topology has three types: physical node, virtual node and container
   node. A "physical" node is a physical device, such as an actual
   router, an actual switch, and etc. A "virtual" node here denotes to a
   virtual isolated partition of a physical node. For example a router
   can be divided into several sub-routers, each of which has external
   connections. In this way, from external view, each sub-router can be
   treated as a "virtual" node which simulates the pseudo node in the
   ISIS broadcast network. The pseudo node is not an actual router. With
   the pseudo nodes, the network topology is simplified and the LSP is
   shortened. A "container" node is an abstract node. A sub topology may
   be regarded as a container node to simplify the parent topology. The
   parent topology has a container node that maps a sub topology. The
   type is captured underneath container "nodeType".

   A termination point is a begin point or end point of a link, it is
   identified by a termination point ID. A termination point also has
   containers such as "topoId","tpName" and "tpId" whose descriptions
   can be found in section 4. A node has one or more termination points.

   A link is identified by a link ID, which uniquely identifies the link
   within the topology. Links are bidirectional or unidirectional. A
   link contains a "source" and a "destination". Both "source" and
   "destination" reference to a corresponding node, as well as a
   termination point on that node.

   External objects such as extNode, extLink and extTerminationPoint of
   a topology are objects not controlled by the controller which manage
   the topology. For example, a link is an internal link between nodes
   in the network managed by a SDN controller. An external link connects
   a node in the network managed by a SDN controller to a node in the
   network managed by the other SDN controller. A link is a connection
   line in a topology. An external link is a connection line between two
   different topologies.

Contreras, et al.      Expires March 18, 2015                 [Page 8]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

5. SUPA topology YANG model

   <Code Begin>
   module SUPA-topology {
     namespace "http://";
     prefix "SUPA-topology";
     organization " ";
     contact " ";
     description " ";
     revision "2014-08-13"{
                description "Initial revision.";
           }

     container topologies {

       list topology {

         key "topoId";
         description "Network Topology";

         leaf topoId {
           description "Topology ID";
           config true;
           type string {
             length "1..32";
           }
         }
         leaf topoName {
           description "Topology Name";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf layer {
           description "layer";
           config true;
           mandatory true;
           type enumeration {
             enum optical {
               value 0;
               description "L0";
             }
             enum physical {
               value 1;
               description "L1";
             }

Contreras, et al.      Expires March 18, 2015                 [Page 9]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

             enum datalink {
               value 2;
               description "L2";
             }
             enum ip {
               value 3;
               description "L3";
             }
           }
         }
       }

     }

     container nodes {

       list node {

         key "nodeId";
         description "Topology Node";

         leaf nodeId {
           description "Node Id";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf nodeName {
           description "Node Name";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf nodeType {
           description "Node Type";
           config true;
           default physical;
           type enumeration {
             enum physical {
               value 0;
               description "physical";
             }
             enum virtual {
               value 1;
               description "virtual";

Contreras, et al.      Expires March 18, 2015                [Page 10]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

             }
           }
         }
         leaf adminStatus {
           description "administration status";
           config true;
           default adminUp;
           type enumeration {
             enum adminDown {
               value 0;
               description "configured to be down";
             }
             enum adminUp {
               value 1;
               description "configured to be up";
             }
           }
         }
         leaf operStatus {
           description "running status";
           config false;
           type enumeration {
             enum down {
               value 0;
               description "down";
             }
             enum up {
               value 1;
               description "up";
             }
           }
         }
         leaf parentTopoID {
           description "topology ID the node belongs to";one
   topology may belong to more than one parent topologies?
           config true;
           type string {
             length "0..32";
           }
         }
       }

     }

     container extnodes {

       list extnode {

Contreras, et al.      Expires March 18, 2015                [Page 11]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

         key "nodeId";
         description "External Nodes";

         leaf nodeId {
           description "Node Id";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf nodeName {
           description "Node Name";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf nodeType {
           description "Node Type";
           config true;
           default physical;
           type enumeration {
             enum physical {
               value 0;
               description "physical";
             }
             enum virtual {
               value 1;
               description "virtual";
             }
           }
         }
         leaf adminStatus {
           description "administration status";
           config true;
           default adminUp;
           type enumeration {
             enum adminDown {
               value 0;
               description "configured to be down";
             }
             enum adminUp {
               value 1;
               description "configured to be up";
             }
           }

Contreras, et al.      Expires March 18, 2015                [Page 12]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

         }
         leaf operStatus {
           description "running status";
           config false;
           type enumeration {
             enum down {
               value 0;
               description "down";
             }
             enum up {
               value 1;
               description "up";
             }
           }
         }
         leaf parentTopoID {
           description "topology ID the node belongs to";same
   problem?
           config true;
           type string {
             length "0..32";
           }
         }
       }

     }

     container terminationpoints {

       list terminationpoint {

         key "tpId";
         description " ";

         leaf tpId {
           description "ID";
           config true;
           type string {
             length "1..32";
           }
         }
         leaf tpName {
           description "Name";
           config true;
           type string {
             length "0..32";
           }

Contreras, et al.      Expires March 18, 2015                [Page 13]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

         }
         leaf nodeId {
           description "the node ID the termination point belongs
   to";
           config true;
           type string {
             length "1..32";
           }
         }
       }

     }

     container extterminationpoints {

       list extterminationpoint {

         key "tpId";
         description " ";

         leaf tpId {
           description "ID";
           config true;
           type string {
             length "1..32";
           }
         }
         leaf tpName {
           description "Name";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf nodeId {
           description "the node ID the termination point belongs
   to";
           config true;
           type string {
             length "1..32";
           }
         }
         leaf parentTopoID {
           description "topology ID the termination point belongs
   to";
           config true;
           type string {

Contreras, et al.      Expires March 18, 2015                [Page 14]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

             length "0..32";
           }
         }
       }

     }

     container links {

       list link {

         key "linkId";
         description "Link";

         leaf linkId {
           description "Link Identifier";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf linkName {
           description "Link Name";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf linkType {
           description "Link Type";
           config true;
           default physical;
           type enumeration {
             enum physical {
               value 0;
               description " ";
             }
             enum telink {
               value 1;
               description " ";
             }
           }
         }
         leaf direction {
           description "tunnel direction";
           config true;
           default unidirectional;

Contreras, et al.      Expires March 18, 2015                [Page 15]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

           type enumeration {
             enum unidirectional {
               value 0;
               description "unidirectional";
             }
             enum bidirectional {
               value 1;
               description "bidirectional";
             }
           }
         }
         leaf adminStatus {
           description "administration status";
           config true;
           default adminUp;
           type enumeration {
             enum adminDown {
               value 0;
               description "configured to be down";
             }
             enum adminUp {
               value 1;
               description "configured to be up";
             }
           }
         }
         leaf operStatus {
           description "running status";
           config false;
           type enumeration {
             enum down {
               value 0;
               description "down";
             }
             enum up {
               value 1;
               description "up";
             }
           }
         }
         leaf sourceNodeId {
           description "Node Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }

Contreras, et al.      Expires March 18, 2015                [Page 16]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

         }
         leaf sourceTpId {
           description "Source Termination Point Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }
         leaf destinationNodeId {
           description "Node Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }
         leaf destinationTpId {
           description "Destination Termination Point Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }
         leaf parentTopoID {
           description "topology ID the link belongs to";
           config true;
           type string {
             length "0..32";
           }
         }
         container linkTeAttrCfg {

           description "Link TE Attribute";

           leaf maxReservableBandwidth {
             description "Max Reservable Bandwidth Attribute,kbps";
             config true;
             default 0;
             type uint32 {
               range "0..4000000000";
             }
           }
           leaf teIfMetric {
             description "TE-LINK metric";
             config true;

Contreras, et al.      Expires March 18, 2015                [Page 17]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

             type uint32 {
               range "1..16777215";
             }
           }
                   list srlg-values {
                       description
                           "List of Shared Risk Link Group this
   interface belongs to.";
                       key "srlg-value";
                       leaf srlg-value {
                       description
                         "Shared Risk Link Group value";
                       type uint32;
                       }
                   }

           container administrativeGroups {
                       leaf color {
                           description
                               "Administrative group or color of the
   link";
                           type uint32;
                           }
           }

         }

         container linkAttrRun {

           description "link value negotiated";

           leaf physicalBandwidth {
             description "Physical Bandwidth,kbps";
             config false;
             default 0;
             type uint32 {
               range "0..4000000000";
             }
           }
         }

       }

     }

     container extlinks {

Contreras, et al.      Expires March 18, 2015                [Page 18]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

       list extlink {

         key "linkId";
         description "External Links";

         leaf linkId {
           description "Link Identifier";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf linkName {
           description "Link Name";
           config true;
           type string {
             length "0..32";
           }
         }
         leaf linkType {
           description "Link Type";
           config true;
           default physical;
           type enumeration {
             enum physical {
               value 0;
               description " ";
             }
             enum telink {
               value 1;
               description " ";
             }
           }
         }
         leaf direction {
           description "tunnel direction";
           config true;
           default unidirectional;
           type enumeration {
             enum unidirectional {
               value 0;
               description "unidirectional";
             }
             enum bidirectional {
               value 1;
               description "bidirectional";
             }

Contreras, et al.      Expires March 18, 2015                [Page 19]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

           }
         }
         leaf adminStatus {
           description "administration status";
           config true;
           default adminUp;
           type enumeration {
             enum adminDown {
               value 0;
               description "configured to be down";
             }
             enum adminUp {
               value 1;
               description "configured to be up";
             }
           }
         }
         leaf operStatus {
           description "running status";
           config false;
           type enumeration {
             enum down {
               value 0;
               description "down";
             }
             enum up {
               value 1;
               description "up";
             }
           }
         }
         leaf sourceNodeId {
           description "Node Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }
         leaf sourceTpId {
           description "Source Termination Point Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }

Contreras, et al.      Expires March 18, 2015                [Page 20]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

         leaf destinationNodeId {
           description "Node Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }
         leaf destinationTpId {
           description "Destination Termination Point Id";
           config true;
           mandatory true;
           type string {
             length "1..32";
           }
         }
         leaf parentTopoID {
           description "topology ID the link belongs to";
           config true;
           type string {
             length "0..32";
           }
         }
         container linkTeAttrCfg {

           description "Link TE Attribute";

           leaf maxReservableBandwidth {
             description "Max Reservable Bandwidth Attribute,kbps";
             config true;
             default 0;
             type uint32 {
               range "0..4000000000";
             }
           }
           leaf teIfMetric {
             description "TE-LINK metric";
             config true;
             type uint32 {
               range "1..16777215";
             }
           }

           container administrativeGroups {

             list administrativeGroup {

Contreras, et al.      Expires March 18, 2015                [Page 21]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

               key "affinityName";
               description " A link may have one or more affinity
   name. Here is a group of those affinity information.";

               leaf affinityName {
                 description "Affinity Name";
                 config true;
                 type string {
                   length "0..32";
                 }
               }
             }

           }

         }

         container linkAttrRun {

           description "link value negotiated";

           leaf physicalBandwidth {
             description "Physical Bandwidth,kbps";
             config false;
             default 0;
             type uint32 {
               range "0..4000000000";
             }
           }
         }

       }

     }
   }
   <Code End>

6. Security Considerations

   It will be considered in a future revision.

Contreras, et al.      Expires March 18, 2015                [Page 22]
Internet-Draft  A YANG Data Model for Network Topologies September 2014

7. IANA Considerations

8. Acknowledgments

   TBD

9. References

9.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
             Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC6020]  Bjorklund, M., "YANG - A Data Modeling Language for the
             Network Configuration Protocol (NETCONF)", RFC 6020,
             October 2010.

   [RFC6021]  Schoenwaelder, J., "Common YANG Data Types", RFC 6021,
             October 2010.

9.2. Informative References

   [APONF-architecture] C. Zhou, T. Tsou, Q. Sun, D. Lopez, G.
   Karagiannis, "APONF Architecture", IETF Internet draft, draft-zhou-
   aponf-architecture-00, June 2014

Authors' Addresses

   Luis M. Contreras
   Telefonica I+D
   Ronda de la Comunicacion, Sur-3 building, 3rd floor
   Madrid  28050
   Spain
   Email: luismiguel.contrerasmurillo@telefonica.com
   URI:   http://people.tid.es/LuisM.Contreras/

   Andrew Qu
   MediaTek
   Email: andrew.qu@mediatek.com

Contreras, et al.      Expires March 18, 2015                [Page 23]