4 namespace "urn:opendaylight:netvirt:neutronvpn";
7 import ietf-yang-types { prefix "yang"; }
9 revision "2015-06-02" {
10 description "Neutron based L3Service Module, provides integration of ODL VPN service with Neutron NSF";
18 description "UUID representing the subnet ";
23 description "Specifies the subnet IP in CIDR format";
28 description "The UUID of the tenant that will own the subnet.";
33 description "UUID representing the network ";
38 description "router to which this subnet belongs";
43 description "VPN to which this subnet belongs";
52 container networkMaps{
58 description "UUID representing the network";
61 leaf-list subnet-id-list {
63 description "List of UUIDs representing the subnets associated to the network";
68 grouping l3vpn-instance{
78 description "VPN name";
83 description "The UUID of the tenant that will own the subnet.";
86 leaf-list route-distinguisher {
89 "configures a route distinguisher (RD) for the VPN instance.
90 Format is ASN:nn or IP-address:nn.";
96 "configures a list of import route target.
97 Format is ASN:nn or IP-address:nn.";
103 "configures a list of export route targets.
104 Format is ASN:nn or IP-address:nn.";
109 description "UUID of router ";
112 leaf-list network-ids {
114 description "UUID representing the network ";
123 description "vpn-id";
127 description "vpn name";
131 description "The UUID of the tenant that will own the subnet.";
136 description "UUID of router ";
138 leaf-list network_ids {
140 description "UUID representing the network ";
145 /* Data models to adhere to restart requirements */
146 container neutron-port-data {
147 list port-fixedip-to-port-name {
149 leaf port-name { type string;}
150 leaf port-fixedip { type string;}
155 container router-interfaces-map {
156 list router-interfaces {
158 leaf router-id { type yang:uuid; }
161 leaf interface-id { type string; }
166 /* container to maintain mapping between neutron router and DPN(s) on which vpn-interfaces for router are present
167 container neutron-router-dpns {
168 list router-dpn-list {
170 leaf router-id { type yang:uuid;}
171 list dpn-vpninterfaces-list {
173 leaf dpn-id { type uint64;}
174 leaf-list vpninterfaces-list { type yang:uuid;}
179 /* container for DHCP Configuration */
180 container dhcp-config {
182 leaf lease-duration {
184 description "default lease duration for dhcp lease.
187 leaf default-domain {
189 description "default domain-name. used in dhcp reply";
195 description "Create one or more L3 VPN";
204 description "Status response for createVPN RPC";
209 rpc associateRouter {
210 description "associates a router with L3VPN";
215 description "vpn-id";
220 description "vpn-id";
225 rpc dissociateRouter {
226 description "dissociates a router with L3VPN";
231 description "vpn-id";
236 description "router-id";
241 rpc associateNetworks {
242 description "associates a list of networks with L3VPN";
247 description "vpn-id";
249 leaf-list network-id {
251 description "network-id";
257 description "Status response for associateNetworks RPC";
262 rpc dissociateNetworks{
263 description "dissociates a list of networks with L3VPN";
268 description "vpn-id";
270 leaf-list network-id {
272 description "network-id";
278 description "Status response for dissociateNetworks RPC";
284 description "delete VPNs for specified Id list";
288 description "vpn-id";
294 description "Status response for deleteL3VPN RPC";
300 description "returns VPN configuration";
304 description "vpn-id";
308 list l3vpn-instances {
314 rpc get-fixedIPs-for-neutron-port {
315 description "returns neutron port fixed IPs";
324 description "The neutron port fixedIPs list corresponding to the port uuid";
329 notification subnet-added-to-vpn{
330 description "new subnet added to vpn";
348 notification subnet-deleted-from-vpn{
349 description "subnet deleted from vpn";
367 notification subnet-updated-in-vpn{
368 description "subnet updated in vpn";
386 notification port-added-to-subnet{
387 description "new port added to subnet";
402 notification port-removed-from-subnet{
403 description "port removed from subnet";
418 notification router-associated-to-vpn {
419 description "router association to vpn";
428 notification router-disassociated-from-vpn {
429 description "router disassociation from vpn";