module ietf-isis-topology {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology";
prefix "isis";
import ietf-network {
prefix "nw";
}
import ietf-network-topology {
prefix "nt";
}
import ietf-l3-unicast-igp-topology {
prefix "l3t";
}
organization
"IETF I2RS (Interface to the Routing System) Working Group";
contact
"WG Web:
WG List:
WG Chair: Susan Hares
WG Chair: Jeffrey Haas
Editor: Alexander Clemm
Editor: Jan Medved
Editor: Robert Varga
Editor: Tony Tkacik
Editor: Xufeng Liu
Editor: Igor Bryskin
Editor: Aihua Guo
Editor: Nitin Bahadur
Editor: Hariharan Ananthakrishnan
Editor: Vishnu Pavan Beeram
";
description
"This module defines a model for IS-IS network topologies.
Copyright (c) 2015 IETF Trust and the persons identified as
authors of the code. All rights reserved.
Redistribution and use in source and binary forms, with or
without modification, is permitted pursuant to, and subject
to the license terms contained in, the Simplified BSD License
set forth in Section 4.c of the IETF Trust's Legal Provisions
Relating to IETF Documents
(http://trustee.ietf.org/license-info).
This version of this YANG module is part of
draft-ietf-i2rs-yang-network-topo-02;
see the RFC itself for full legal notices.
NOTE TO RFC EDITOR: Please replace above reference to
draft-ietf-i2rs-yang-network-topo-02 with RFC
number when published (i.e. RFC xxxx).";
revision "2015-12-11" {
description
"Initial revision.
NOTE TO RFC EDITOR: Please replace the following reference
to draft-ietf-i2rs-yang-l3-topology-01 with
RFC number when published (i.e. RFC xxxx).";
reference
"draft-ietf-i2rs-yang-l3-topology-01";
}
typedef iso-system-id {
type string {
pattern '[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}';
}
description
"ISO System ID. RFC 1237";
}
typedef iso-pseudonode-id {
type string {
pattern '[0-9a-fA-F]{2}';
}
description
"ISO pseudonode id for broadcast network";
}
typedef iso-net-id {
type string {
pattern '[0-9a-fA-F]{2}((\.[0-9a-fA-F]{4}){6})';
}
description
"ISO NET ID. RFC 1237";
}
grouping isis-topology-type {
description
"Identifies the ISIS topology type.";
container isis {
presence "Indicates ISIS Topology";
description
"Its presence identifies the ISIS topology type.";
}
}
augment "/nw:networks/nw:network/nw:network-types/"
+"l3t:l3-unicast-igp-topology" {
description
"Defines the ISIS topology type.";
uses isis-topology-type;
}
augment "/nw:networks/nw:network/l3t:igp-topology-attributes" {
when "../nw:network-types/l3t:l3-unicast-igp-topology/isis" {
description
"Augment only for ISIS topology";
}
description
"Augment topology configuration";
container isis-topology-attributes {
description
"Containing topology attributes";
leaf net {
type iso-net-id;
description
"ISO NET ID value";
}
}
}
augment "/nw:networks/nw:network/nw:node/"+
"l3t:igp-node-attributes" {
when "../../nw:network-types/l3t:l3-unicast-igp-topology/isis" {
description
"Augment only for ISIS topology";
}
description
"Augment node configuration";
uses isis-node-attributes;
}
augment "/nw:networks/nw:network/nt:link/l3t:igp-link-attributes" {
when "../../nw:network-types/l3t:l3-unicast-igp-topology/isis" {
description
"Augment only for ISIS topology";
}
description
"Augment link configuration";
uses isis-link-attributes;
}
grouping isis-node-attributes {
description
"ISIS node scope attributes";
container isis-node-attributes {
description
"Containing node attributes";
container iso {
description
"Containing ISO atrributes";
leaf iso-system-id {
type iso-system-id;
description
"ISO system ID";
}
leaf iso-pseudonode-id {
type iso-pseudonode-id;
default "00";
description
"Pseudonode ID";
}
}
leaf-list net {
type iso-net-id;
max-elements 3;
description
"List of ISO NET IDs";
}
leaf-list multi-topology-id {
type uint8 {
range "0..127";
}
max-elements "128";
description
"List of Multi Topology Identifier upto 128 (0-127).
RFC 4915";
}
choice router-type {
description
"Indicates router type";
case level-2 {
leaf level-2 {
type empty;
description
"Level-2 only";
}
}
case level-1 {
leaf level-1 {
type empty;
description
"Level-1 only";
}
}
case level-1-2 {
leaf level-1-2 {
type empty;
description
"Level-1 and Level-2";
}
}
}
}
}
grouping isis-link-attributes {
description
"ISIS link scope attributes";
container isis-link-attributes {
description
"Containing link attributes";
leaf multi-topology-id {
type uint8 {
range "0..127";
}
description
"Multi topology ID";
}
}
}
augment "/l3t:igp-node-event" {
description
"ISIS node event";
uses isis-topology-type;
uses isis-node-attributes;
}
augment "/l3t:igp-link-event" {
description
"ISIS link event";
uses isis-topology-type;
uses isis-link-attributes;
}
}