One document matched: draft-hares-i2rs-service-topo-dm-04.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC791 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.0791.xml">
<!ENTITY RFC2119 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY I-D.ietf-i2rs-yang-network-topo SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-i2rs-yang-network-topo.xml">
<!ENTITY I-D.ietf-i2rs-yang-l3-topology SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-i2rs-yang-l3-topology.xml">
<!ENTITY I-D.ietf-l3sm-l3vpn-service-model SYSTEM "http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-l3sm-l3vpn-service-model.xml">

]>

<rfc category="std" docName="draft-hares-i2rs-service-topo-dm-04.txt"
     ipr="trust200902">
  <?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="I2RS Service Topology">A Yang model for I2RS service topology</title>
 	<author fullname="Susan Hares" initials="S" surname="Hares">
      <organization>Huawei</organization>
	   <address> 
        <postal>
          <street>7453 Hickory Hill</street>
          <city>Saline</city>
          <region>MI</region>
          <code>48176</code>
          <country>USA</country>
        </postal>
        <email>shares@ndzh.com</email>
		</address>
    </author>
    <author fullname="Linda Dunbar" initials="L." surname="Dunbar">
      <organization>Huawei</organization>
      <address>
        <postal>
          <street></street>
          <city> </city>
          <region> </region>
          <code></code>
          <country>USA</country>
        </postal>
        <email>linda.dunbar@huawei.com</email>
      </address>
    </author>
	<date year="2016" />
   <area>Routing Area</area>
   <workgroup>I2RS</workgroup>
    <keyword>RFC</keyword>
     <keyword>Request for Comments</keyword>
     <keyword>Service Topology</keyword>
     <keyword>Internet-Draft</keyword>
     <keyword>I2RS</keyword>
    <abstract>
      <t>This document defines  I2RS protocol-independent service layer
	  virtual topology data model.  This data model utilizes the concepts in 
	  the generic I2RS topology model of virtual networks (node, links, termination points) and cross-layer 
	  topologies. This virtual service topology may be a composite layer created
	  from the combination of protocol-dependent service layers. Protocol-dependent
	  services layers include: L3VPN, L2VPN, EVPN, E-Tree, and others. 
	  </t>
    </abstract>
  </front>
  <middle>
    <section anchor="intro" title="Introduction">
      <t>Service topology in <xref target="I-D.ietf-i2rs-yang-network-topo"></xref> includes the
	  a virtual topology for a service layer above the L1, L2, and L3 layers. This virtual
	  topology has the generic topology elements of node, link, and terminating point. 
	  The virtual service topology is a network-wide topology stored on one routing
	  system which an I2RS agent is connected to. </t>
	  <t> The virtual service topology is a composite summary of the 
 	  services available services gathered from the lower layer indications of L3VPN,
	  L2VPN, and EVPN services, E-TREE services, Seamless MPLS topologies within an As
	  and others. This is a "bottoms up" yang module providing composite protocol independent 
	  service topology based on these protocol services.  This yang data model does not 
	  connect directly to upper service levels such as the L3 Service yang data model 
	  <xref target="I-D.ietf-l3sm-l3vpn-service-model"></xref>.</t>

    <section title="Conventions used in this document">
      <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 <xref
      target="RFC2119">RFC2119</xref>.</t>
    </section>

      <section title="Base Model: the Service-Topology Component">
        <t>The following diagram contains an informal graphical depiction of
        the main elements of the information model:
        <figure>
          <artwork>
            +----------------+
            |    network     | 
            |    topology    |<...
            +----------------+   :
              *           *  :   :
              |           |  :...:
              |           |
      +--------+        +--------+
  ...>|  node  |<.......|link    |<...
  :   +--------+<.......+--------+   :
  :    :   *             : :  *  :   :
  :.....   |             : :  |  :...:
           |             : :  |
.....>+--------+<........: :  |
:     |   TP   |<..........:  |
: ...>+--------+              |
: :                           |
: : .....................+---------+
.........................|Direction|
                         +---------+
</artwork>
 </figure>
</t>
</section>
</section>
<section title="High level Yang architecture">
<t>This section describes the Yang High level architecture.</t>
<section title="Network level">
<t>
The service topology network level defines 
the following high-level yang architeture: 
</t>
<t>
<figure>
<artwork>
module: i2rs-service-topologies
   augment /nw:network/nw:network-types:
      +--rw service-topologies-types
   augment /nw:network:
     +--rw service-topology-attributes
         +--rw name?   string
		 +--rw flag	   flag_type;
 		 +--rw composite-flag identity-ref 
		 +--rw service-topo-id network-id
		 +--rw node-count  uint32
		 +--rw composite-flag_status identity-ref 
</artwork>
</figure>
</t>
<t>
The service topology attributes for a network include the following
<list>
<t>name - name of the service topology, </t>
<t>flag - generic topology flag, </t>
<t> composite-flags - bit mask with flags of service layer
 topologies network topology node available to create service
topology from. These topologies include: L3VPN, L2VPN, and EVPN services, E-TREE services, 
 Seamless MPLS topologies within an AS and others. 
