Internet DRAFT - draft-liu-yang-abstract-te-topo

draft-liu-yang-abstract-te-topo








 Network Working Group                                        Xufeng Liu 
 Internet Draft                                                 Ericsson 
 Intended status: Standards Track                    Vishnu Pavan Beeram 
                                                        Juniper Networks 
                                                         Alexander Clemm 
                                                                   Cisco 
                                                            Igor Bryskin 
                                                               Aihua Guo 
                                                 ADVA Optical Networking 
 Expires: April 27, 2015                                October 27, 2014 
                                         
      
                                           
                  A Yang Data Model for Abstract TE Topologies 
                     draft-liu-yang-abstract-te-topo-00 


 Status of this Memo 

    This Internet-Draft is submitted 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 April 27, 2015. 
         
 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 
      
      
      
      
 Liu, et al              Expires April 27, 2015                 [Page 1] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

    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. 
          
 Abstract 

    This document discusses a YANG data model for Abstract TE 
    Topologies. 

 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 [RFC2119]. 
        

 Table of Contents 

    1. Introduction...................................................2 
    2. Abstract TE Topologies.........................................2 
       2.1. Motivation................................................2 
       2.2. Static vs Fluid Abstract TE Topologies....................4 
    3. Tree Structure.................................................4 
    4. Abstract TE Topology - Yang Module............................10 
    5. Security Considerations.......................................18 
    6. IANA Considerations...........................................18 
    7. References....................................................18 
       7.1. Normative References.....................................18 
       7.2. Informative References...................................19 
    8. Acknowledgments...............................................20 
         
 1. Introduction 

    This document defines a YANG [RFC6020] [RFC6021] module for 
    representing and manipulating Abstract TE topologies. 

 2. Abstract TE Topologies 

 2.1. Motivation 

    Clients of a transport network normally have no visibility into the 
    network's actual Traffic-Engineering (TE) topology and resource 
    availability information. There are numerous reasons for this, such 
    as: 
    
     
      
 Liu, et al              Expires April 27, 2015                 [Page 2] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
        

    Security considerations: network operators are usually reluctant to 
    expose the network's actual topology to its clients; 

    Transport network, generally speaking, is comprised of network 
    elements that belong to a different layer network that the client
    devices. Also the internal network routing and traffic engineering 
    advertisements usually contain proprietary information, which the 
    clients cannot interpret, but discarding of which would lead to 
    incorrect assumptions and decisions. This means that the clients 
    cannot use actual network topology and traffic engineering 
    information even if said information is available; 

    Scalability considerations: clients do not want to know any 
    transport network information that is not related to the services
    provided to the clients. 

    On the other hand the clients need to influence to certain extent on 
    the way the services provided to them are routed across the 
    transport network: some services, for example, need to be as 
    disjoint from each other as possible because they support various 
    network failure protection schemes provisioned in the client layer 
    network; others, on the contrary, need to be co-routed and share 
    fate as much as possible; placement of some services needs to be 
    optimized based on the lowest cost criteria, while other service 
    paths need to be selected  to have best optical signal quality or 
    delay characteristics, and so forth. 

    Different approaches exist to allow for the clients to affect the 
    placement of provided for them services on the transport network 
    under conditions of no visibility into the actual transport network 
    topology and resource availability information. For example, [GMPL-
    UNI] architecture allows for clients signaling their service routing 
    policies/preferences within the service setup and modify messages 
    and mandates the network path computers to honor said 
    policies/preferences during the service path selection. There are 
    also control plane based (e.g. [GMPLS-ENNI]) and SDN architectures 
    that require the network to expose abstract TE topologies. Such 
    topologies are decoupled from the network actual topologies and are 
    provided on per client group/VPN/tenant basis. The abstract TE 
    topologies are supposed to be fully comprehensible by the clients 
    and contain sufficient information for the client path computers to 
    select service paths according to the client policies. The service 
    paths so selected in terms of abstract TE topology elements could be 
    signaled or otherwise conveyed within service setup/modify requests 
    to the transport network system responsible for the service 
    provisioning. 
      
      
      
 Liu, et al              Expires April 27, 2015                 [Page 3] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
        

 2.2. Static vs Fluid Abstract TE Topologies 

    One problem with the abstract TE topologies exposed to the clients 
    is their static nature. The abstract TE topologies are usually 
    manually configured based on the transport network operator 
    policies. This entails tedious error-prone configuration. This also 
    does not allow for the clients to have a say as to how the abstract 
    TE topologies exposed to them should look like, which elements 
    (nodes, links) it should contain, what the parameters (e.g. link 
    bandwidth, SRLGs, etc.) are, and so forth. The problem becomes 
    especially profound in case the clients requirements with respect to
    the abstract TE topologies change over time and/or depend on 
    particular week, day, time of the day, etc. It is highly desirable 
    to have a data model understood and supported by the transport 
    network and all its potential clients that would allow for the 
    clients to dynamically (re-)configure the abstract TE topologies 
    exposed to them in real time. This document introduces a data model 
    written in YANG, that allows for the clients using NETCONF and/or 
    RESTCONF protocols to (re-)configure abstract topologies, retrieve 
    their data state and, thus, to automate the abstract topology 
    manipulation. 

 3. Tree Structure 

    The structure of the groupings in this module are depicted below. 
    Brackets enclose list keys, "rw" means configuration data, "ro" 
    means operational state data, and "?" designates optional nodes. 

    module: abstract-te-topology 
    augment /nt:network-topology/nt:topology/nt:topology-types/l3t:l3-
    unicast-igp-topology: 
       +--rw abstract-te-topology! 
    augment /nt:network-topology/nt:topology/nt:node/nt:termination-
    point/l3t:igp-termination-point-attributes: 
       +--rw abstract-tp-attributes 
          +--rw topo-ref?   leafref 
          +--rw node-ref?   leafref 
    augment /nt:network-topology/nt:topology/nt:node/l3t:igp-node- 
    attributes: 
       +--rw abstract-node-attributes 
          +--rw schedules* [schedule-id] 
          |  +--rw schedule-id          uint32 
          |  +--rw start?               yang:date-and-time 

         
      
 Liu, et al              Expires April 27, 2015                 [Page 4] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

          |  +--rw schedule-duration?   string 
          |  +--rw repeat-interval?     string 
          +--rw is-abstract?           boolean 
          +--rw underlay-topology?     leafref 
          +--rw connectivity-matrix* [id] 
          |  +--rw id                        uint32 
          |  +--rw from-tp 
          |  |  +--rw topo-ref?   leafref 
          |  |  +--rw node-ref?   leafref 
          |  |  +--rw tp-ref?     leafref 
          |  +--rw to-tp 
          |  |  +--rw topo-ref?   leafref 
          |  |  +--rw node-ref?   leafref 
          |  |  +--rw tp-ref?     leafref 
          |  +--rw is-allowed?               boolean     
          |  +--rw information-source?       enumeration 
          |  +--rw credibility-preference?   uint16 
          +--rw ted 
             +--rw te-router-id-ipv4?    inet:ipv4-address 
             +--rw te-router-id-ipv6?    inet:ipv6-address 
             +--rw ipv4-local-address* [ipv4-prefix] 
             |  +--rw ipv4-prefix    inet:ipv4-prefix 
             +--rw ipv6-local-address* [ipv6-prefix] 
             |  +--rw ipv6-prefix      inet:ipv6-prefix 
             |  +--rw prefix-option?   uint8 
             +--rw pcc-capabilities?     pcc-capabilities 
    augment /nt:network-topology/nt:topology/nt:link/l3t:igp-link-
    attributes: 
       +--rw abstract-link-attributes 
          +--rw schedules* [schedule-id] 
          |  +--rw schedule-id          uint32 
          |  +--rw start?               yang:date-and-time 
          |  +--rw schedule-duration?   string 
          |  +--rw repeat-interval?     string 
          +--rw is-abstract?              boolean 
          +--rw server-layer! 
          |  +--rw dynamic?     boolean 
          |  +--rw committed?   boolean 
          +--rw server-path 
          |  +--rw path-element* [path-element-id] 
     
      
      
 Liu, et al              Expires April 27, 2015                 [Page 5] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

          |     +--rw path-element-id    uint32 
          |     +--rw loose?             boolean 
          |     +--rw (element-type)? 
          |        +--:(numbered-link) 
          |        |  +--rw link-ip-address?   inet:ip-address 
          |        +--:(unnumbered-link) 
          |        |  +--rw link-node-id?      uint32 
          |        |  +--rw link-id?           uint32 
          |        +--:(node) 
          |        |  +--rw node-id?           uint32 
          |        +--:(label) 
          |           +--rw label?             uint32 
          +--rw server-backup-path 
          |  +--rw path-element* [path-element-id] 
          |     +--rw path-element-id    uint32 
          |     +--rw loose?             boolean 
          |     +--rw (element-type)? 
          |        +--:(numbered-link) 
          |        |  +--rw link-ip-address?   inet:ip-address 
          |        +--:(unnumbered-link) 
          |        |  +--rw link-node-id?      uint32 
          |        |  +--rw link-id?           uint32 
          |        +--:(node) 
          |        |  +--rw node-id?           uint32 
          |        +--:(label) 
          |           +--rw label?             uint32 
          +--rw server-protection-type?   uint16 
          +--rw server-trail-src 
          |  +--rw topo-ref?   leafref 
          |  +--rw node-ref?   leafref 
          |  +--rw tp-ref?     leafref 
          +--rw server-trail-des 
          |  +--rw topo-ref?   leafref 
          |  +--rw node-ref?   leafref 
          |  +--rw tp-ref?     leafref 
          +--rw ted 
             +--rw link-index?                         uint64 
             +--rw information-source?                 enumeration 
             +--rw credibility-preference?             uint16 
             +--rw admin-status?                       enumeration 
  
      
      
 Liu, et al              Expires April 27, 2015                 [Page 6] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014
         

             +--rw oper-status?                        enumeration 
             +--rw area-id?                            binary 
             +--rw color?                              uint32 
             +--rw max-link-bandwidth?                 decimal64 
             +--rw max-resv-link-bandwidth?            decimal64 
             +--rw unreserved-bandwidth* [priority] 
             |  +--rw priority     uint8 
             |  +--rw bandwidth?   decimal64 
             +--rw te-default-metric?                  uint32 
             +--rw link-protection-type?               enumeration 
             +--rw interface-switching-capabilities* [switching-
                                                            capability] 
             |  +--rw switching-capability   ted:switching-capabilities 
             |  +--rw encoding?              ted:encoding-type 
             |  +--rw max-lsp-bandwidth* [priority] 
             |  |  +--rw priority     uint8 
             |  |  +--rw bandwidth?   decimal64 
             |  +--rw packet-switch-capable 
             |  |  +--rw minimum-lsp-bandwidth?   decimal64 
             |  |  +--rw interface-mtu?           uint16 
             |  +--rw time-division-multiplex-capable 
             |     +--rw minimum-lsp-bandwidth?   decimal64 
             |     +--rw indication?              enumeration 
             +--rw srlg 
                +--rw srlg-values* [srlg-value] 
                   +--rw srlg-value    uint32 
    augment /l3t:igp-node-event: 
       +--ro abstract-te-topology! 
       +--ro abstract-node-attributes 
          +--ro schedules* [schedule-id] 
          |  +--ro schedule-id          uint32 
          |  +--ro start?               yang:date-and-time 
          |  +--ro schedule-duration?   string 
          |  +--ro repeat-interval?     string 
          +--ro is-abstract?           boolean 
          +--ro underlay-topology?     leafref 
          +--ro connectivity-matrix* [id] 
          |  +--ro id                        uint32 
    
      
      
 Liu, et al              Expires April 27, 2015                 [Page 7] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

          |  +--ro from-tp 
          |  |  +--ro topo-ref?   leafref 
          |  |  +--ro node-ref?   leafref 
          |  |  +--ro tp-ref?     leafref 
          |  +--ro to-tp 
          |  |  +--ro topo-ref?   leafref 
          |  |  +--ro node-ref?   leafref 
          |  |  +--ro tp-ref?     leafref 
          |  +--ro is-allowed?               boolean 
          |  +--ro information-source?       enumeration 
          |  +--ro credibility-preference?   uint16 
          +--ro ted 
             +--ro te-router-id-ipv4?    inet:ipv4-address 
             +--ro te-router-id-ipv6?    inet:ipv6-address 
             +--ro ipv4-local-address* [ipv4-prefix] 
             |  +--ro ipv4-prefix    inet:ipv4-prefix 
             +--ro ipv6-local-address* [ipv6-prefix] 
             |  +--ro ipv6-prefix      inet:ipv6-prefix 
             |  +--ro prefix-option?   uint8 
             +--ro pcc-capabilities?     pcc-capabilities 
    augment /l3t:igp-link-event: 
       +--ro abstract-te-topology! 
       +--ro abstract-link-attributes 
          +--ro schedules* [schedule-id] 
          |  +--ro schedule-id          uint32 
          |  +--ro start?               yang:date-and-time 
          |  +--ro schedule-duration?   string 
          |  +--ro repeat-interval?     string 
          +--ro is-abstract?              boolean 
          +--ro server-layer! 
          |  +--ro dynamic?     boolean 
          |  +--ro committed?   boolean 
          +--ro server-path 
          |  +--ro path-element* [path-element-id] 
          |     +--ro path-element-id    uint32 
          |     +--ro loose?             boolean 
          |     +--ro (element-type)? 
          |        +--:(numbered-link) 
          |        |  +--ro link-ip-address?   inet:ip-address 
          |        +--:(unnumbered-link) 
    
      
      
 Liu, et al              Expires April 27, 2015                 [Page 8] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

          |        |  +--ro link-node-id?      uint32 
          |        |  +--ro link-id?           uint32 
          |        +--:(node) 
          |        |  +--ro node-id?           uint32 
          |        +--:(label) 
          |           +--ro label?             uint32 
          +--ro server-backup-path 
          |  +--ro path-element* [path-element-id] 
          |     +--ro path-element-id    uint32 
          |     +--ro loose?             boolean 
          |     +--ro (element-type)? 
          |        +--:(numbered-link) 
          |        |  +--ro link-ip-address?   inet:ip-address 
          |        +--:(unnumbered-link) 
          |        |  +--ro link-node-id?      uint32 
          |        |  +--ro link-id?           uint32 
          |        +--:(node) 
          |        |  +--ro node-id?           uint32 
          |        +--:(label) 
          |           +--ro label?             uint32 
          +--ro server-protection-type?   uint16 
          +--ro server-trail-src 
          |  +--ro topo-ref?   leafref 
          |  +--ro node-ref?   leafref 
          |  +--ro tp-ref?     leafref 
          +--ro server-trail-des 
          |  +--ro topo-ref?   leafref 
          |  +--ro node-ref?   leafref 
          |  +--ro tp-ref?     leafref 
          +--ro ted 
             +--ro link-index?                         uint64 
             +--ro information-source?                 enumeration 
             +--ro credibility-preference?             uint16 
             +--ro admin-status?                       enumeration 
             +--ro oper-status?                        enumeration 
             +--ro area-id?                            binary 
             +--ro color?                              uint32 
             +--ro max-link-bandwidth?                 decimal64 
             +--ro max-resv-link-bandwidth?            decimal64 
             +--ro unreserved-bandwidth* [priority] 
      
      
      
 Liu, et al              Expires April 27, 2015                 [Page 9] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

             |  +--ro priority     uint8 
             |  +--ro bandwidth?   decimal64 
             +--ro te-default-metric?                  uint32 
             +--ro link-protection-type?               enumeration 
             +--ro interface-switching-capabilities* [switching-
                                                             capability] 
             |  +--ro switching-capability    ted:switching-capabilities 
             |  +--ro encoding?               ted:encoding-type 
             |  +--ro max-lsp-bandwidth* [priority] 
             |  |  +--ro priority     uint8 
             |  |  +--ro bandwidth?   decimal64 
             |  +--ro packet-switch-capable 
             |  |  +--ro minimum-lsp-bandwidth?   decimal64 
             |  |  +--ro interface-mtu?           uint16 
             |  +--ro time-division-multiplex-capable 
             |     +--ro minimum-lsp-bandwidth?   decimal64 
             |     +--ro indication?              enumeration 
             +--ro srlg 
                +--ro srlg-values* [srlg-value] 
                   +--ro srlg-value    uint32 
       
         
 4. Abstract TE Topology - Yang Module 

    module abstract-te-topology { 
      yang-version 1; 
      namespace "urn:ietf:params:xml:ns:yang:abstract-te-topology"; 
      // replace with IANA namespace when assigned 
          
      prefix "abst"; 
         
      import ietf-yang-types {  
        prefix "yang";  
      } 
         
      import ietf-inet-types { 
        prefix "inet"; 
      } 
         
      import network-topology { 
        prefix "nt"; 
      
      
      
 Liu, et al              Expires April 27, 2015                [Page 10] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

      } 
         
      import l3-unicast-igp-topology { 
        prefix "l3t"; 
      } 
         
      import ted { 
        prefix "ted"; 
      } 
         
      organization "TBD"; 
      contact "TBD"; 
      description "Abstract topology model"; 
           
      revision "2014-10-27" { 
        description "Initial revision"; 
        reference "TBD"; 
      } 
           
      grouping abstract-te-topology-type { 
        description 
          "Identifies the abstract topology type."; 
        container abstract-te-topology { 
          presence "indicates abstract topology"; 
          description 
            "Its presence identifies the abstract topology type."; 
        } 
      } 
           
      augment "/nt:network-topology/nt:topology/" 
              + "nt:topology-types/l3t:l3-unicast-igp-topology" { 
        description 
          "Defines the abstract topology type."; 
        uses abstract-te-topology-type; 
      } 
           
      grouping te-path-element { 
        description 
          "A group of attributes defining an element in a TE path 
          such as TE node, TE link, TE aotomic resource or label."; 
        leaf loose { 
          type boolean; 
          description "true if the element is loose."; 
        } 
        choice element-type { 
          description "Attributes for various element types."; 
     
      
      
 Liu, et al              Expires April 27, 2015                [Page 11] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

          case numbered-link { 
            leaf link-ip-address { 
              type inet:ip-address; 
              description "IPv4 or IPv6 address."; 
            } 
          } 
          case unnumbered-link { 
            leaf link-node-id { 
              type uint32; 
              description  
                "Node ID of the node where the link end point resides."; 
            } 
            leaf link-id { 
              type uint32; 
              description "Identifies the link end point."; 
            } 
          } 
          case node { 
            leaf node-id { 
              type uint32; 
              description "Identifies the node."; 
            } 
          } 
          case label { 
            leaf label { 
              type uint32; 
              description "Identifies atomic TE resource or label."; 
            } 
          } 
        } 
      } // te-path-element 
           
      grouping config-schedule-attributes { 
        description 
          "A list of schedules defining when a particular  
           configuration takes effect."; 
        list schedules { 
          key "schedule-id"; 
          description "A list of schedule elements."; 
              
          leaf schedule-id { 
            type uint32; 
            description "Identifies the schedule element.";  
          } 
          leaf start { 
            type yang:date-and-time; 
      
      
      
 Liu, et al              Expires April 27, 2015                [Page 12] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

            description "Start time."; 
          } 
          leaf schedule-duration { 
            type string { 
              pattern  
                'P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?T(\d+H)?(\d+M)?(\d+S)?'; 
            } 
            description "Schedule duration in ISO 8601 format."; 
          } 
          leaf repeat-interval { 
            type string { 
              pattern  
                'R\d*/P(\d+Y)?(\d+M)?(\d+W)?(\d+D)?T(\d+H)?(\d+M)?' 
                + '(\d+S)?'; 
            } 
            description "Repeat interval in ISO 8601 format."; 
          } 
        } 
      } 
         
      grouping abstract-node-attributes { 
        description "Node attributes in an abstract topology."; 
        container abstract-node-attributes { 
          description "Node attributes in an abstract topology."; 
          uses config-schedule-attributes; 
          leaf is-abstract { 
            type boolean; 
            description  
              "true if the node is abstract, false when the node is 
              actual."; 
          } 
          leaf underlay-topology { 
            type leafref { 
              path "/nt:network-topology/nt:topology/nt:topology-id"; 
            } 
            description  
              "When an abstract node encapsulates a topology,  
               this reference points to said topology."; 
          } 
          list connectivity-matrix { 
            key "id"; 
            description 
              "Represents node's switching limitations, i.e. limitations 
               in interconnecting network termination points (NTPs) 
               across the node."; 
            leaf id { 
   
      
      
 Liu, et al              Expires April 27, 2015                [Page 13] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

              type uint32; 
              description "Identifies the connectivity-matrix entry."; 
            } 
            container from-tp { 
              uses l3t:tp-ref; 
              description  
                "Reference to source NTP."; 
            } 
            container to-tp { 
              uses l3t:tp-ref; 
              description  
                "Reference to destination NTP."; 
            } 
            leaf is-allowed { 
              type boolean; 
              description 
                "true  - switching is allowed,  
                 false - switching is disallowed."; 
            } 
            leaf information-source { 
              type enumeration { 
                enum "unknown" { 
                  description "The source is unknown"; 
                } 
                enum "locally-configured" { 
                  description "Configured TE link"; 
                } 
                enum "ospfv2" { 
                  description "OSPFv2"; 
                } 
                enum "ospfv3" { 
                  description "OSPFv3"; 
                } 
                enum "isis" { 
                  description "ISIS"; 
                } 
                enum "other" { 
                  description "Other source"; 
                } 
              } 
              description  
                "Indicates the source of the information.";      
            } 
            leaf credibility-preference { 
              type uint16; 
              description 
      
      
      
 Liu, et al              Expires April 27, 2015                [Page 14] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
       

               "The preference value to calculate the traffic  
                engineering database credibility value used for  
                tie-break selection between different  
                information-source values. 
                Higher value is more preferable."; 
            } 
         
          } 
          container ted { 
            description "Includes TE node attributes."; 
            uses ted:ted-node-attributes; 
          } 
        } 
      } // abstract-node-attributes 
             
      grouping abstract-tp-attributes { 
        description  
          "Termination point attributes in an abstract topology."; 
        container abstract-tp-attributes { 
          description  
            "Termination point attributes in an abstract topology."; 
          uses l3t:node-ref; 
        } 
      } // abstract-tp-attributes 
          
      grouping abstract-link-attributes { 
        description  
          "Link attributes in an abstract topology."; 
        container abstract-link-attributes { 
          description "Link attributes in an abstract topology."; 
          uses config-schedule-attributes; 
          leaf is-abstract { 
            type boolean; 
            description "true if the link is abstract."; 
          } 
          container server-layer { 
            presence  
              "Indicates the server layer exists for this link."; 
            description "State of the server layer of this link."; 
         
            leaf dynamic { 
              type boolean; 
              description  
                "true if the server layer is dynamically created."; 
            } 
            leaf committed { 
           
      
 Liu, et al              Expires April 27, 2015                [Page 15] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014   
         

              type boolean; 
              description  
                "true if the server layer is committed."; 
            } 
          } 
          container server-path { 
            description  
              "The service path on the server layer topology that 
               supports this link."; 
            list path-element { 
              key "path-element-id"; 
              description  
                "A list of path elements describing the service path"; 
              leaf path-element-id { 
                type uint32; 
                description "To identify the element in a path."; 
              } 
              uses te-path-element; 
            } 
          } // server-path 
          container server-backup-path { 
            description  
              "The backup service path on the server layer topology that 
               supports this link."; 
            list path-element { 
              key "path-element-id"; 
              description  
                "A list of path elements describing the backup service  
                 path"; 
              leaf path-element-id { 
                type uint32; 
                description "To identify the element in a path."; 
              } 
              uses te-path-element; 
            } 
          } // server-backup-path 
          leaf server-protection-type { 
            type uint16; 
            description 
              "Server layer protection type desired for this link"; 
          } 
          container server-trail-src { 
            uses l3t:tp-ref; 
            description 
              "Source termination point of the server layer trail."; 
          } 
      
      
      
 Liu, et al              Expires April 27, 2015                [Page 16] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

          container server-trail-des { 
            uses l3t:tp-ref; 
            description 
              "Destination termination point of the server layer  
               trail."; 
          } 
          container ted { 
            description "Includes TE link attributes."; 
            uses ted:ted-link-attributes; 
          }       
        } 
      } // abstract-link-attributes 
         
      augment "/nt:network-topology/nt:topology/nt:node/" 
              + "nt:termination-point/" 
              + "l3t:igp-termination-point-attributes" { 
        when "../../../topology-types/abstract-te-topology" { 
          description  
            "The augment is valid only for abstract topology."; 
        } 
        description "Augments attributes on a termination point.";
        uses abstract-tp-attributes; 
      } 
           
      augment "/nt:network-topology/nt:topology/nt:node/" 
              + "l3t:igp-node-attributes" { 
        when "../../topology-types/abstract-te-topology" { 
          description  
            "The augment is valid only for abstract topology."; 
        } 
        description "Augments attributes on a node."; 
        uses abstract-node-attributes; 
      } 
           
      augment "/nt:network-topology/nt:topology/nt:link/" 
              + "l3t:igp-link-attributes" { 
        when "../../topology-types/abstract-te-topology" { 
          description  
            "The augment is valid only for abstract topology."; 
        } 
        description "Augments attributes on a link."; 
        uses abstract-link-attributes; 
      } 
       
      augment "/l3t:igp-node-event" { 
        description "Augments node event."; 
    
      
      
 Liu, et al              Expires April 27, 2015                [Page 17] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014
         

        uses abstract-te-topology-type; 
        uses abst:abstract-node-attributes; 
      } 
          
      augment "/l3t:igp-link-event" { 
        description "Augments link event."; 
        uses abstract-te-topology-type; 
        uses abst:abstract-link-attributes; 
      } 
    } 
         

 5. Security Considerations 

    The protocol used for sending the TE topology data MUST support 
    authentication and SHOULD support encryption.  The data-model by 
    itself does not create any security implications. 

 6. IANA Considerations 

    TBD 

 7. References 

 7.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. 

    [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. 
              Bierman, "Network Configuration Protocol (NETCONF)", RFC 
              6241, June 2011.  

    [RFC2234] Crocker, D. and Overell, P.(Editors), "Augmented BNF for 
              Syntax Specifications: ABNF", RFC 2234, Internet Mail 
              Consortium and Demon Internet Ltd., November 1997. 



      
      
      
 Liu, et al              Expires April 27, 2015                [Page 18] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

    [RFC3471] Berger, L., "Generalized Multi-Protocol Label Switching 
              (GMPLS) Signaling Functional Description", RFC 3471, 
              January 2003. 

    [RFC3811] Nadeau, T. and J. Cucchiara, "Definitions of Textual 
              Conventions (TCs) for Multiprotocol Label Switching (MPLS) 
              Management", RFC 3811, June 2004. 

    [RFC3812] Srinivasan, C., Viswanathan, A., and T. Nadeau, 
              "Multiprotocol Label Switching (MPLS) Traffic Engineering 
              (TE) Management Information Base (MIB)", RFC 3812, June 
              2004. 

    [RFC3813] Srinivasan, C., Viswanathan, A., and T. Nadeau, 
              "Multiprotocol Label Switching (MPLS) Label Switching 
              Router (LSR) Management Information Base (MIB)", RFC 3813, 
              June 2004. 

    [RFC4208] Swallow, G., Drake, J., Ishimatsu, H., and Rekhter, Y., 
              "Generalized Multiprotocol Label Switching (GMPLS) User-
              Network Interface (UNI): Resource ReserVation Protocol-
              Traffic Engineering (RSVP-TE) Support for the Overlay 
              Model", RFC4208, October 2005. 

    [RFC4220] Dubuc, M., Nadeau, T., and Lang, J., " Traffic Engineering 
              Link Management Information Base", RFC 4220, November 
              2005.  

    [RFC4801] Nadeau, T., Ed. and A. Farrel, Ed., "Definitions of 
              Textual Conventions for Multiprotocol Label Switching 
              (MPLS) Management", RFC 4801, February 2007. 

    [RFC4802] Nadeau, T., Ed. and A. Farrel, Ed., "Generalized 
              Multiprotocol Label Switching (GMPLS) Traffic Engineering 
              Management Information Base", RFC 4802, February 2007. 

      
 7.2. Informative References 

    [G.8080]  ITU-T Rec.  G.8080/Y.1304, "Architecture for the 
              Automatically Switched Optical Network (ASON)," November 
              2001 (and Revision, January 2003).  For information on the 
              availability of this document, please see 
              http://www.itu.int. 

    [I-D.clemm-i2rs-yang-network-topo] 
      
      
      
 Liu, et al              Expires April 27, 2015                [Page 19] 



 Internet-Draft      YANG - Abstract TE Topologies          October 2014 
         

               A. Clemm, "A YANG Data Model for Network Topologies", 
               draft-clemm-i2rs-yang-network-topo-01. 

    [I-D.liu-yang-ted] 

               Xufeng Liu, "A Yang module for TED", draft-liu-yang-ted-
               00. 

    [I-D.clemm-i2rs-yang-l3-topo] 

               A. Clemm,"A YANG Data Model for Layer 3 Topologies", 
               draft-clemm-i2rs-yang-l3-topo-00. 

 8. Acknowledgments 
         
    TBD 
         
 Authors' Addresses 

    Xufeng Liu 
    Ericsson 
    Email: Xufeng.liu@ericsson.com 
         
    Vishnu Pavan Beeram 
    Juniper Networks 
    Email: vbeeram@juniper.net 
         
    Alexander Clemm 
    Cisco 
    Email: alex@cisco.com 
         
    Igor Bryskin 
    ADVA Optical Networking 
    Email: ibryskin@advaoptical.com 
         
    Aihua Guo 
    ADVA Optical Networking 
    Email: aguo@advaoptical.com 
         
 Contributors 

    Gert Grammel 
    Juniper Networks 
    Email: ggrammel@juniper.net 
         

      
      
      
 Liu, et al              Expires April 27, 2015                [Page 20] 
 






 Internet-Draft      YANG - Abstract TE Topologies          October 2014