3 namespace "urn:opendaylight:genius:itm:op";
7 import ietf-interfaces {
11 import ietf-yang-types {
15 import ietf-inet-types {
17 revision-date "2013-07-15";
19 import odl-interface {
20 prefix odlif; revision-date "2016-04-06";
24 description "This YANG module defines operation part of the model.";
26 revision "2016-04-06";
28 /* Operational state */
30 identity tep-type-base {
31 description "Base TEP device type";
34 identity tep-type-internal {
36 description "TEP type internal e.g. Compute OVS";
39 identity tep-type-external {
41 description "TEP type external e.g. DC Gateway";
44 identity tep-type-hwvtep {
46 description "TEP type Hwvtep e.g. TOR devices";
53 description "This type is used to refer to an TEP Device Type.";
56 grouping tep-info-attributes {
57 leaf tep-device-type {
63 type string; //dpnid or node-id
66 type inet:ip-address; //dpnid or node-id
70 typedef tunnel-oper-status {
79 container dpn-endpoints {
92 /* Minimum 1 port. We may for now support only two ports */
93 list tunnel-end-points {
95 key "portname VLAN-ID ip-address tunnel-type"; /* Multiple tunnels on the same physical port but on different VLAN can be supported */
106 type inet:ip-address;
114 type inet:ip-address;
122 leaf interface-name {
127 base odlif:tunnel-type-base;
130 leaf option-of-tunnel {
131 description "Use flow based tunnels for remote-ip";
135 leaf option-tunnel-tos {
136 description "Value of ToS bits to be set on the encapsulating
137 packet. The value of 'inherit' will copy the DSCP value
138 from inner IPv4 or IPv6 packets. When ToS is given as
139 a numberic value, the least significant two bits will
150 container tunnel-list {
151 list internal-tunnel {
153 key "source-DPN destination-DPN transport-type";
159 leaf destination-DPN {
163 leaf transport-type {
165 base odlif:tunnel-type-base;
169 /* logical-group interface id */
171 leaf-list tunnel-interface-names {
177 container external-tunnel-list {
178 list external-tunnel {
179 key "source-device destination-device transport-type";
182 type string; //dpnid or node-id
185 leaf destination-device {
186 type string; //dpn-id or node-id or ip
189 leaf transport-type {
191 base odlif:tunnel-type-base;
195 /* logical-group interface id */
197 leaf tunnel-interface-name {
204 container tunnels_state {
206 list state-tunnel-list {
207 key "tunnel-interface-name";
209 leaf tunnel-interface-name {
219 leaf oper-state { type tunnel-oper-status; }
222 uses tep-info-attributes;
226 uses tep-info-attributes;
229 leaf transport-type {
231 base odlif:tunnel-type-base;
245 container dpn-teps-state {
254 type inet:ip-address;
259 base odlif:tunnel-type-base;
265 description "Specifies OFTunnel port name when OFTunnel is enabled on ITM Direct Tunnels";
269 /* Remote DPNs to which this DPN-Tep has a tunnel */
271 key "destination-dpn-id";
272 leaf destination-dpn-id {
282 /* This will later be changed to monitor profile id */
283 /* The monitor profile will contain monitoring related params */
284 leaf monitoring-enabled {
288 leaf monitoring-interval {
297 description "represents whether this is an internal or external tunnel.";
303 container monitoring-ref-count {
305 description "The container for maintaing the reference count for monitoring requests
306 between a src and dst DPN pair.";
307 list monitored-tunnels {
308 key "source-dpn destination-dpn";
312 leaf destination-dpn {
315 leaf reference-count {