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 {
88 description "Identifier to get to a this DPN, which will be used in programming Egress flows ";
90 range "1..2147483647";
100 /* Minimum 1 port. We may for now support only two ports */
101 list tunnel-end-points {
103 key "ip-address tunnel-type"; /* Multiple tunnels on the same physical port but on different VLAN can be supported */
106 type inet:ip-address;
114 leaf interface-name {
119 base odlif:tunnel-type-base;
122 leaf option-of-tunnel {
123 description "Use flow based tunnels for remote-ip";
127 leaf option-tunnel-tos {
128 description "Value of ToS bits to be set on the encapsulating
129 packet. The value of 'inherit' will copy the DSCP value
130 from inner IPv4 or IPv6 packets. When ToS is given as
131 a numberic value, the least significant two bits will
142 container tunnel-list {
143 list internal-tunnel {
145 key "source-DPN destination-DPN transport-type";
151 leaf destination-DPN {
155 leaf transport-type {
157 base odlif:tunnel-type-base;
161 /* logical-group interface id */
163 leaf-list tunnel-interface-names {
169 container external-tunnel-list {
170 list external-tunnel {
171 key "source-device destination-device transport-type";
174 type string; //dpnid or node-id
177 leaf destination-device {
178 type string; //dpn-id or node-id or ip
181 leaf transport-type {
183 base odlif:tunnel-type-base;
187 /* logical-group interface id */
189 leaf tunnel-interface-name {
196 container tunnels_state {
198 list state-tunnel-list {
199 key "tunnel-interface-name";
201 leaf tunnel-interface-name {
211 leaf oper-state { type tunnel-oper-status; }
214 uses tep-info-attributes;
218 uses tep-info-attributes;
221 leaf transport-type {
223 base odlif:tunnel-type-base;
237 container dpn-teps-state {
246 type inet:ip-address;
251 base odlif:tunnel-type-base;
257 description "Specifies OFTunnel port name when OFTunnel is enabled on ITM Direct Tunnels";
261 /* Remote DPNs to which this DPN-Tep has a tunnel */
263 key "destination-dpn-id";
264 leaf destination-dpn-id {
274 /* This will later be changed to monitor profile id */
275 /* The monitor profile will contain monitoring related params */
276 leaf monitoring-enabled {
280 leaf monitoring-interval {
289 description "represents whether this is an internal or external tunnel.";
295 container monitoring-ref-count {
297 description "The container for maintaing the reference count for monitoring requests
298 between a src and dst DPN pair.";
299 list monitored-tunnels {
300 key "source-dpn destination-dpn";
304 leaf destination-dpn {
307 leaf reference-count {