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; } } }