module ietf-isis-topology {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-isis-topology";
prefix "isist";
import ietf-network {
prefix "nd";
}
import ietf-network-topology {
prefix "lnk";
}
import ietf-l3-unicast-topology {
prefix "l3t";
}
organization
"IETF I2RS (Interface to the Routing System) Working Group";
contact
"WG Web: >
WG List:
WG Chair: Susan Hares
WG Chair: Russ White
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) 2016 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-03;
see the RFC itself for full legal notices.
NOTE TO RFC EDITOR: Please replace above reference to
draft-ietf-i2rs-yang-network-topo-03 with RFC
number when published (i.e. RFC xxxx).";
revision "2016-08-10" {
description
"Initial revision.
NOTE TO RFC EDITOR: Please replace the following reference
to draft-ietf-i2rs-yang-l3-topology-03 with
RFC number when published (i.e. RFC xxxx).";
reference
draft-ietf-i2rs-yang-l3-topology-03;
}
typedef iso-pseudonode-id {
type string {
pattern '[0-9a-fA-F]{2}';
}
description
"ISO pseudonode id for broadcast network.";
}
typedef area-address{
type string {
pattern '[0-9A-Fa-f]{2}\.([0-9A-Fa-f]{4}\.){0,3}';
}
description
"This type defines the area address.";
}
typedef system-id {
type string {
pattern
'[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}\.[0-9A-Fa-f]{4}';
}
description
"This type defines ISIS system id using a pattern;
an example of a system id looks like: 0143.0438.AeF0.";
}
typedef level {
type enumeration {
enum "level-1" {
description
"This enum describes L1 only capability.";
}
enum "level-2" {
description
"This enum describes L2 only capability.";
}
enum "level-all" {
description
"This enum describes both levels (L1 and L2) capability.";
}
}
default "level-all";
description
"This type defines the ISIS level of an object.";
}
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 "/nd:networks/nd:network/nd:network-types/"
+"l3t:l3-unicast-topology" {
description
"Defines the ISIS topology type.";
uses isis-topology-type;
}
augment "/nd:networks/nd:network/l3t:l3-topology-attributes" {
when "../nd:network-types/l3t:l3-unicast-topology/isis" {
description
"Augment only for ISIS topology";
}
description
"Augment topology configuration";
container isis-topology-attributes {
description
"Containing topology attributes";
leaf net {
type area-address;
description
"ISO NET ID value";
}
}
}
augment "/nd:networks/nd:network/nd:node/"+
"l3t:l3-node-attributes" {
when "../../nd:network-types/l3t:l3-unicast-topology/isis" {
description
"Augment only for ISIS topology";
}
description
"Augment node configuration";
uses isis-node-attributes;
}
augment "/nd:networks/nd:network/lnk:link/l3t:l3-link-attributes" {
when "../../nd:network-types/l3t:l3-unicast-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 system-id;
description
"ISO system ID";
}
leaf iso-pseudonode-id {
type iso-pseudonode-id;
default "00";
description
"Pseudonode ID";
}
}
leaf-list net {
type area-address;
max-elements 3;
description
"List of ISO NET IDs";
}
leaf-list multi-topology-id {
type uint16 {
range "0..4095";
}
max-elements "128";
description
"List of Multi Topology Identifier up to 128 (0-127).
RFC 4915";
}
leaf level {
type level;
description "Level 1, Level 2 or Level 1 and 2";
}
}
}
grouping isis-link-attributes {
description
"ISIS link scope attributes";
container isis-link-attributes {
description
"Containing link attributes";
leaf multi-topology-id {
type uint16 {
range "0..4095";
}
description
"Multi topology ID";
}
}
}
augment "/l3t:l3-node-event" {
description
"ISIS node event";
uses isis-topology-type;
uses isis-node-attributes;
}
augment "/l3t:l3-link-event" {
description
"ISIS link event";
uses isis-topology-type;
uses isis-link-attributes;
}
}