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;
28 prefix config; revision-date 2013-04-05;
31 revision "2015-03-31" {
32 description "ODL Interface Manager Module";
35 identity stacked-vlan {
36 base if:interface-type;
42 base if:interface-type;
44 "l3 tunnel interface";
48 base if:interface-type;
53 /* l3Tunnel (GRE, VxLAN) logical port */
54 identity tunnel-type-base {
55 description "Base identity for all tunnel-types";
58 identity tunnel-type-vxlan {
59 description "Tunnel type for vxlan tunnels";
60 base tunnel-type-base;
63 identity tunnel-type-gre {
64 description "Tunnel type for gre tunnels";
65 base tunnel-type-base;
68 identity odl-interface {
69 base "config:service-type";
70 config:java-class "org.opendaylight.vpnservice.interfacemgr.interfaces.IInterfaceManager";
73 /* base/common properties */
74 augment "/if:interfaces/if:interface" {
75 ext:augment-identifier "base-ids";
77 type inv:node-connector-id;
78 description "can be a physical switch port or virtual switch port e.g. neutron port";
82 description "Tenant that owns particular interface";
85 type if:interface-ref;
86 description "some interfaces need a reference to parent interface ";
90 /* interface type specific properties */
92 /* VLAN logical port */
93 augment "/if:interfaces/if:interface" {
94 ext:augment-identifier "if-l2vlan";
95 when "if:type = 'ianaift:l2vlan'";
100 must "../base-interface" {
102 "If a vlan-id is defined, a base-interface must
108 /* Q-in-Q logical port */
109 augment "/if:interfaces/if:interface" {
110 ext:augment-identifier "if-stacked-vlan";
111 when "if:type = 'stacked_vlan'";
112 leaf stacked_vlan-id {
116 must "../base-interface" {
118 "If a vlan-id is defined, a base-interface must
124 augment "/if:interfaces/if:interface" {
125 ext:augment-identifier "if-l3tunnel";
126 when "if:type = 'ianaift:l3tunnel'";
130 base tunnel-type-base;
134 type inet:ip-address;
135 description "Local Endpoint IP address";
139 type inet:ip-address;
140 description "Remote Endpoint IP address";
144 type inet:ip-address;
145 description "gateway IP address";
151 /* MPLS logical port */
152 augment "/if:interfaces/if:interface" {
153 ext:augment-identifier "if-mpls";
154 when "if:type = 'mpls'";
155 leaf-list labelStack {