3 namespace "urn:opendaylight:vpnservice:interfacemgr";
7 import ietf-interfaces {
14 import ietf-inet-types {
17 revision "2015-03-31" {
18 description "ODL Interface Manager Module";
21 identity stacked-vlan {
22 base if:interface-type;
28 base if:interface-type;
30 "l3 tunnel interface";
34 base if:interface-type;
39 /* l3Tunnel (GRE, VxLAN) logical port */
40 identity tunnel-type-base {
41 description "Base identity for all tunnel-types";
44 identity tunnel-type-vxlan {
45 description "Tunnel type for vxlan tunnels";
46 base tunnel-type-base;
49 identity tunnel-type-gre {
50 description "Tunnel type for gre tunnels";
51 base tunnel-type-base;
54 /* base/common properties */
55 augment "/if:interfaces/if:interface" {
58 description "can be a physical switch port or virtual switch port e.g. neutron port";
62 description "Tenant that owns particular interface";
65 type if:interface-ref;
66 description "some interfaces need a reference to parent interface ";
70 /* interface type specific properties */
72 /* VLAN logical port */
73 augment "/if:interfaces/if:interface" {
74 when "if:type = 'ianaift:l2vlan'";
79 must "../base-interface" {
81 "If a vlan-id is defined, a base-interface must
87 /* Q-in-Q logical port */
88 augment "/if:interfaces/if:interface" {
89 when "if:type = 'stacked_vlan'";
90 leaf stacked_vlan-id {
94 must "../base-interface" {
96 "If a vlan-id is defined, a base-interface must
102 augment "/if:interfaces/if:interface" {
103 when "if:type = 'ianaift:l3tunnel'";
107 base tunnel-type-base;
111 type inet:ip-address;
112 description "Local Endpoint IP address";
116 type inet:ip-address;
117 description "Remote Endpoint IP address";
121 type inet:ip-address;
122 description "gateway IP address";
128 /* MPLS logical port */
129 augment "/if:interfaces/if:interface" {
130 when "if:type = 'mpls'";
131 leaf-list labelStack {