</t>
<t>service-topo-id - service topology identifier. </t>
<t>node-count - count of nodes in composite service topology,</t>
<t>composite-flag_status - status flag for each of the composite
topologies on whether portions of the topology are included in
the composite.</t>
</list>
</t>
</section>
<section title="Node level">
<t>
<figure>
<artwork>
module: i2rs-service-topologies
.... 
   augment /nw:network/nw:node
      +--rw node-service-attributes
         +--rw name?        inet:domain-name
         +--rw composite_flag*  identityref;
		 +--rw service-node-id  uint32
		 +--rw node-svc_status* identityref;
</artwork>
</figure>
</t>
<t>
The additional fields in the service attributes
are the following:
<list>
<t>name - name of network node, </t>
<t> flag - generic topology node flag,</t>
<t>service-node-id - the id for the service node in the
composite network, </t>
<t>node-svc-type - the type of service node.  The service
node can be a member of one of the existing topology type
(L3VPN, L2VPN, EVPN, E-TREE, Seamless MPLS, MPLS-TE, MPLS 
node, or I2RS created). 
</t>
</list>
</t>
</section>
<section title="Service Link and Termination point">
<t>
<figure>
<artwork>
   augment /nw:network/nt:link:
      +--rw service-link-attributes
         +--rw name?     string
         +--rw svc-link-type identityref 		 
         +--rw metric?   uint32
   augment /nw:network/nw:node/nt:termination-point:
      +--rw service-termination-point-attributes
	     +--rw tp-svc-id 	
         +--rw (supporting-termination-point) ()
            +--:(service)
			|  +--rw service-network-id  leafref
            |  +--rw service-node-id     leafref
			|  +--rw service-tp-id       leafref
			+--:(ip)
			|  +--rw ip-address   inet:ip-address
            +--:(unnumbered)
               +--rw unnumbered-id?   uint32
