import ietf-inet-types {
prefix inet;
+ revision-date "2013-07-15";
}
import opendaylight-inventory {
prefix inv; revision-date 2013-08-19;
}
+ import opendaylight-l2-types { prefix ethertype; revision-date "2013-08-27";}
+
import config {
prefix config; revision-date 2013-04-05;
}
reference "MPLS interface";
}
+ /* Tunnel (GRE, VxLAN) logical port */
identity l3tunnel {
status deprecated;
base if:interface-type;
- reference
- "l3 tunnel interface";
+ reference "l3 tunnel interface";
}
- /* Tunnel (GRE, VxLAN) logical port */
identity tunnel-type-base {
description "Base identity for all tunnel-types";
}
base tunnel-type-base;
}
+ identity tunnel-type-mpls-over-gre {
+ description "Tunnel type for mpls over gre tunnels";
+ base tunnel-type-base;
+ }
+
/* base/common properties */
augment "/if:interfaces/if:interface" {
status deprecated;
type string;
description "can be a physical switch port or virtual switch port e.g. neutron port";
}
+
+ list node-identifier {
+ key "topology-id";
+ description "an identifier of the dependant underlying configuration protocol";
+ leaf "topology-id" {
+ type string;
+ description "can be ovsdb configuration protocol";
+ }
+ leaf "node-id" {
+ type string;
+ description "can be hwvtep configuration protocol";
+ }
+ }
}
/* interface type specific properties */
ext:augment-identifier "if-l2vlan";
when "if:type = 'ianaift:l2vlan'";
leaf vlan-id {
- type uint16 {
- range "1..4094";
+ type ethertype:vlan-id;
+ }
+
+ leaf l2vlan-mode {
+ description "The VLAN mode of the L2Vlan Interface.";
+ type enumeration {
+ enum "access" {
+ value 1;
+ description
+ "The VLAN mode access.";
+ }
+ enum "native-tagged" {
+ value 2;
+ description
+ "The VLAN mode native-tagged.";
+ }
+ enum "native-untagged" {
+ value 3;
+ description
+ "The VLAN mode native-untagged.";
+ }
+ enum "trunk" {
+ value 4;
+ description
+ "The VLAN mode trunk.";
+ }
+ enum "trunk-member" {
+ value 5;
+ description
+ "The VLAN mode trunk-member.";
+ }
+ enum "transparent" {
+ value 6;
+ description
+ "The VLAN mode transparent.";
+ }
}
+ default "trunk";
}
}
ext:augment-identifier "if-tunnel";
when "if:type = 'ianaift:tunnel'";
+ leaf internal {
+ type boolean;
+ default "false";
+ description
+ "represents whether this is an internal or external tunnel.";
+ }
+
leaf tunnel-interface-type {
type identityref {
base tunnel-type-base;
type inet:ip-address;
description "gateway IP address";
}
+
+ leaf monitor-enabled {
+ type boolean;
+ default false;
+ }
+
+ leaf monitor-interval {
+ type uint32;
+ default 10000;
+ }
}
augment "/if:interfaces/if:interface" {
base tunnel-type-base;
}
}
+
leaf local-ip {
type inet:ip-address;
description "Local Endpoint IP address";
description "gateway IP address";
}
}
+
/* MPLS logical port */
augment "/if:interfaces/if:interface" {
ext:augment-identifier "if-mpls";
}
}
}
-}
\ No newline at end of file
+}