3 namespace "urn:opendaylight:genius:itm:op";
7 import ietf-inet-types {
9 revision-date "2013-07-15";
11 import odl-interface {
12 prefix odlif; revision-date "2016-04-06";
16 description "This YANG module defines operation part of the model.";
18 revision "2016-04-06";
20 /* Operational state */
22 identity tep-type-base {
23 description "Base TEP device type";
26 identity tep-type-internal {
28 description "TEP type internal e.g. Compute OVS";
31 identity tep-type-external {
33 description "TEP type external e.g. DC Gateway";
36 identity tep-type-hwvtep {
38 description "TEP type Hwvtep e.g. TOR devices";
45 description "This type is used to refer to an TEP Device Type.";
48 grouping tep-info-attributes {
49 leaf tep-device-type {
55 type string; //dpnid or node-id
58 type inet:ip-address; //dpnid or node-id
62 typedef tunnel-oper-status {
71 container dpn-endpoints {
80 description "Identifier to get to a this DPN, which will be used in programming Egress flows ";
82 range "1..2147483647";
92 /* Minimum 1 port. We may for now support only two ports */
93 list tunnel-end-points {
95 key "ip-address tunnel-type"; /* Multiple tunnels on the same physical port but on different VLAN can be supported */
106 leaf interface-name {
111 base odlif:tunnel-type-base;
114 leaf option-of-tunnel {
115 description "Use flow based tunnels for remote-ip";
119 leaf option-tunnel-tos {
120 description "Value of ToS bits to be set on the encapsulating
121 packet. The value of 'inherit' will copy the DSCP value
122 from inner IPv4 or IPv6 packets. When ToS is given as
123 a numberic value, the least significant two bits will
134 container tunnel-list {
135 list internal-tunnel {
137 key "source-DPN destination-DPN transport-type";
143 leaf destination-DPN {
147 leaf transport-type {
149 base odlif:tunnel-type-base;
153 /* logical-group interface id */
155 leaf-list tunnel-interface-names {
161 container external-tunnel-list {
162 list external-tunnel {
163 key "source-device destination-device transport-type";
166 type string; //dpnid or node-id
169 leaf destination-device {
170 type string; //dpn-id or node-id or ip
173 leaf transport-type {
175 base odlif:tunnel-type-base;
179 /* logical-group interface id */
181 leaf tunnel-interface-name {
188 container tunnels_state {
190 list state-tunnel-list {
191 key "tunnel-interface-name";
193 leaf tunnel-interface-name {
203 leaf oper-state { type tunnel-oper-status; }
206 uses tep-info-attributes;
210 uses tep-info-attributes;
213 leaf transport-type {
215 base odlif:tunnel-type-base;
229 container dpn-teps-state {
238 type inet:ip-address;
243 base odlif:tunnel-type-base;
249 description "Specifies OFTunnel port name when OFTunnel is enabled on ITM Direct Tunnels";
253 /* Remote DPNs to which this DPN-Tep has a tunnel */
255 key "destination-dpn-id";
256 leaf destination-dpn-id {
266 /* This will later be changed to monitor profile id */
267 /* The monitor profile will contain monitoring related params */
268 leaf monitoring-enabled {
272 leaf monitoring-interval {
281 description "represents whether this is an internal or external tunnel.";
287 container monitoring-ref-count {
289 description "The container for maintaing the reference count for monitoring requests
290 between a src and dst DPN pair.";
291 list monitored-tunnels {
292 key "source-dpn destination-dpn";
296 leaf destination-dpn {
299 leaf reference-count {