</artwork>
</figure>
</t>
<t>
The augmentation to the service topology is the service link
attributes which include:
<list>
<t>name - name of the link,</t>
<t>svc-link-type - the service link type used to 
create this composite service link.
</t>
<t>metric - the metric of the service type</t>
</list>
</t>
<t>
The augmentation to the termination point include the following
<list>
<t>tp-svc-id - service id for the termination point, </t>
<t>supporting termination point* - with a)references to the 
service network id, node id and termination point for service id, or
b) an ip address, or c) an unnumbered link address </t>
</list>
</t>
</section>
</section>
<section title="Yang Data Model">
<t>
<figure>
<artwork>
<CODE BEGINS> file "ietf-i2rs-service-topology@2016-01-03.yang"
    module ietf-i2rs-service-topology{
  namespace "urn:ietf:params:xml:ns:yang:ietf-i2rs-service-topology";
  prefix i2rs-st;
  
    import ietf-inet-types {
    prefix inet;
  }
  
   import ietf-network {
     prefix nw;
   }
   import ietf-network-topology {
     prefix "nt";
   }  
   
    organization "IETF";
	  contact
     "email: shares@ndzh.com;	 
      email: linda.dunbar@huawei.com;	  
	 ";

   description
     "This module defines a model for the service topology.";
 
  revision 2016-01-03{
    description
      "Version 1 - initial version;
	   Version 2 - yang format fixed;
	   version 3 - error in xml file";
	   
     reference "draft-hares-i2rs-service-topo-dm-01.txt";
  }
  
      identity svc-topo-flag-identity {
        description "Base type for svc flags";
        }
      identity l3vpn-svc-topo {
        base svc-topo-flag-identity;
        description "L3VPN service type";
       }
      identity l2vpn-svc-topo {
        base svc-topo-flag-identity;
        description "L2VPN service type";
       }
       identity EVPN-svc-topo {
        base svc-topo-flag-identity;
        description "EVPN service type";
       }
        identity Seamless-MPLS-svc-topo {
        base svc-topo-flag-identity;
        description "Seamless MPLS service type";
       }
        identity Etree-svc-topo {
        base svc-topo-flag-identity;
        description "Seamless MPLS service type";
       }
        identity I2rs-svc-topo {
        base svc-topo-flag-identity;
        description "I2RS create service topo";
       }
	   
      identity svc-tp-type {
        description "Base type for service
          termination-point type flags";
        }
      identity svc-tp-type-service {
        base svc-tp-type;
        description "service type";
       }
      identity svc-tp-type-ip {
        base svc-tp-type;
        description "service IP";
       }
      identity svc-tp-type-unnum {
                base svc-tp-type;
        description "service unnumbered link";
       }
	   
	   identity service-topology-types{
	    description
		"service topology type";
	   }
	   
      grouping service-topology-types {
       leaf service-type {
            type identityref {
            base svc-topo-flag-identity;
           }
           description "list of service
		     topology type supported";
         }
		 description
		 "service topology types";
      }
	  
      grouping service-topology-attributes {
              leaf name {
			    type string;
                description "name of service
                      topology";
			  }
              leaf composite-flag {
                type identityref {
                   base service-topology-types;
				 }
                 description "other topologies
                 this topology is configured to
                 be a composite of
                 (L3VPN, L2VPN, I2RS only)";
              }
              leaf service-topo-id {
                  type nw:network-id;
                   description  "service topology id 
				    to a service 
					topology instance.";
               }
               leaf service-id-number {
                  type uint32;
                  description "ID for topology";
              }
              leaf node-count {
                 type uint32;
                 description "count of service level nodes
                  in the network.";
                }
              leaf composite-flag-status {
                type identityref {
                   base svc-topo-flag-identity;}
                 description "other topologies
                 this topology is currently a
                  composite of
                 (L3VPN, L2VPN, I2RS only)";
              }
		description  "Group of attributes for
              service topology";  
      }
	  
      grouping node-svc-attribute {
        leaf domain-name{
           type inet:domain-name;
           description "Domain name for node";
        }
        leaf composite-flag {
          type identityref {
             base svc-topo-flag-identity;
		  }
          description "virtual network
           node can be composite of the
           topologies list
           (L3VPN, L2VPN, I2RS only)";
           }
        leaf service-node-id {
           type uint32;
           description "ID for node at
             service level";
        }
        leaf node-svc_status {
           type identityref {
             base service-topology-types;
		   }
           description "other topologies
             this topology is currewntly
             be composed of
			 (L3VPN, L2VPN, I2RS only)";
        }
	   description
	   "grouping of composite flag";
      }
	  
	  
	grouping service-link-attributes {
        leaf name {
		  type string;
          description "name of
            service link";
		}
        leaf link-id {
		  type uint32;
		  description "link id";
		}
        leaf svc-link-type {
          type identityref {
             base service-topology-types;
		  }
          description "other topologies
            this link is current a 
			composite of
            (L3VPN, L2VPN, I2RS only)";
        }
        leaf metric {
          type uint32;
          description "link metric
		    which may need to expand or
			 link to TE topologies.";
        }
	    description "grouping of 
		 service link attribute";
      }
	  
  grouping service-termination-point-attributes {
        leaf svc-tp-id {
            type uint32;
            description "termination point id";
         }
        container supporting-termination-point {
          leaf svc-tp-type {
            type identityref {
              base svc-tp-type;
			}
          description "other topologies
            this link termination point is
            part of (L3VPN, L2VPN, 
		    or I2RS only)";
		  }
          choice svc-tp-support-type{
            case svc-tp-type-service {

              leaf service-network-id {
                type uint32;
                description "service network id";
		       }
              leaf service-node-id {
                type uint32;
				description "service node id";
			  }
              leaf service-link-id {
                type uint32;
				description "service link id";
			  }
			  description "network, node,
                 tp that supports this
                 termination point";
			}
            case svc-tp-type-inet {
              leaf ip-address{
			    type inet:ip-address;
			    description "ip address";
			  }
			  description "inet svc tp";
            }
            
			case svc-tp-type-unnum {
              leaf unnumbered-id {
                type uint32;
			    description "unnumbered id";
			  }
			 description "unnumber svc tp";
			}
		   description "service termination
		       point type cases";
          }
        description "container of 
	       supporting termination point";
        }
		description
		"grouping of service-termination-point-attributes";
      }
	  
		   
      /*
       * Data nodes
       */
	    augment "/nw:networks/nw:network/nw:network-types"{
        uses service-topology-types;
		description
		"augment the network-tpyes with
		the service-topology-types grouping";
		}
      augment "/nw:networks/nw:network/nw:node" {
	   leaf name {
	   type inet:domain-name;
	    description "service name.";
	   }
	   list composite_flag {
	     key "service-node-id";
	     leaf service-node-id{
	       type uint32;
	       description "service node id.";
	     }
	     leaf node-svc-type{
	       type string;
	       description "node service type.";
	      }
	   leaf-list next-hop{
	     type uint32;
	     description "next hop id.";
	   }
	   description
	     "the list of composite flag.";
	  }
	  
	 description "augments node list";
	 }
	
			   

  augment "/nw:networks/nw:network"{
       uses service-topology-attributes;
	   description
	   "augment the network with 
	   the service-topolgoy-attributes";
	   }
  augment "/nw:networks/nw:network/nw:node"{
      uses node-svc-attribute;
	  description
	  "augment the node with the node-svc-attribute";
	  }
  augment "/nw:networks/nw:network/nt:link" {
    uses service-link-attributes;
	description
	"augment the link with 
	service-link-attributes";
	}
 augment "/nw:networks/nw:network/nw:node/nt:termination-point"{
    uses service-termination-point-attributes;
	description
	"augment the termination-point with
	service-termination-point-attributes";
	}
} // module i2rs-service-topology  
<CODE ENDS>
</artwork>
</figure>
</t>
</section>
 <section title="IANA Considerations">
   <t>TBD</t>
 </section>
 <section title="Security Considerations">
   <t>TBD</t>
 </section>
</middle>
  <back>
    <references title="Normative References">
	  &RFC2119;
	  &I-D.ietf-i2rs-yang-network-topo;
    </references>
	<references title="Informative References">
        &I-D.ietf-i2rs-yang-l3-topology;
		&I-D.ietf-l3sm-l3vpn-service-model;
	</references>
 </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 04:27:59