2 namespace "urn:opendaylight:l3vpn";
5 import l3vpn { prefix l3vpn; revision-date "2014-08-15"; }
6 import ietf-interfaces { prefix if; }
7 import iana-if-type { prefix ianaift; }
8 import ietf-inet-types { prefix inet; }
9 import opendaylight-inventory { prefix inv; revision-date "2013-08-19"; }
11 revision "2013-09-11" {
12 description "L3 VPN Service module";
15 grouping next-hop-list{
18 leaf nextHopId { type uint32;}
19 leaf ip_address {type string;}
20 leaf label {type uint32;} /* optional */
21 leaf mac_address {type string;} /* optional */
28 leaf nextHopId { type uint32;}
29 leaf dst_prefix {type inet:ipv4-prefix;}
30 leaf label {type uint32;} /* optional */
34 augment "/l3vpn:vpn-interfaces/l3vpn:vpn-interface" {
38 augment "/l3vpn:vpn-instances/l3vpn:vpn-instance" {
42 augment "/if:interfaces/if:interface" {
43 leaf portId { type inv:node-connector-id; }
46 identity tunnel-type-base {
47 description "Base identity for all tunnel-types";
50 identity tunnel-type-vxlan {
51 description "Tunnel type for vxlan tunnels";
52 base tunnel-type-base;
55 identity tunnel-type-gre {
56 description "Tunnel type for gre tunnels";
57 base tunnel-type-base;
60 grouping tunnel-type-attributes {
61 description "Common leaf for expressing tunnel-type";
64 base tunnel-type-base;
69 grouping tunnel-endpoint {
71 "Tunnel Endpoint: IP address and L4 port";
74 description "Local Endpoint IP address";
78 description "Remote Endpoint IP address";
81 type inet:port-number;
82 description "Data-plane port number";
86 augment "/if:interfaces/if:interface" {
87 when "if:type = ianaift:tunnel";
88 uses tunnel-type-attributes;
92 augment "/if:interfaces/if:interface" {
93 when "if:type = ianaift:l2vlan";
98 description "VLAN Id to be used in VLAN Tag";