netconfcentral logo

ietf-te-path-computation

HTML

ietf-te-path-computation@2016-10-10



  module ietf-te-path-computation {

    yang-version 1.1;

    namespace
      "urn:ietf:params:xml:ns:yang:ietf-te-path-computation";

    prefix tepc;

    import ietf-inet-types {
      prefix inet;
    }
    import ietf-yang-types {
      prefix yang-types;
    }
    import ietf-network-topology {
      prefix nt;
    }
    import ietf-te {
      prefix te;
    }
    import ietf-te-types {
      prefix te-types;
    }

    organization
      "Traffic Engineering Architecture and Signaling (TEAS)
     Working Group";

    contact
      "WG Web:   <http://tools.ietf.org/wg/teas/>
     WG List:  <mailto:teas@ietf.org>
     WG Chair: Lou Berger
               <mailto:lberger@labn.net>

     WG Chair: Vishnu Pavan Beeram
               <mailto:vbeeram@juniper.net>

   ";

    description
      "YANG model for stateless TE path computation";

    revision "2016-10-10" {
      description "Initial revision";
      reference
        "YANG model for stateless TE path computation";

    }


    feature stateless-path-computation {
      description
        "This feature indicates that the system supports
       stateless path computation.";
    }

    grouping Path {
      description
        "Path is described by an ordered list of TE Links.";
      list _telink {
        key "link-ref";
        config false;
        description "List of telink refs.";
        uses nt:link-ref;
      }  // list _telink

      uses te-types:generic-path-constraints;

      leaf path-id {
        type yang-types:uuid;
        config false;
        description "path-id ref.";
      }
    }  // grouping Path

    grouping PathCompServicePort {
      description
        "Path Computation Service Port grouping.";
      leaf source {
        type inet:ip-address;
        description
          "TE tunnel source address.";
      }

      leaf destination {
        type inet:ip-address;
        description
          "P2P tunnel destination address";
      }

      leaf src-tp-id {
        type binary;
        description
          "TE tunnel source termination point identifier.";
      }

      leaf dst-tp-id {
        type binary;
        description
          "TE tunnel destination termination point
identifier.";
      }

      uses te:bidir-assoc-properties;
    }  // grouping PathCompServicePort

    grouping PathComputationService {
      description
        "Path computation service.";
      leaf-list _path-ref {
        type leafref {
          path "/paths/path/path-id";
        }
        config false;
        description
          "List of previously computed path references.";
      }

      container _servicePort {
        description
          "Path Computation Service Port.";
        uses PathCompServicePort;
      }  // container _servicePort

      uses te-types:generic-path-constraints;

      uses te-types:generic-path-optimization;
    }  // grouping PathComputationService

    grouping synchronization-info {
      description "Information for sync";
      list synchronization {
        key "synchronization-index";
        description "sync list";
        leaf synchronization-index {
          type uint32;
          description "index";
        }

        container svec {
          description
            "Synchronization VECtor";
          leaf relaxable {
            type boolean;
            default 'true';
            description
              "If this leaf is true, path computation process is free
to ignore svec content.
            otherwise it must take into account this svec.";
          }

          leaf link-diverse {
            type boolean;
            default 'false';
            description "link-diverse";
          }

          leaf node-diverse {
            type boolean;
            default 'false';
            description "node-diverse";
          }

          leaf srlg-diverse {
            type boolean;
            default 'false';
            description "srlg-diverse";
          }

          leaf-list request-id-number {
            type uint32;
            description
              "This list reports the set of M path computation requests
that must be synchronized.";
          }
        }  // container svec

        uses te-types:generic-path-constraints;
      }  // list synchronization
    }  // grouping synchronization-info

    grouping no-path-info {
      description "no-path-info";
      container no-path {
        description "no-path container";
      }  // container no-path
    }  // grouping no-path-info

    container paths {
      description
        "Root container for path-computation";
      list path {
        key "path-id";
        config false;
        description
          "List of previous computed paths.";
        uses Path;
      }  // list path
    }  // container paths

    container pathComputationService {
      config false;
      description
        "Service for computing paths.";
      uses PathComputationService;
    }  // container pathComputationService

    augment /te:tunnels-rpc/te:input/te:tunnel-info {
      description
        "statelessComputeP2PPath input";
      list request-list {
        key "request-id-number";
        description "request-list";
        leaf request-id-number {
          type uint32;
          mandatory true;
          description
            "Each path computation request is uniquely
identified by the request-id-number.
          It must be present also in rpcs.";
        }

        list servicePort {
          min-elements 1;
          description
            "List of service ports.";
          uses PathCompServicePort;
        }  // list servicePort

        uses te-types:generic-path-constraints;

        uses te-types:generic-path-optimization;
      }  // list request-list

      uses synchronization-info;
    }

    augment /te:tunnels-rpc/te:output/te:result {
      description
        "statelessComputeP2PPath output";
      list response {
        key "response-index";
        config false;
        description "response";
        leaf response-index {
          type uint32;
          description
            "The list key that has to reuse request-id-number.";
        }

        choice response-type {
          description "response-type";
          case no-path-case {
            uses no-path-info;
          }  // case no-path-case
          container pathCompService {
            description
              "Path computation service.";
            uses PathComputationService;
          }  // container pathCompService
        }  // choice response-type
      }  // list response
    }
  }  // module ietf-te-path-computation

Summary

  
  
Organization Traffic Engineering Architecture and Signaling (TEAS) Working Group
  
Module ietf-te-path-computation
Version 2016-10-10
File ietf-te-path-computation@2016-10-10.yang
  
Prefix tepc
Namespace urn:ietf:params:xml:ns:yang:ietf-te-path-computation
  
