<?xml version="1.0" encoding="US-ASCII"?>

<rfc docName="draft-zhuang-i2rs-yang-dc-fabric-network-topology-00" ipr="trust200902" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en">

  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>

  <?rfc toc="yes" ?>

  <?rfc symrefs="yes" ?>

  <?rfc sortrefs="yes"?>

  <?rfc iprnotified="no" ?>

  <?rfc strict="yes" ?>

  <front>
    <title abbrev="Data model for DC fabric topology">A YANG Data Model for Fabric Topology in Data Center Network</title>

    <author fullname="Yan Zhuang" initials="Y." surname="Zhuang">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>zhuangyan.zhuang@huawei.com</email>
      </address>
    </author>

    <author fullname="Danian Shi" initials="D." surname="Shi">
      <organization>Huawei</organization>

      <address>
        <postal>
          <street>101 Software Avenue, Yuhua District</street>

          <city>Nanjing</city>

          <region>Jiangsu</region>

          <code>210012</code>

          <country>China</country>
        </postal>

        <email>shidanian@huawei.com</email>
      </address>
    </author>


    <date year="2016"/>

    <area>RTG Area</area>

    <workgroup>I2RS Working Group</workgroup>

    <keyword>RFC</keyword>

    <keyword>Request for Comments</keyword>

    <keyword>I-D</keyword>

    <keyword>Internet-Draft</keyword>

    <keyword/>

    <abstract>
      <t>This document defines a YANG data model for fabric topology in Data Center Network.</t>
    </abstract>
  </front>

  <middle>
    <section anchor="intro" title="Introduction">
      <t>Currently, a data center network is composed of single or multiple 
	  fabrics which are also known as PODs (a Point Of Delivery), which may 
	  be heterogeneous due to implementation of different technologies within
	  these fabrics. For example, within a DC network, Fabric A may use VXLAN
	  while Fabric B may use VLAN. The management of the entire heterogeneous
	  network will be sophisticated and complex especially when the DC network 
	  scales.</t>

      <t>However, in this heterogeneous DC network, fabric can be considered 
	  to be an atomic structure to provide network management and services, as
	  well as capacity scaling. From this point, the management of the entire 
	  DC network can be broken down into management of these fabrics as to
	  provide easier management and flexibility and scalability.</t>

      <t>With this purpose, this document defines a YANG data model for the
	  Fabric topology of Data Center Networks by using YANG [6020][
	  I-D.draft-ietf-netmod-rfc6020bis-09]. To do so, it augments the generic
	  network and network topology data models defined in [I-D.ietf-i2rs-yang
	  -network-topo] with information specific to a DC fabric. </t>

      <t>This model defines the generic configuration and operational state for
	  the DC fabric common to all vendor implementation, which can be extended
	  by vendors with specific information. This model can be used by the
	  network elements to expose to a network controller and capture their
	  understanding of the overall network topology. Also, it can be used by a
	  network controller to represent its view of the fabric topology that it
	  controls and expose it to applications for network management for 
	  Data-center networks.</t>

      <t>Moreover, in the context of topology architecture defined in [I-D.ietf
	  -i2rs-yang-network-topo] and [I.D. draft-ietf-i2rs-usecase-reqs-summary],
	  this model can act as a service topology in conjunction with the existing
	  I2RS topologies. As a service topology, this DC fabric topology can be
	  further connected with network elements in the underlay topologies, such
	  as L3 topology defined in [I.D. draft-ietf-i2rs-yang-l3-topology-01]. By
	  using the DC fabric topology, people can describe characteristics of a DC
	  fabric (such as encapsulation, spine/leaf node, and gateway type, etc.).
	  Also, clients can consume the topology information at fabric level, while
	  no need to parse entire set of links and nodes in underlay networks.</t>
    </section>

    <section title="Definitions an Acronyms">
	<t>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 [RFC2119].
	</t>
      <section title="Terminology">
        <t>DC Fabric: also known as POD, is a module of network, compute,
		storage, and application components that work together to deliver
		networking services. It is a repeatable design pattern, and its
		components maximize the modularity, scalability, and manageability of
		data centers.</t>
      </section>

      <section title="Tree diagram">
        <t>The following notations are used within the data tree and carry the
		meaning as below.</t>

        <figure>
        <artwork> Each node is printed as:
   &lt;status&gt; &lt;flags&gt; &lt;name&gt; &lt;opts&gt; &lt;type&gt;

   &lt;status&gt; is one of:
        +  for current
        x  for deprecated
        o  for obsolete
   &lt;flags&gt; is one of:
       rw for configuration data
       ro for non-configuration data
       -x for rpcs
       -n for notifications
   &lt;name&gt; is the name of the node

   If the node is augmented into the tree from another module, its name
   is printed as &lt;prefix&gt;:&lt;name&gt;.
   &lt;opts&gt; is one of:
        ?  for an optional leaf or choice
        !  for a presence container
        *  for a leaf-list or list
        [&lt;keys&gt;] for a list's keys
   &lt;type&gt; is the name of the type for leafs and leaf-lists</artwork>
      </figure>
	  <t>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.
	  </t>
      </section>
	  </section>

    <section title="Model Overview">
        <t>This section provides an overview of the DC Fabric topology model and 
		its relationship with other topology models.</t>

		<section title="Model structure">
        <t>The relationship of the DC fabric topology model and other topology 
		models is shown in the following figure (dotted lines in the figure 
		denote augmentations).</t>
		<figure>
          <artwork>
          +------------------------+
          |      network model     |
          +------------------------+
                       |
                       |
          +------------V-----------+
          | network topology model |
          +------------------------+
                       |
     +-----------+-----+------+-------------+
     |           |            |             |
 +---V----+  +---V----+   +---V----+   +----V---+
 |   L1   |  |   L2   |   |   L3   |   | Fabric |
 |topology|  |topology|   |topology|   |topology|
 |  model |  |  model |   |  model |   |  model |
 +--------+  +--------+   +--------+   +--------+

		  </artwork>
        </figure>
		
        <t>From the perspective of resource management and service provisioning, 
		the fabric topology model augments the basic network topology model with 
		definitions and features specific to a DC fabric, to provide common 
		configuration and operations for heterogeneous fabrics.</t>
      </section>

        <section title="Fabric Topology">
        <t>The fabric topology model is designed to be generic and can be
		applied to data center fabrics built with different technologies, such
		as VLAN, VXLAN etc al.</t>

        <t>The structure of "ietf-fabric-topology" data model is depicted in the
		following diagram.</t>

        <figure title="" suppress-title="false" align="left" alt="" width="" height="">
		<artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
