3 namespace "urn:opendaylight:vpnservice:elan";
6 import ietf-interfaces {
10 import ietf-yang-types {
15 revision "2015-06-02" {
16 description "elan module";
22 container elan-instances {
24 "elan instances configuration parameters.
25 elan instances support both the VLAN and VNI based elans.";
28 max-elements "unbounded";
30 key "elan-instance-name";
32 "Specifies the name of the elan instance. It is a string of 1 to 31
33 case-sensitive characters.";
34 leaf elan-instance-name {
37 "The name of the elan-instance.";
41 description "ELAN unique identifier which is unique across all the tenants. This will be created internally and if provided, the value will be discarded.";
47 description "MAC Table entry ageing time in seconds. A value of 0 will indicate that the MAC will never expire.";
51 "A textual description of elan instance, the elan instance description
52 helps users memorize the elan instance.";
62 * Binding Interfaces to a elan Instance.
64 container elan-interfaces {
66 "elan is enabled on interfaces.";
70 max-elements "unbounded";
74 path "/if:interfaces/if:interface/if:name";
77 leaf elan-instance-name {
81 leaf-list static-mac-entries {
82 type yang:phys-address;
86 "A textual description of elan port, the elan port description
87 helps users memorize the elan port.";
96 /* operational data stores */
97 container elan-state {
100 "operational state of elans.";
104 description "The list of interfaces on the device.";
105 max-elements "unbounded";
110 "The name of the elan-instance.";
112 leaf-list elan-interfaces{
114 path "/if:interfaces/if:interface/if:name";
116 description "Interfaces connected to this elan instance.";
121 grouping forwarding-entries {
122 description "Details of the MAC entries";
126 description "Details of a MAC address";
127 max-elements "unbounded";
131 type yang:phys-address;
136 path "/if:interfaces/if:interface/if:name";
140 leaf controllerLearnedForwardingEntryTimestamp {
144 leaf isStaticAddress {
150 container elan-forwarding-tables {
153 "MAC tables for each elan instance";
156 max-elements "unbounded";
158 key "elan-instance-name";
160 "Specifies the name of the elan instance. It is a string of 1 to 31
161 case-sensitive characters.";
163 leaf elan-instance-name {
166 "The name of the elan-instance.";
169 uses forwarding-entries;
173 container elan-interface-forwarding-entries {
176 list elan-interface-mac {
177 key "elan-interface";
178 description "All the MAC addresses learned on a particular elan interface";
179 max-elements "unbounded";
181 leaf elan-interface {
183 path "/if:interfaces/if:interface/if:name";
187 uses forwarding-entries;
191 container elan-dpn-interfaces {
194 list elan-dpn-interfaces-list {
195 key "elan-instance-name";
196 description "All the dpns of this elan and all the ports of the corresponding dpns";
197 max-elements "unbounded";
200 leaf elan-instance-name {
202 description "The name of the elan-instance.";
205 list dpn-interfaces {
207 description "A DPN in which the elan spans across";
208 max-elements "unbounded";
215 leaf-list interfaces {
217 path "/if:interfaces/if:interface/if:name";
224 container elan-tag-name-map {
236 "The name of the elan-instance.";