Cooked /cookedmodules/ietf-te-path-computation/2016-10-10
YANG /src/ietf-te-path-computation@2016-10-10.yang
XSD /xsd/ietf-te-path-computation@2016-10-10.xsd
  
Abstract YANG model for stateless TE path computation
  
Contact
WG Web:   <http://tools.ietf.org/wg/teas/>
WG List:  <mailto:teas@ietf.org>
WG Chair: Lou Berger
	  <mailto:lberger@labn.net>

WG Chair: Vishnu Pavan Beeram
	  <mailto:vbeeram@juniper.net>

Description

 
YANG model for stateless TE path computation

Groupings

Grouping Objects Abstract
no-path-info no-path no-path-info
Path _telink path-constraintspath-id Path is described by an ordered list of TE Links.
PathCompServicePort source destination src-tp-id dst-tp-id bidirectional Path Computation Service Port grouping.
PathComputationService _path-ref _servicePort path-constraintsoptimizations Path computation service.
synchronization-info synchronization Information for sync

Objects

Type Key
Mandatory config
Optional config
Not config
Object Type Abstract
pathComputationService container Service for computing paths.
   optimizations container The objective function container that includes attributes to impose when computing a TE path
      algorithm choice Optimizations algorithm.
         metric case optimization-metric tiebreakers
            optimization-metric list TE path metric type
               metric-type leaf TE path metric type
               weight leaf TE path metric normalization weight
            tiebreakers container The list of tiebreaker criterion to apply on an equally favored set of paths to pick best
               tiebreaker list The list of tiebreaker criterion to apply on an equally favored set of paths to pick best
                  tiebreaker-type leaf The objective function
         objective-function case objective-function
            objective-function container The objective function container that includes attributes to impose when computing a TE path
               objective-function-type leaf Objective function entry
   path-constraints container TE named path constraints container
      bandwidth-generic container A technology agnostic requested bandwidth to use for path computation
         te-bandwidth container Container that specifies TE bandwidth.
            technology choice Data plane technology type.
               generic case generic
                  generic leaf Bandwidth specified in a generic format.
               lsc case wdm
                  wdm list Bandwidth in Lambda Switch Capable (LSC) networks.
                     slot leaf The value identifies the central frenquency of a frequency slot.
                     spectrum leaf Optical spectrum allocation type.
                     width leaf The slot width is calculated as this value times 12.5 GHz.
               otn case otn
                  otn list Bandwidth in OTN (Optical Transport Network).
                     counter leaf Number of channels.
                     rate-type leaf OTN bit rate types of various information structures.
               psc case psc
                  psc leaf Bandwidth in packet switching networks.
      disjointness leaf The type of resource disjointness.
      hold-priority leaf TE LSP requested hold priority
      path-affinities container Path affinities container
         constraint list List of named affinity constraints
            usage leaf Affinities usage
            value leaf Affinity value
      path-metric-bound list List of TE path metrics
         metric-type leaf TE path metric type
         upper-bound leaf Upper bound on end-to-end TE path metric
      path-srlgs container Path SRLG properties container
         usage leaf SRLG usage
         values leaf-list SRLG value
      setup-priority leaf TE LSP requested setup priority
      signaling-type leaf TE tunnel path signaling type
      topology-id leaf The tunnel path is computed using the specific topology identified by this identifier
   _path-ref leaf-list List of previously computed path references.
   _servicePort container Path Computation Service Port.
      bidirectional container TE tunnel associated bidirectional attributes.
         association container Tunnel bidirectional association properties
            global-source leaf The TE tunnel association global source.
            id leaf The TE tunnel association identifier.
            provisioning leaf Describes the provisioning model of the associated bidirectional LSP
            source leaf The TE tunnel association source.
            type leaf The TE tunnel association type.
      destination leaf P2P tunnel destination address
      dst-tp-id leaf TE tunnel destination termination point identifier.
      source leaf TE tunnel source address.
      src-tp-id leaf TE tunnel source termination point identifier.
paths container Root container for path-computation
   path list List of previous computed paths.
      path-constraints container TE named path constraints container
         bandwidth-generic container A technology agnostic requested bandwidth to use for path computation
            te-bandwidth container Container that specifies TE bandwidth.
               technology choice Data plane technology type.
                  generic case generic
                     generic leaf Bandwidth specified in a generic format.
                  lsc case wdm
                     wdm list Bandwidth in Lambda Switch Capable (LSC) networks.
                        slot leaf The value identifies the central frenquency of a frequency slot.
                        spectrum leaf Optical spectrum allocation type.
                        width leaf The slot width is calculated as this value times 12.5 GHz.
                  otn case otn
                     otn list Bandwidth in OTN (Optical Transport Network).
                        counter leaf Number of channels.
                        rate-type leaf OTN bit rate types of various information structures.
                  psc case psc
                     psc leaf Bandwidth in packet switching networks.
         disjointness leaf The type of resource disjointness.
         hold-priority leaf TE LSP requested hold priority
         path-affinities container Path affinities container
            constraint list List of named affinity constraints
               usage leaf Affinities usage
               value leaf Affinity value
         path-metric-bound list List of TE path metrics
            metric-type leaf TE path metric type
            upper-bound leaf Upper bound on end-to-end TE path metric
         path-srlgs container Path SRLG properties container
            usage leaf SRLG usage
            values leaf-list SRLG value
         setup-priority leaf TE LSP requested setup priority
         signaling-type leaf TE tunnel path signaling type
         topology-id leaf The tunnel path is computed using the specific topology identified by this identifier
      path-id leaf path-id ref.
      _telink list List of telink refs.
         link-ref leaf A type for an absolute reference a link instance. (This type should not be used for relative references. In such a case, a relative path should be used instead.)
         network-ref leaf Used to reference a network, for example an underlay network.