All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

There is a newer version: 0.22.6
Show newest version
module ted {
  yang-version 1;
  namespace "urn:TBD:params:xml:ns:yang:network:ted";
  // replace with IANA namespace when assigned
  prefix ted;

  import ietf-inet-types {
    prefix inet;
    revision-date 2013-07-15;
  }

  organization "TBD";
  contact
    "TBD";
  description
    "Helper module to hold TED attributes for OSPF/ISIS";

  revision 2013-10-21 {

    description
      "Initial revision";
  }

  typedef switching-capabilities {
    description
      "Switching Capabilities of an interface.";
    reference
      "RFC 5307: IS-IS Extensions in Support of Generalized
       Multi-Protocol Label Switching (GMPLS)";
    type enumeration {
      enum "PSC-1" {
        description
          "Packet-Switch Capable-1 (PSC-1)";
        value 1;
      }
      enum "PSC-2" {
        description
          "Packet-Switch Capable-2 (PSC-2)";
        value 2;
      }
      enum "PSC-3" {
        description
          "Packet-Switch Capable-3 (PSC-3)";
        value 3;
      }
      enum "PSC-4" {
        description
          "Packet-Switch Capable-4 (PSC-4)";
        value 4;
      }
      enum "L2SC" {
        description
          "Layer-2 Switch Capable (L2SC)";
        value 51;
      }
      enum "TDM" {
        description
          "Time-Division-Multiplex Capable (TDM)";
        value 100;
      }
      enum "LSC" {
        description
          "Lambda-Switch Capable (LSC)";
        value 150;
      }
      enum "FSC" {
        description

          "Fiber-Switch Capable (FSC)";
        value 200;
      }
    }
  }

  typedef pcc-capabilities {
    description
      "Path Computation Capabilities.";
    reference
      "RFC 5088, draft-ietf-pce-disco-protoc-isis-07.txt
       OSPF/ISIS Protocol Extensions for Path Computation Element (PCE) Discovery.";
    type bits {
      bit path-computation-with-gmpls-link-constraints {
        position 0;
      }
      bit bidirectional-path-computation {
        position 1;
      }
      bit diverse-path-computation {
        position 2;
      }
      bit load-balanced-path-computation {
        position 3;
      }
      bit synchronized-path-computation {
        position 4;
      }
      bit support-for-multiple-objective-functions {
        position 5;
      }
      bit support-for-additive-path-constraints {
        position 6;
      }
      bit support-for-request-prioritization {
        position 7;
      }
      bit support-for-multiple-requests-per-message {
        position 8;
      }
    }
  }

  grouping ted-node-attributes {
    description
      "Identifier to uniquely identify a node in TED";
    reference "RFC 5305, RFC 6119: IPv6 Traffic Engineering in IS-IS/OSPF";
    leaf te-router-id-ipv4 {

      description
        "Globally unique IPv4 Traffic Engineering Router ID.";
      type inet:ipv4-address;
    }
    leaf te-router-id-ipv6 {
      description
        "Globally unique IPv6 Traffic Engineering Router ID";
      type inet:ipv6-address;
    }
    list ipv4-local-address {
      description
        "List of IPv4 Local Address(OSPF). RFC 5786";
      key "ipv4-prefix";
      leaf ipv4-prefix {
        description
          "Local IPv4 address for the node";
        type inet:ipv4-prefix;
      }
    }
    list ipv6-local-address {
      description
        "List of IPv6 Local Address.";
      reference
        "RFC 5786: Advertising a Router's Local Addresses
         in OSPF Traffic Engineering (TE) Extensions";
      key "ipv6-prefix";
      leaf ipv6-prefix {
        description
          "Local IPv6 address for the node";
        type inet:ipv6-prefix;
      }
      leaf prefix-option {
        description
          "IPv6 prefix option.";
        type uint8;
      }
    }
    leaf pcc-capabilities {
      description
        "OSPF/ISIS PCC capabilities";
      type pcc-capabilities;
    }
  }

  grouping ted-link-attributes {
    description
      "TED Attributes associated with the link.";
    reference "RFC 3630, RFC 3784: IS-IS / OSPF Traffic Engineering (TE)";

    leaf color {
      description
        "Administrative group or color of the link";
      type uint32;
    }
    leaf max-link-bandwidth {
      description
        "Maximum bandwidth that can be see on this link in this direction. Units in bytes per second";
      type decimal64 {
        fraction-digits 2;
      }
    }
    leaf max-resv-link-bandwidth {
      description
        "Maximum amount of bandwidth that can be reserved in this direction in this link. Units in bytes per second";
      type decimal64 {
        fraction-digits 2;
      }
    }
    list unreserved-bandwidth {
      description
        "Unreserved bandwidth for 0-7 priority levels. Units in bytes per second";
      max-elements "8";
      key "priority";
      leaf priority {
        type uint8 {
          range "0..7";
        }
      }
      leaf bandwidth {
        description
          "Unreserved bandwidth for this level";
        type decimal64 {
          fraction-digits 2;
        }
      }
    }
    leaf te-default-metric {
      description
        "Traffic Engineering Metric";
      type uint32;
    }
    container srlg {
      description
        "Shared Risk Link Group Attributes";
      uses srlg-attributes;
    }
  }

  grouping srlg-attributes {
    description
      "Shared Risk Link Group Attributes";
    reference
      "RFC 5307, RFC 4203: ISIS / OSPF Extensions in Support of
       Generalized Multi-Protocol Label Switching (GMPLS)";
    list interface-switching-capabilities {
      description
        "List of interface capabilities for this interface";
      key "switching-capability";
      leaf switching-capability {
        description
          "Switching Capability for this interface";
        type ted:switching-capabilities;
      }
      leaf encoding {
        description
          "Encoding supported by this interface";
        type uint8;
      }
      list max-lsp-bandwidth {
        description
          "Maximum LSP Bandwidth at priorities 0-7";
        max-elements "8";
        key "priority";
        leaf priority {
          type uint8 {
            range "0..7";
          }
        }
        leaf bandwidth {
          description
            "Max LSP Bandwidth for this level";
          type decimal64 {
            fraction-digits 2;
          }
        }
      }
      container packet-switch-capable {
        when "../switching-capability = PSC-1 or ../switching-capability = PSC-2 or ../switching-capability = PSC-3 or ../switching-capability = PSC-4";
        description
          "Interface has packet-switching capabilities";
        leaf minimum-lsp-bandwidth {
          description
            "Minimum LSP Bandwidth. Units in bytes per second";
          type decimal64 {
            fraction-digits 2;
          }

        }
        leaf interface-mtu {
          description
            "Interface MTU";
          type uint16;
        }
      }
      container time-division-multiplex-capable {
        when "../switching-capability = TDM";
        description
          "Interface has time-division multiplex capabilities";
        leaf minimum-lsp-bandwidth {
          description
            "Minimum LSP Bandwidth. Units in bytes per second";
          type decimal64 {
            fraction-digits 2;
          }
        }
        leaf indication {
          description
            "Indication whether the interface supports Standard or Arbitrary SONET/SDH";
          type uint16;
        }
      }
    }
    list srlg-values {
      description
        "List of Shared Risk Link Group this interface belongs to.";
      key "srlg-value";
      leaf srlg-value {
        description
          "Shared Risk Link Group value";
        type uint32;
      }
    }
    leaf link-protection-type {
      description
        "Link Protection Type desired for this link";
      type uint16;
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy