[email protected] Maven / Gradle / Ivy
module isis-topology {
yang-version 1;
namespace "urn:TBD:params:xml:ns:yang:network:isis-topology";
// replace with IANA namespace when assigned
prefix "isis";
import network-topology {
prefix nt;
revision-date 2013-10-21;
}
import l3-unicast-igp-topology {
prefix igp;
revision-date 2013-10-21;
}
import ted {
prefix ted;
revision-date 2013-10-21;
}
organization "TBD";
contact "TBD";
description "ISIS Topology model";
revision "2013-10-21" {
description "Initial version";
}
typedef iso-system-id {
description "ISO System ID. RFC 1237";
type string {
pattern '[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}';
}
}
typedef iso-pseudonode-id {
description "ISO pseudonode id for broadcast network";
type string {
pattern '[0-9a-fA-F]{2}';
}
}
typedef iso-net-id {
description "ISO NET ID. RFC 1237";
type string {
pattern '[0-9a-fA-F]{2}((\.[0-9a-fA-F]{4}){6})';
}
}
grouping isis-topology-type {
container isis {
presence "Indicates ISIS Topology";
}
}
augment "/nt:network-topology/nt:topology/nt:topology-types/igp:l3-unicast-igp-topology" {
uses isis-topology-type;
}
augment "/nt:network-topology/nt:topology/igp:igp-topology-attributes" {
when "../nt:topology-types/igp:l3-unicast-igp-topology/isis";
container isis-topology-attributes {
leaf net {
type iso-net-id;
}
}
}
augment "/nt:network-topology/nt:topology/nt:node/igp:igp-node-attributes" {
when "../../nt:topology-types/igp:l3-unicast-igp-topology/isis";
uses isis-node-attributes;
}
augment "/nt:network-topology/nt:topology/nt:link/igp:igp-link-attributes" {
when "../../nt:topology-types/igp:l3-unicast-igp-topology/isis";
uses isis-link-attributes;
}
grouping isis-node-attributes {
container isis-node-attributes {
container iso {
leaf iso-system-id {
type iso-system-id;
}
leaf iso-pseudonode-id {
default "00";
type iso-pseudonode-id;
}
}
leaf-list net {
max-elements 3;
type iso-net-id;
}
leaf-list multi-topology-id {
description "List of Multi Topology Identifier upto 128 (0-127). RFC 4915";
max-elements "128";
type uint8 {
range "0..127";
}
}
choice router-type {
case level-2 {
leaf level-2 {
type empty;
}
}
case level-1 {
leaf level-1 {
type empty;
}
}
case level-1-2 {
leaf level-1-2 {
type empty;
}
}
}
container ted {
uses ted:ted-node-attributes;
}
}
}
grouping isis-link-attributes {
container isis-link-attributes {
leaf multi-topology-id {
type uint8 {
range "0..127";
}
}
container ted {
uses ted:ted-link-attributes;
}
}
}
augment "/igp:igp-node-event" {
uses isis-topology-type;
uses isis-node-attributes;
}
augment "/igp:igp-link-event" {
uses isis-topology-type;
uses isis-link-attributes;
}
} // Module isis-topology