All Superinterfaces:
org.opendaylight.yangtools.yang.binding.DataRoot

@Generated("mdsal-binding-generator") public interface PathComputationData extends org.opendaylight.yangtools.yang.binding.DataRoot
This module contains the model of Computed Path used in various Path algorithms. Copyright (c)2020 Orange. All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html

This class represents the following YANG schema fragment defined in module path-computation

 module path-computation {
   yang-version 1;
   namespace urn:opendaylight:params:xml:ns:yang:path:computation;
   prefix algo;
   import ietf-inet-types {
     prefix inet;
     revision-date 2013-07-15;
   }
   import graph {
     prefix gr;
     revision-date 2022-07-20;
   }
   revision 2022-03-24 {
   }
   revision 2022-03-10 {
   }
   revision 2020-01-20 {
   }
   typedef computation-status {
     type enumeration {
       enum idle {
         value 0;
       }
       enum in-progress {
         value 1;
       }
       enum active {
         value 2;
       }
       enum completed {
         value 3;
       }
       enum failed {
         value 4;
       }
       enum no-path {
         value 5;
       }
       enum no-source {
         value 6;
       }
       enum no-destination {
         value 7;
       }
       enum equal-endpoints {
         value 8;
       }
     }
   }
   typedef algorithm-type {
     type enumeration {
       enum spf {
         value 0;
       }
       enum cspf {
         value 1;
       }
       enum samcra {
         value 2;
       }
     }
     default spf;
   }
   typedef address-family {
     type enumeration {
       enum ipv4 {
         value 0;
       }
       enum ipv6 {
         value 1;
       }
       enum sr-ipv4 {
         value 2;
       }
       enum sr-ipv6 {
         value 3;
       }
     }
     default ipv4;
   }
   grouping path-constraints {
     leaf metric {
       type uint32;
     }
     leaf te-metric {
       type uint32;
     }
     leaf delay {
       type gr:delay;
     }
     leaf jitter {
       type gr:delay;
     }
     leaf loss {
       type gr:loss;
     }
     leaf admin-group {
       type uint32;
     }
     leaf address-family {
       type address-family;
     }
     leaf class-type {
       type uint8 {
         range 0..7;
       }
     }
     leaf bandwidth {
       type gr:decimal-bandwidth;
     }
     list include-route {
       leaf ipv4 {
         when "../../address-family = 0 or ../../address-family = 2";
         type inet:ipv4-address;
       }
       leaf ipv6 {
         when "../../address-family = 1 or ../../address-family = 3";
         type inet:ipv6-address;
       }
     }
     list exclude-route {
       leaf ipv4 {
         when "../../address-family = 0 or ../../address-family = 2";
         type inet:ipv4-address;
       }
       leaf ipv6 {
         when "../../address-family = 1 or ../../address-family = 3";
         type inet:ipv6-address;
       }
     }
   }
   grouping path-descriptions {
     list path-description {
       leaf ipv4 {
         when "path-constraints/address-family = 0 or path-constraints/address-family = 2";
         type inet:ipv4-address;
       }
       leaf ipv6 {
         when "path-constraints/address-family = 1 or path-constraints/address-family = 3";
         type inet:ipv6-address;
       }
       leaf remote-ipv4 {
         when "path-constraints/address-family = 2";
         type inet:ipv4-address;
       }
       leaf remote-ipv6 {
         when "path-constraints/address-family = 3";
         type inet:ipv6-address;
       }
       leaf sid {
         when "path-constraints/address-family = 2 or path-constraints/address-family = 3";
         type uint32;
       }
     }
   }
   container constrained-path {
     uses path-constraints;
     leaf source {
       type uint64;
     }
     leaf destination {
       type uint64;
     }
     uses path-descriptions;
     leaf status {
       type computation-status;
     }
   }
   rpc get-constrained-path {
     input input {
       leaf graph-name {
         type string;
       }
       leaf source {
         type uint64;
       }
       leaf destination {
         type uint64;
       }
       container constraints {
         uses path-constraints;
       }
       leaf algorithm {
         type algorithm-type;
       }
     }
     output output {
       uses path-descriptions;
       leaf status {
         type computation-status;
       }
       leaf computed-metric {
         type uint32;
       }
       leaf computed-te-metric {
         type uint32;
       }
       leaf computed-delay {
         type gr:delay;
       }
     }
   }
 }
 
  • Method Details

    • getConstrainedPath

      ConstrainedPath getConstrainedPath()
      Return constrainedPath, or null if it is not present.
           
               Computed Path as result of Path Computation Algorithms
           
       
      Returns:
      ConstrainedPath constrainedPath, or null if it is not present.
    • nonnullConstrainedPath

      @NonNull ConstrainedPath nonnullConstrainedPath()
      Return constrainedPath, or an empty instance if it is not present.
      Returns:
      ConstrainedPath constrainedPath, or an empty instance if it is not present.