3 namespace "urn:opendaylight:vpnservice:elan";
6 import ietf-interfaces {
9 import ietf-inet-types {
11 revision-date "2010-09-24";
13 import ietf-yang-types {
18 revision "2015-06-02" {
19 description "elan module";
25 container elan-instances {
27 "elan instances configuration parameters. Elan instances support both the VLAN and VNI based elans.";
30 max-elements "unbounded";
32 key "elan-instance-name";
34 "Specifies the name of the elan instance. It is a string of 1 to 31
35 case-sensitive characters.";
36 leaf elan-instance-name {
38 description "The name of the elan-instance.";
42 description "ELAN unique identifier which is unique across all the tenants.
43 This will be created internally and if provided, the value will be discarded.";
47 description "Optional. Network identifier. It's mandatory when there are external devices
48 participating in the ELAN";
54 description "MAC Table entry ageing time in seconds.
55 A value of 0 will indicate that the MAC will never expire.";
59 "A textual description of elan instance, the elan instance description
60 helps users memorize the elan instance.";
70 * Binding Interfaces to a elan Instance.
72 container elan-interfaces {
74 "elan is enabled on interfaces.";
78 max-elements "unbounded";
82 path "/if:interfaces/if:interface/if:name";
85 leaf elan-instance-name {
89 leaf-list static-mac-entries {
90 type yang:phys-address;
94 "A textual description of elan port, the elan port description
95 helps users memorize the elan port.";
104 /* operational data stores */
105 container elan-state {
108 "operational state of elans.";
112 description "The list of interfaces on the device.";
113 max-elements "unbounded";
118 "The name of the elan-instance.";
120 leaf-list elan-interfaces{
122 path "/if:interfaces/if:interface/if:name";
124 description "Interfaces connected to this elan instance.";
129 grouping forwarding-entries {
130 description "Details of the MAC entries";
134 description "Details of a MAC address";
135 max-elements "unbounded";
139 type yang:phys-address;
144 path "/if:interfaces/if:interface/if:name";
148 leaf controllerLearnedForwardingEntryTimestamp {
152 leaf isStaticAddress {
158 container elan-forwarding-tables {
161 "MAC tables for each elan instance";
164 max-elements "unbounded";
166 key "elan-instance-name";
168 "Specifies the name of the elan instance. It is a string of 1 to 31
169 case-sensitive characters.";
171 leaf elan-instance-name {
174 "The name of the elan-instance.";
177 uses forwarding-entries;
181 container elan-interface-forwarding-entries {
184 list elan-interface-mac {
185 key "elan-interface";
186 description "All the MAC addresses learned on a particular elan interface";
187 max-elements "unbounded";
189 leaf elan-interface {
191 path "/if:interfaces/if:interface/if:name";
195 uses forwarding-entries;
199 container elan-dpn-interfaces {
202 list elan-dpn-interfaces-list {
203 key "elan-instance-name";
204 description "All the dpns of this elan and all the ports of the corresponding dpns";
205 max-elements "unbounded";
208 leaf elan-instance-name {
210 description "The name of the elan-instance.";
213 list dpn-interfaces {
215 description "A DPN in which the elan spans across";
216 max-elements "unbounded";
223 leaf-list interfaces {
225 path "/if:interfaces/if:interface/if:name";
232 container elan-tag-name-map {
244 "The name of the elan-instance.";