augment /nw:networks/nw:network/nw:network-types:
   +--rw fabric-network!
augment /nw:networks/nw:network:
   +--rw fabric-network-attributes
      +--rw name?          string
      +--rw fabric-id?     fabric-id
      +--rw type?          fabrictype:underlayer-network-type
      +--rw description?   string
      +--rw options
         +--rw gateway-mode?       enumeration
         +--rw traffic-behavior?   enumeration
augment /nw:networks/nw:network/nw:node:
   +--rw node-ref?   fabrictype:node-ref
   +--rw role?       fabrictype:device-role
augment /nw:networks/nw:network/nt:link:
   +--rw link-ref?   fabrictype:link-ref
augment /nw:networks/nw:network/nw:node/nt:termination-point:
   +--rw lport-attributes
      +--rw lport-uuid?         yang:uuid
      +--rw name?               string
      +--rw role?               port-role
      +--rw layer-1-info
      |  +--rw location?   tp-ref
      +--rw layer-2-info
      |  +--rw access-type?      access-type
      |  +--rw access-segment?   uint32
      +--rw layer-3-info
      |  +--rw ip?               inet:ip-address
      |  +--rw network?          inet:ip-prefix
      |  +--rw mac?              yang:phys-address
      |  +--rw forward-enable?   boolean
      +--rw fabric-acl* [fabric-acl-name]
      |  +--rw fabric-acl-name    string
      +--rw underlayer-ports* [port-ref]
         +--rw tp-ref?        -> /nd:networks/network[nd:network-id=current()/../
		 network-ref]/node[nd:node-id=current()/../node-ref]/lnk:termination-point/tp-id
         +--rw node-ref?      -> /nd:networks/network[nd:network-id=current()/
		 ../network-ref]/node/node-id
         +--rw network-ref?   -> /nd:networks/network/network-id
		</artwork>
		</figure>

        <t>The fabric-topology augments the generic ietf-network and 
		ietf-network-topology modules as follows: <list style="symbols">
			
			<t>A new topology type "ietf-fabric-topology" is introduced 
			and added under the "network-types" container of the 
			ietf-network module.</t>
		
			<t>Additional topology attributes are introduced, defined in
			a grouping, which augments the "network" list of the network 
			module. The attributes include a Fabric name, fabric-id, type 
			of the underlay network, descriptions of the fabric as well as 
			a set of options defined in a container. The options container 
			includes leaves of the gateway-mode (centralized or distributed)
			and traffic-behavior (whether acl needed for the traffic).</t>
		
			<t>Additional data objects for nodes are introduced by augmenting
			the "node" list of the network module. New objects include node 
			id of a node in the topology and its role, such as "SPINE" node 
			or "LEAF" node, which should work together with gateway-mode.</t>
		
			<t>Termination points (in network topology module) are augmented 
			with logical port attributes defined in a container. It contains 
			common information of name, id, role of the port (such as port 
			connected to endpoint, or port connected to intra-fabric 
			communication, etc al). Besides, it also carries layering 
			information for a port with containers of layer 1, 2 and 3 
			information. A set of acl for the fabric is also defined. At last, 
			it provides a set of underlay ports that the logical fabric port 
			can be mapped to.</t>
			
		</list></t>

        <t>In addition, we also define several rpc operations for fabric 
		managements within data center networks to get and configure fabrics 
		and obtain a response. The YANG module defines 7 rpc commands for this 
		management, including getting all fabric information, composing a fabric, 
		decomposing a fabric, adding a node to a fabric, removing a node from a 
		fabric, adding a link to a fabric and removing a link from a fabric.</t>
    </section>
	</section>
	
    <section title="Fabric YANG Module">
      <figure title="" suppress-title="false" align="left" alt="" width="" height="">
	<artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
	&lt;CODE BEGINS&gt; file "ietf-fabric-types@2016-02-26.yang"
	module ietf-fabric-types {

    yang-version 1;
    namespace "urn:ietf:params:xml:ns:yang:ietf-fabric-types";
    prefix ftypes;

    import ietf-inet-types { 
		prefix "inet";
	}
    import ietf-yang-types { 
		prefix "yang"; 
		revision-date "2013-07-15"; 
	}
	import ietf-network-topology {
		prefix nt;
	}
	
	organization
    "Huawei Technologies";
	contact
    "shidanian@huawei.com";
    description
        "This module contains a collection of YANG definitions for Fabric network service.";

    revision "2016-02-26" {
        description
            "Initial revision of fabric network service.";
		reference
			"";
    }
	// identity statements
    identity fabric-type {
		description "base fabric type";
    }
    identity vxlan-fabric {
        base fabric-type;
		description "vxlan-fabric fabric";
    }
	// typedef statements. 
	// ref nodes are all changed to refer to network/network-topology data models.
    typedef node-ref {
        type instance-identifier;
		description "A reference to a node in topology";
    }
    typedef tp-ref {
        type instance-identifier;
		/*type leafref {
            path "/network-topology/topology/node/termination-point/tp-id";
        }*/
        description "A reference to a termination point in topology";
    }
    typedef link-ref {
        type instance-identifier;
		description "A reference to a link in topology";
    }
    typedef device-role {
        
        type enumeration {
            enum SPINE {
                description "";
            }
            enum LEAF {
                description "";
            }
        }
		description "device role type";
    }
    typedef port-role {

        type enumeration {
            enum NNI {
                description "the port used for fabric intra communiation.";
            }
            enum UNI {
                description "the port used for Endpoint to access fabric.";
            }
        }
		description "port role type";
    }
    typedef underlayer-network-type {

        type enumeration {
            enum VXLAN {
                description "vxlan";
            }
            enum TRILL {
                description "trill";
            }
        }
		description "";
    }
    typedef layer2-protocol-type-enum {
        type enumeration {
            enum VLAN{
				description "vlan";
			}
            enum VXLAN{
				description "vxlan";
			}
            enum TRILL{
				description "trill";
			}
            enum NvGRE{
				description "nvgre";
			}
        }
		description "l2 protocol type";
    }
    typedef access-type {        
        type enumeration {
            enum exclusive{
				description "exclusive";
			}
            enum vlan{
				description "vlan";
			}
        }
		description "access type";
    }
	// grouping statements
    grouping acl-list {

        list fabric-acl {
            key fabric-acl-name;
            leaf fabric-acl-name {
                type string;
				description "fabric acl name";
            }
			description "list of fabric acl";
        }
		description "fabric acl list";
    }
	
    grouping logic-switch {
	description "logic switch attributes";
        leaf lsw-uuid {
            type yang:uuid;
			description "logic switch id";
        }
        leaf name {
            type string;
			description "name of the logic switch";
        }
        leaf segment-id {
            type uint32;
			description "segement id";
        }
        leaf network {
            type inet:ip-prefix;
			description "ip prefix";
        }
        uses acl-list;
    }
    grouping logic-router {
	description "logic router attributes";
        leaf lr-uuid {
            type yang:uuid;
			description "logic router id";
        }
        leaf name {
            type string;
			description "logic router name";
        }
        leaf vrf-ctx {
            type uint32;
			description "vrf-context if vxlan";
        }
        uses acl-list;
    }
    grouping logic-port {
	description "logic port attributes";
        leaf lport-uuid {
            type yang:uuid;
			description "logic port id";
        }
        leaf name {
            type string;
			description "logic port name";
        }
        leaf role {
            type port-role;
			description "role";
        }
        container layer-1-info {
			description "layer 1 infor";
            leaf location {
                type tp-ref;
				description "tp ref to layer 1 topo";
            }
        }
        container layer-2-info {
			description "layer 2 infor";
            leaf access-type {
                type access-type;
				description "access type";
            }
            leaf access-segment {
                type uint32;
				description "access segment";
            }
        }
        container layer-3-info {
			description "layer 3 info";
			
            leaf ip {
                type inet:ip-address;
				description "ip address";
            }
            leaf network {
                type inet:ip-prefix;
				description "ip prefix";
            }
            leaf mac {
                type yang:phys-address;
				description "mac address";
            }
            leaf forward-enable {
                type boolean;
				description "";
            }
        }
        uses acl-list;

		list underlayer-ports {
			key port-ref;
			uses nt:tp-ref;
			description "underlayer-network-type ports infor";
		}
    }
}
    &lt;CODE ENDS&gt;
	</artwork></figure>
	
	<figure title="" suppress-title="false" align="left" alt="" width="" height="">
	<artwork xml:space="preserve" name="" type="" align="left" alt="" width="" height="">
	&lt;CODE BEGINS&gt; file "ietf-fabric-topology@2016-04-13.yang"
	module ietf-fabric-topology {

    yang-version 1;
    namespace "urn:ietf:params:xml:ns:yang:ietf-fabric-topology";
    prefix fabric;

    import ietf-network {
		prefix nw;
	} 
	import ietf-network-topology {
		prefix nt;
	}
    import ietf-fabric-types { 
			prefix fabrictype;
			revision-date "2016-02-26"; 
	}
	organization
    "Huawei Technologies";
    contact
    "shidanian@huawei.com";
    description
        "This module contains a collection of YANG definitions for Fabric.";
	
	revision "2016-04-13"{
		description
			"intial version";
		reference
			"";
	}

   // typedef statements
    typedef fabric-id {
        type nw:node-id;
        description 
            "An identifier for a fabric in a topology.
            The identifier is generated by create-fabric RPC.";
    }
	// grouping statements
	 grouping fabric-network-type {
      description "Identify the topology type to be fabric.";
      container fabric-network {
        presence "indicates fabric Network";
        description
        "The presence of the container node indicates
         fabric Topology";
      }
    }
	
	grouping fabric-network-attributes {
      description "fabric Topology scope attributes";
      container fabric-network-attributes {
        description "Containing fabric network attributes";
        leaf name {
            type string;
			description "name of the fabric";
        }

		leaf fabric-id {
            type fabric-id;
			description "fabric id";
        }
			
        leaf type {
            type fabrictype:underlayer-network-type;
            description "The type of physcial network that implements this fabric.
                        Examples are vlan, and trill.";
        }

        leaf description {
            type string;
			description "description of the fabric";
        }

        container options {
			description "options for the fabric";
            uses fabric-options;
        }
      }
    }
	
    grouping fabric-options {
	description "options for fabric";
        leaf gateway-mode {
            type enumeration {
                enum centralized {
                    description "";
                }
                enum distributed {
                    description "";
                }
            }
            default "distributed";
			
			description "gateway mode";
        }

		leaf traffic-behavior {
		
			type enumeration {
				enum normal {
					description "";
				}
				enum need-acl {
					description "";
				}
			}
			default "normal";
			description "traffic behavior";
		}
    }

    grouping fabric-device-attributes {
	description "fabric node attributes";
        leaf node-ref {
            type fabrictype:node-ref;
			description "";
        }
		//uses nw:node-ref;
        leaf role {
            type fabrictype:device-role;
			description "role of the device, such as leaf or spine";
        }
    }

    grouping fabric-link-attributes {
	description "fabric link attribute";
        leaf link-ref {
            type fabrictype:link-ref;
			description "";
        }
    }

	// augment statements
	augment "/nw:networks/nw:network/nw:network-types" {
    description
      "Introduce new network type for Fabric-based logical topology";
		uses fabric-network-type;
	}
	augment "/nw:networks/nw:network" {
		when "nw:network-types/fabric-network-type" {
			description
			"Augmentation parameters apply only for networks with
			fabric network topo";
		}
		description
        "Configuration parameters for fabric network";
		uses fabric-network-attributes;
   }
    augment "/nw:networks/nw:network/nw:node" {
		when "/nw:networks/nw:network/nw:network-types/fabric-network-type"{
			description "Augmentation parameters apply only for networks with
       fabric topology";
		}
		description "Configuraion parameters for nodes";
            uses fabric-device-attributes;
    }

	augment "/nw:networks/nw:network/nt:link" {
      when "/nw:networks/nw:network/nw:network-types/fabric-network-type" {
        description
          "Augmentation parameters apply only for networks
           with fabric topology";
      }
      description "Augment fabric topology link information";
      uses fabric-link-attributes;
    }
	
    augment "/nw:networks/nw:network/nw:node/nt:termination-point" {
        when "/nw:networks/nw:network/nw:network-types/fabric-network-type"{
			description
			"Augmentation parameters apply only for networks
           with fabric topology";
		}
		description
        "Augment fabric topology termination point configuration";
        container lport-attributes {
			description "fabric tp configuraiton";
            uses fabrictype:logic-port;
        }
    }

    /*******************************RPC*********************************************/
    rpc get-all-fabric {
	description "get all fabrics";
        output {
            leaf-list fabric-id {
               type fabric-id;
			   description "fabric id";
            }
        }
    }

    rpc compose-fabric {
	description "compose a fabric";
        input {
            uses fabric-network-attributes;
        }
        output {
            leaf fabric-id {
                type fabric-id;
				description "fabric id";
            }
        }
    }

    rpc decompose-fabric {
	description "decompose a fabric";
        input {
            leaf fabric-id {
                type fabric-id;
				description "fabric id";
            }
        }
    }

    rpc add-node-to-fabric {
	description "add node to a fabric";
        input {
            leaf fabric-id {
                type fabric-id;
				description "fabric id";
            }
            uses fabric-device-attributes;
        }
    }

    rpc rm-node-from-fabric {
	description "remove a node from a fabric";
        input {
            leaf fabric-id {
                type fabric-id;
				description "fabric id";
            }
			uses nw:node-ref;
        }
    }

    rpc add-link-to-fabric {
	description "add a link to a fabric";
        input {
            leaf fabric-id {
                type fabric-id;
				description "fabric id";
            }
            uses fabric-link-attributes;
        }
    }

    rpc rm-link-from-fabric {
	description "remove a link from a fabric";
        input {
            leaf fabric-id {
                type fabric-id;
				description "fabric id";
            }
			uses nt:link-ref;
        }
    }
}
	&lt;CODE ENDS&gt;
	</artwork></figure>
      </section>

    <section title="Security Consideration">
        <t>TBD</t>
    </section>
	<section title="Acknowledgements">
    </section>
  </middle>

  <back>
    <references title="Informative References">
	  <reference anchor="I-D.draft-ietf-i2rs-yang-network-topo">
        <front>
          <title>A YANG Data Model for Network Topologies</title>

          <author fullname="A. Clemm" initials="A." surname="Clemm">
            <organization/>
          </author>

          <author fullname="J. Medved" initials="J." surname="Medved">
            <organization/>
          </author>

          <author fullname="T. Tkacik" initials="T." surname="Tkacik">
            <organization/>
          </author>

          <author fullname="R. Varga" initials="R." surname="Varga">
            <organization/>
          </author>

          <author fullname="N. Bahadur" initials="N." surname="Bahadur">
            <organization/>
          </author>

          <author fullname="H. Ananthakrishnan" initials="H."
                  surname="Ananthakrishnan">
            <organization/>
          </author>

          <date month="December" year="2015"/>
        </front>
		 <seriesInfo name="I-D" value="draft-ietf-i2rs-yang-network-topo-02"/>
      </reference>
	  
	  
	  <reference anchor="I-D.draft-ietf-i2rs-yang-l3-topology">
        <front>
          <title>A YANG Data Model for Layer 3 Topologies</title>

          <author fullname="A. Clemm" initials="A." surname="Clemm">
            <organization/>
          </author>

          <author fullname="J. Medved" initials="J." surname="Medved">
            <organization/>
          </author>

          <author fullname="T. Tkacik" initials="T." surname="Tkacik">
            <organization/>
          </author>

          <author fullname="X. Liu" initials="X." surname="Liu">
            <organization/>
          </author>
		  
		  <author fullname="I. Bryskin" initials="I." surname="Bryskin">
            <organization/>
          </author>
		  
		  <author fullname="A. Guo" initials="A." surname="Guo">
            <organization/>
          </author>
		  
		  <author fullname="H. Ananthakrishnan" initials="H."
                  surname="Ananthakrishnan">
            <organization/>
          </author>

          <author fullname="N. Bahadur" initials="N." surname="Bahadur">
            <organization/>
          </author>
		  
		  <author fullname="V. Beeram" initials="V." surname="Beeram">
            <organization/>
          </author>

          <date month="December" year="2015"/>
        </front>
		 <seriesInfo name="I-D" value="draft-ietf-i2rs-yang-network-topo-02"/>
      </reference>
	  
	  <reference anchor="I-D.draft-ietf-netmod-rfc6020bis-09">
        <front>
          <title>The YANG 1.1 Data Modeling Language</title>

          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
            <organization/>
          </author>

          <date month="December" year="2015"/>
        </front>

        <seriesInfo name="I-D" value="draft-ietf-netmod-rfc6020bis-09"/>
      </reference>
	  
	  <reference anchor="RFC6020">
        <front>
          <title>YANG - A Data Modeling Language for the Network Configuration
          Protocol (NETCONF)</title>

          <author fullname="M. Bjorklund" initials="M." surname="Bjorklund">
            <organization/>
          </author>

          <date month="October" year="2010"/>
        </front>

        <seriesInfo name="RFC" value="6020"/>
      </reference>
	  <reference anchor="RFC2119" target="http://www.rfc-editor.org/info/rfc2119">
	<front>
		<title>Key words for use in RFCs to Indicate Requirement Levels</title>
		<author initials="S." surname="Bradner" fullname="S. Bradner"><organization/></author>
		<date year="1997" month="March"/>
	</front>
	<seriesInfo name="BCP" value="14"/>
	<seriesInfo name="RFC" value="2119"/>
	<seriesInfo name="DOI" value="10.17487/RFC2119"/>
	</reference>
	  <reference anchor="RFC6991">
        <front>
          <title>Common YANG Data Types</title>

          <author fullname="J. Schoenwaelder" initials="J."
                  surname="Schoenwaelder">
            <organization/>
          </author>

          <date month="July" year="2013"/>
        </front>

        <seriesInfo name="RFC" value="6991"/>
      </reference>
	</references>
	  
	<references title="Informative References">
     <reference anchor="I-D.draft-ietf-i2rs-usecase-reqs-summary">
        <front>
          <title>Summary of I2RS Use Case Requirements</title>

          <author fullname="S. Hares" initials="S." surname="Hares">
            <organization/>
          </author>

          <author fullname="M. Chen" initials="M." surname="Chen">
            <organization/>
          </author>

          <date month="May" year="2015"/>
        </front>

        <seriesInfo name="I-D" value="draft-ietf-i2rs-usecase-reqs-summary-01"/>
      </reference>
    </references>
  </back>
</rfc>
