One document matched: draft-hares-i2rs-service-topo-dm-00.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 RFC5511 SYSTEM "http://xml.resource.org/public/rfc/bibxml/reference.RFC.5511.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">
]>

<rfc category="std" docName="draft-hares-i2rs-service-topo-dm-00.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>Hickory Hill Consulting</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="2015" />
   <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 of the available services
	  topologies IETF has standard virtual network topologies for L3VPN,
	  L2VPN, and EVPN services, E-TREE services, Seamless MPLS topologies within an As
	  and others. This yang module provides the composite protocol independent 
	  service topology that these protocol dependent topologies plug into</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 "i2rs-service-topology@2015-07-07.yang"
   module i2rs-service-topology {
     yang-version 1;
     namespace "urn:ietf:params:xml:ns:yang:i2rs-service-topology";
     prefix "i2rs-st";
     import ietf-network {
       prefix "nw";
     }
     import ietf-network-topology {
       prefix "nt";
     }
     import ietf-inet-types {
       prefix "inet";
     }
     organization "TBD";
     contact "TBD";

     description
       "This module defines a model for the service topology.";

     revision "2015-07-07" {
       description "Initial revision";
       reference "TBD";
     }
	 
	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";
	 } 
	grouping service-topology-types {
	 leaf service-type* {
		type identityref {
		  base svc-topo-flag-identity;
	     }
		 description "list of topology type
		 supported"
		 
	   }
	}
	
	grouping service-topology attributes {
	   description 
	    "Grouping for the attribute for the
		service topology";
		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 leafref {
			 path "/nw:network/nw:network-id"
			 }
			 description
			 "An absolute reference to a network topology instance."
		  }
		 leaf service-id-number {
		    type uint32;
			description "ID for topology";
		}
		leaf node-node {
		   type unint32;
		   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)"
		}
	}
	
	grouping node-svc-attribute {
	    leaf 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 a composite of
		   (L3VPN, L2VPN, I2RS only)"
		} 
	}		 
		 
    grouping service-link-attributes {
	  leaf name {type string; 
	      description "name of 
		  service link";}
	  leaf link-id uint32; 
	  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";
      // may need to expand with TE topologies
		}
	}
 
    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, I2RS only)"
	    
	     choice svc-tp-type 
		    case svc-tp-type-service {
			 description "network, node,
			  tp that supports this 
			  termination point"
				leaf service-network-id {
				 type uint32; }
				leaf service-node-id {
				  type unit32;}
				leaf service-link-id {
				  type uint32;}
			  }
			  case svc-tp-type-inet {
			   leaf ip-address inet:ip-addresss;
			  }
			  case svc-tp-type-unnum {
			   leaf unnumbered-id {
			     type uint32;}}
			  }
		  } 
	     
	   
	}
 
	   augment /nw:network/nw:node
      +--rw node-svc-attributes
         +--rw name?        inet:domain-name
         +--rw composite_flag*  flag-type
		 +--rw service-node-id  uint32
		 +--rw node-svc-type service-type
		 +--rw next-hop     [next-hop-id]
	
    augment /nw:network/nw:network-types
	  use service-topology-types
    augment /nw:network/nw:network
	  use service-topology-attributes
	  
    augment /nw:network/nw:node
	  use node-svc-attribute
 
    augment /nw:network/nt:link:
      uses service-link-attributes
 
   augment /nw:network/nw:node/nt:termination-point:
      uses service-termination-point-attributes
  } // module i2rs-service-topology
 <CODE BEGINS>
</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;
      &RFC5511;
	  &I-D.ietf-i2rs-yang-network-topo;
	  &I-D.ietf-i2rs-yang-l3-topology;
    </references>
 </back>
</rfc>

PAFTECH AB 2003-20262026-04-24 04:28:30