ietf-te-topology-state

This YANG module defines a TE topology state model. Copyright (c) 2020 IETF Trust and the persons identified as authors of the ...

  • Version: 2020-08-06

    ietf-te-topology-state@2020-08-06


    
      module ietf-te-topology-state {
    
        yang-version 1.1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:ietf-te-topology-state";
    
        prefix tet-s;
    
        import ietf-te-types {
          prefix te-types;
          reference
            "RFC 8776: Common YANG Data Types for Traffic Engineering";
    
    
        }
        import ietf-te-topology {
          prefix tet;
          reference
            "RFC 8795: YANG Data Model for Traffic Engineering (TE)
            Topologies";
    
    
        }
        import ietf-network-state {
          prefix nw-s;
          reference
            "RFC 8345: A YANG Data Model for Network Topologies";
    
    
        }
        import ietf-network-topology-state {
          prefix nt-s;
          reference
            "RFC 8345: A YANG Data Model for Network Topologies";
    
    
        }
    
        organization
          "IETF Traffic Engineering Architecture and Signaling (TEAS)
         Working Group";
    
        contact
          "WG Web:   <https://datatracker.ietf.org/wg/teas/>
         WG List:  <mailto:teas@ietf.org>
    
         Editor:   Xufeng Liu
                   <mailto:xufeng.liu.ietf@gmail.com>
    
         Editor:   Igor Bryskin
                   <mailto:i_bryskin@yahoo.com>
    
         Editor:   Vishnu Pavan Beeram
                   <mailto:vbeeram@juniper.net>
    
         Editor:   Tarek Saad
                   <mailto:tsaad@juniper.net>
    
         Editor:   Himanshu Shah
                   <mailto:hshah@ciena.com>
    
         Editor:   Oscar Gonzalez de Dios
                   <mailto:oscar.gonzalezdedios@telefonica.com>";
    
        description
          "This YANG module defines a TE topology state model.
    
         Copyright (c) 2020 IETF Trust and the persons identified as
         authors of the code.  All rights reserved.
    
         Redistribution and use in source and binary forms, with or
         without modification, is permitted pursuant to, and subject to
         the license terms contained in, the Simplified BSD License set
         forth in Section 4.c of the IETF Trust's Legal Provisions
         Relating to IETF Documents
         (https://trustee.ietf.org/license-info).
    
         This version of this YANG module is part of RFC 8795; see the
         RFC itself for full legal notices.";
    
        revision "2020-08-06" {
          description "Initial revision.";
          reference
            "RFC 8795: YANG Data Model for Traffic Engineering (TE)
            Topologies";
    
        }
    
    
        grouping te-node-connectivity-matrix-attributes {
          description
            "Termination point references of a connectivity matrix entry.";
          container from {
            description
              "Reference to a source Link Termination Point (LTP).";
            leaf tp-ref {
              type leafref {
                path "../../../../../../nt-s:termination-point/nt-s:tp-id";
              }
              description
                "Relative reference to a termination point.";
            }
    
            uses te-types:label-set-info;
          }  // container from
    
          container to {
            description
              "Reference to a destination LTP.";
            leaf tp-ref {
              type leafref {
                path "../../../../../../nt-s:termination-point/nt-s:tp-id";
              }
              description
                "Relative reference to a termination point.";
            }
    
            uses te-types:label-set-info;
          }  // container to
    
          uses tet:connectivity-matrix-entry-path-attributes;
        }  // grouping te-node-connectivity-matrix-attributes
    
        grouping te-node-tunnel-termination-point-llc-list {
          description
            "Local Link Connectivity List (LLCL) of a Tunnel Termination
           Point (TTP) on a TE node.";
          list local-link-connectivity {
            key "link-tp-ref";
            description
              "The termination capabilities between the TTP and the LTP.
             This capability information can be used to compute
             the tunnel path.
             The Interface Adjustment Capability Descriptors (IACDs)
             (defined in RFC 6001) on each LTP can be derived from
             this list.";
            reference
              "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions
              for Multi-Layer and Multi-Region Networks (MLN/MRN)";
    
            leaf link-tp-ref {
              type leafref {
                path
                  "../../../../../nt-s:termination-point/nt-s:tp-id";
              }
              description "LTP.";
            }
    
            uses te-types:label-set-info;
    
            uses tet:connectivity-matrix-entry-path-attributes;
          }  // list local-link-connectivity
        }  // grouping te-node-tunnel-termination-point-llc-list
    
        augment /nw-s:networks/nw-s:network/nw-s:network-types {
          description
            "Introduces a new network type for a TE topology.";
          container te-topology {
            presence "Indicates a TE topology";
            description
              "Its presence identifies the TE topology type.";
          }  // container te-topology
        }
    
        augment /nw-s:networks {
          description
            "Augmentation parameters for TE topologies.";
          uses tet:te-topologies-augment;
        }
    
        augment /nw-s:networks/nw-s:network {
          when
            'nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Configuration parameters for a TE topology.";
          uses tet:te-topology-augment;
        }
    
        augment /nw-s:networks/nw-s:network/nw-s:node {
          when
            '../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Configuration parameters for TE at the node level.";
          leaf te-node-id {
            type te-types:te-node-id;
            description
              "The identifier of a node in the TE topology.
             A node is specific to a topology to which it belongs.";
          }
    
          container te {
            must '../te-node-id' {
              description
                "'te-node-id' is mandatory.";
            }
            must
              'count(../nw-s:supporting-node)<=1' {
              description
                "For a node in a TE topology, there cannot be more
               than one supporting node.  If multiple nodes are
               abstracted, the 'underlay-topology' field is used.";
            }
            presence "TE support";
            description "Indicates TE support.";
            uses tet:te-node-augment;
          }  // container te
        }
    
        augment /nw-s:networks/nw-s:network/nt-s:link {
          when
            '../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Configuration parameters for TE at the link level.";
          container te {
            must
              'count(../nt-s:supporting-link)<=1' {
              description
                "For a link in a TE topology, there cannot be more
               than one supporting link.  If one or more link paths are
               abstracted, the underlay is used.";
            }
            presence "TE support";
            description "Indicates TE support.";
            uses tet:te-link-augment;
          }  // container te
        }
    
        augment /nw-s:networks/nw-s:network/nw-s:node/nt-s:termination-point {
          when
            '../../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Configuration parameters for TE at the termination point
           level.";
          uses tet:te-termination-point-augment;
        }
    
        augment /nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/bundle/bundled-links/bundled-link {
          when
            '../../../../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Augmentation for a TE bundled link.";
          leaf src-tp-ref {
            type leafref {
              path "../../../../../nw-s:node[nw-s:node-id = current()/../../../../nt-s:source/nt-s:source-node]/nt-s:termination-point/nt-s:tp-id";
              require-instance true;
            }
            description
              "Reference to another TE termination point on the
             same source node.";
          }
    
          leaf des-tp-ref {
            type leafref {
              path "../../../../../nw-s:node[nw-s:node-id = current()/../../../../nt-s:destination/nt-s:dest-node]/nt-s:termination-point/nt-s:tp-id";
              require-instance true;
            }
            description
              "Reference to another TE termination point on the
             same destination node.";
          }
        }
    
        augment /nw-s:networks/nw-s:network/nw-s:node/te/information-source-entry/connectivity-matrices/connectivity-matrix {
          when
            '../../../../../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Augmentation for the TE node connectivity matrix.";
          uses te-node-connectivity-matrix-attributes;
        }
    
        augment /nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/connectivity-matrices/connectivity-matrix {
          when
            '../../../../../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Augmentation for the TE node connectivity matrix.";
          uses te-node-connectivity-matrix-attributes;
        }
    
        augment /nw-s:networks/nw-s:network/nw-s:node/te/tunnel-termination-point/local-link-connectivities {
          when
            '../../../../nw-s:network-types/tet-s:te-topology' {
            description
              "Augmentation parameters apply only for networks with a
             TE topology type.";
          }
          description
            "Augmentation for TE node TTP LLCs (Local Link
           Connectivities).";
          uses te-node-tunnel-termination-point-llc-list;
        }
      }  // module ietf-te-topology-state
    

© 2023 YumaWorks, Inc. All rights reserved.