3 namespace "urn:opendaylight:vpnservice:interfacemgr";
7 import ietf-interfaces {
19 import ietf-inet-types {
23 import opendaylight-inventory {
24 prefix inv; revision-date "2013-08-19";
27 revision "2015-03-31" {
28 description "ODL Interface Manager Module";
31 identity stacked-vlan {
32 base if:interface-type;
38 base if:interface-type;
40 "l3 tunnel interface";
44 base if:interface-type;
49 /* l3Tunnel (GRE, VxLAN) logical port */
50 identity tunnel-type-base {
51 description "Base identity for all tunnel-types";
54 identity tunnel-type-vxlan {
55 description "Tunnel type for vxlan tunnels";
56 base tunnel-type-base;
59 identity tunnel-type-gre {
60 description "Tunnel type for gre tunnels";
61 base tunnel-type-base;
64 /* base/common properties */
65 augment "/if:interfaces/if:interface" {
66 ext:augment-identifier "base-ids";
68 type inv:node-connector-id;
69 description "can be a physical switch port or virtual switch port e.g. neutron port";
73 description "Tenant that owns particular interface";
76 type if:interface-ref;
77 description "some interfaces need a reference to parent interface ";
81 /* interface type specific properties */
83 /* VLAN logical port */
84 augment "/if:interfaces/if:interface" {
85 ext:augment-identifier "if-l2vlan";
86 when "if:type = 'ianaift:l2vlan'";
91 must "../base-interface" {
93 "If a vlan-id is defined, a base-interface must
99 /* Q-in-Q logical port */
100 augment "/if:interfaces/if:interface" {
101 ext:augment-identifier "if-stacked-vlan";
102 when "if:type = 'stacked_vlan'";
103 leaf stacked_vlan-id {
107 must "../base-interface" {
109 "If a vlan-id is defined, a base-interface must
115 augment "/if:interfaces/if:interface" {
116 ext:augment-identifier "if-l3tunnel";
117 when "if:type = 'ianaift:l3tunnel'";
121 base tunnel-type-base;
125 type inet:ip-address;
126 description "Local Endpoint IP address";
130 type inet:ip-address;
131 description "Remote Endpoint IP address";
135 type inet:ip-address;
136 description "gateway IP address";
142 /* MPLS logical port */
143 augment "/if:interfaces/if:interface" {
144 ext:augment-identifier "if-mpls";
145 when "if:type = 'mpls'";
146 leaf-list labelStack {