1 module l3-unicast-igp-topology {
3 namespace "urn:TBD:params:xml:ns:yang:nt:l3-unicast-igp-topology";
4 // replace with IANA namespace when assigned
6 import network-topology {
10 import ietf-inet-types {
17 revision "2013-07-12" {
18 description "Initial revision";
22 typedef igp-event-type {
23 description "IGP Event type for notifications";
27 description "An IGP node or link or prefix or termination-point has been added";
31 description "An IGP node or link or prefix or termination-point has been removed";
35 description "An IGP node or link or prefix or termination-point has been updated";
40 identity flag-identity {
41 description "Base type for flags";
43 identity undefined-flag {
53 grouping igp-prefix-attributes {
65 grouping l3-unicast-igp-topology-type {
66 container l3-unicast-igp-topology {
67 presence "indicates L3 Unicast IGP Topology";
71 grouping igp-topology-attributes {
72 container igp-topology-attributes {
74 description "Name of the topology";
78 description "Topology flags";
84 grouping igp-node-attributes {
85 container igp-node-attributes {
87 description "Node name";
88 type inet:domain-name;
91 description "Node operational flags";
96 description "Router-id for the node";
102 uses igp-prefix-attributes;
107 grouping igp-link-attributes {
108 container igp-link-attributes {
110 description "Link Name";
114 description "Link flags";
118 description "Link Metric";
120 range "0..16777215" {
123 // OSPF/ISIS supports max 3 byte metric.
124 // Ideally we would like this restriction to be
125 // defined in the derived models, however,
126 // we are not allowed to augment a "must" statement.
131 } // grouping igp-link-attributes
133 grouping igp-termination-point-attributes {
134 container igp-termination-point-attributes {
135 choice termination-point-type {
137 leaf-list ip-address {
138 description "IPv4 or IPv6 address";
139 type inet:ip-address;
144 description "Unnumbered interface identifier";
150 } // grouping igp-termination-point-attributes
153 augment "/nt:network-topology/nt:topology/nt:topology-types" {
154 uses l3-unicast-igp-topology-type;
158 augment "/nt:network-topology/nt:topology" {
159 when "topology-types/l3-unicast-igp-topology";
160 uses igp-topology-attributes;
163 augment "/nt:network-topology/nt:topology/nt:node" {
164 when "../../topology-types/l3-unicast-igp-topology";
165 uses igp-node-attributes;
169 augment "/nt:network-topology/nt:topology/nt:link" {
170 when "../../topology-types/l3-unicast-igp-topology";
171 uses igp-link-attributes;
173 augment "/nt:network-topology/nt:topology/nt:node/nt:termination-point" {
174 when "../../topology-types/l3-unicast-igp-topology";
175 uses igp-termination-point-attributes;
178 notification igp-node-event {
179 leaf igp-event-type {
183 type nt:topology-ref;
185 uses l3-unicast-igp-topology-type;
186 uses nt:node-attributes;
187 uses igp-node-attributes;
190 notification igp-link-event {
191 leaf igp-event-type {
195 type nt:topology-ref;
197 uses l3-unicast-igp-topology-type;
198 uses nt:link-attributes;
199 uses igp-link-attributes;
202 notification igp-prefix-event {
203 leaf igp-event-type {
207 type nt:topology-ref;
212 uses l3-unicast-igp-topology-type;
214 uses igp-prefix-attributes;
218 notification termination-point-event {
219 leaf igp-event-type {
223 type nt:topology-ref;
228 uses l3-unicast-igp-topology-type;
229 uses nt:tp-attributes;
230 uses igp-termination-point-attributes;