Add RFC8346 models
[mdsal.git] / model / ietf / rfc8346-ietf-l3-unicast-topology-state / src / main / yang / ietf-l3-unicast-topology-state@2018-02-26.yang
1 module ietf-l3-unicast-topology-state {
2   yang-version 1.1;
3   namespace
4     "urn:ietf:params:xml:ns:yang:ietf-l3-unicast-topology-state";
5   prefix "l3t-s";
6   import ietf-network-state {
7     prefix "nw-s";
8   }
9   import ietf-network-topology-state {
10     prefix "nt-s";
11   }
12   import ietf-l3-unicast-topology {
13     prefix "l3t";
14   }
15   organization
16     "IETF I2RS (Interface to the Routing System) Working Group";
17   contact
18     "WG Web:    <https://datatracker.ietf.org/wg/i2rs/>
19      WG List:   <mailto:i2rs@ietf.org>
20      Editor:    Alexander Clemm
21                 <mailto:ludwig@clemm.org>
22      Editor:    Jan Medved
23                 <mailto:jmedved@cisco.com>
24      Editor:    Robert Varga
25                 <mailto:robert.varga@pantheon.tech>
26      Editor:    Xufeng Liu
27                 <mailto:xufeng.liu.ietf@gmail.com>
28      Editor:    Nitin Bahadur
29                 <mailto:nitin_bahadur@yahoo.com>
30      Editor:    Hariharan Ananthakrishnan
31                 <mailto:hari@packetdesign.com>";
32   description
33     "This module defines a model for Layer 3 Unicast topology
34      state, representing topology that either is learned or
35      results from applying topology that has been configured per
36      the 'ietf-l3-unicast-topology' model, mirroring the
37      corresponding data nodes in this model.
38
39      This model mirrors 'ietf-l3-unicast-topology' but contains only
40      read-only state data.  The model is not needed when the
41      underlying implementation infrastructure supports the Network
42      Management Datastore Architecture (NMDA).
43
44      Copyright (c) 2018 IETF Trust and the persons identified as
45      authors of the code.  All rights reserved.
46
47      Redistribution and use in source and binary forms, with or
48      without modification, is permitted pursuant to, and subject
49      to the license terms contained in, the Simplified BSD License
50      set forth in Section 4.c of the IETF Trust's Legal Provisions
51      Relating to IETF Documents
52      (https://trustee.ietf.org/license-info).
53
54      This version of this YANG module is part of RFC 8346;
55      see the RFC itself for full legal notices.";
56   revision "2018-02-26" {
57     description
58       "Initial revision.";
59     reference
60       "RFC 8346: A YANG Data Model for Layer 3 Topologies";
61   }
62   augment "/nw-s:networks/nw-s:network/nw-s:network-types" {
63     description
64       "Introduce new network type for L3 Unicast topology";
65     uses l3t:l3-unicast-topology-type;
66   }
67   augment "/nw-s:networks/nw-s:network" {
68     when "nw-s:network-types/l3t-s:l3-unicast-topology" {
69       description
70         "Augmentation parameters apply only for networks with
71         L3 Unicast topology";
72     }
73     description
74         "L3 Unicast for the network as a whole";
75     uses l3t:l3-topology-attributes;
76   }
77   augment "/nw-s:networks/nw-s:network/nw-s:node" {
78     when "../nw-s:network-types/l3t-s:l3-unicast-topology" {
79       description
80         "Augmentation parameters apply only for networks with
81         L3 Unicast topology";
82     }
83     description
84         "L3 Unicast node-level attributes ";
85     uses l3t:l3-node-attributes;
86   }
87   augment "/nw-s:networks/nw-s:network/nt-s:link" {
88     when "../nw-s:network-types/l3t-s:l3-unicast-topology" {
89       description
90         "Augmentation parameters apply only for networks with
91         L3 Unicast topology";
92     }
93     description
94       "Augments topology link attributes";
95     uses l3t:l3-link-attributes;
96   }
97   augment "/nw-s:networks/nw-s:network/nw-s:node/"
98          +"nt-s:termination-point" {
99     when "../../nw-s:network-types/l3t-s:l3-unicast-topology" {
100       description
101         "Augmentation parameters apply only for networks with
102         L3 Unicast topology";
103     }
104     description "Augments topology termination point configuration";
105     uses l3t:l3-termination-point-attributes;
106   }
107   notification l3-node-event {
108     description
109       "Notification event for L3 node";
110     leaf l3-event-type {
111       type l3t:l3-event-type;
112       description
113         "Event type";
114     }
115     uses nw-s:node-ref;
116     uses l3t:l3-unicast-topology-type;
117     uses l3t:l3-node-attributes;
118   }
119   notification l3-link-event {
120     description
121       "Notification event for L3 link";
122     leaf l3-event-type {
123       type l3t:l3-event-type;
124       description
125         "Event type";
126     }
127     uses nt-s:link-ref;
128     uses l3t:l3-unicast-topology-type;
129     uses l3t:l3-link-attributes;
130   }
131   notification l3-prefix-event {
132     description
133       "Notification event for L3 prefix";
134     leaf l3-event-type {
135       type l3t:l3-event-type;
136       description
137         "Event type";
138     }
139     uses nw-s:node-ref;
140     uses l3t:l3-unicast-topology-type;
141     container prefix {
142       description
143         "Contains L3 prefix attributes";
144       uses l3t:l3-prefix-attributes;
145     }
146   }
147   notification termination-point-event {
148     description
149       "Notification event for L3 termination point";
150     leaf l3-event-type {
151       type l3t:l3-event-type;
152       description
153         "Event type";
154     }
155     uses nt-s:tp-ref;
156     uses l3t:l3-unicast-topology-type;
157     uses l3t:l3-termination-point-attributes;
158   }
159 }