4 namespace "urn:opendaylight:vpnservice: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; }
167 /* container for DHCP Configuration */
168 container dhcp-config {
170 leaf lease-duration {
172 description "default lease duration for dhcp lease.
175 leaf default-domain {
177 description "default domain-name. used in dhcp reply";
183 description "Create one or more L3 VPN";
192 description "Status response for createVPN RPC";
197 rpc associateRouter {
198 description "associates a router with L3VPN";
203 description "vpn-id";
208 description "vpn-id";
213 rpc dissociateRouter {
214 description "dissociates a router with L3VPN";
219 description "vpn-id";
224 description "router-id";
229 rpc associateNetworks {
230 description "associates a list of networks with L3VPN";
235 description "vpn-id";
237 leaf-list network-id {
239 description "network-id";
245 description "Status response for associateNetworks RPC";
250 rpc dissociateNetworks{
251 description "dissociates a list of networks with L3VPN";
256 description "vpn-id";
258 leaf-list network-id {
260 description "network-id";
266 description "Status response for dissociateNetworks RPC";
272 description "delete VPNs for specified Id list";
276 description "vpn-id";
282 description "Status response for deleteL3VPN RPC";
288 description "returns VPN configuration";
292 description "vpn-id";
296 list l3vpn-instances {
302 rpc get-fixedIPs-for-neutron-port {
303 description "returns neutron port fixed IPs";
312 description "The neutron port fixedIPs list corresponding to the port uuid";
317 notification subnet-added-to-vpn{
318 description "new subnet added to vpn";
336 notification subnet-deleted-from-vpn{
337 description "subnet deleted from vpn";
355 notification subnet-updated-in-vpn{
356 description "subnet updated in vpn";
374 notification port-added-to-subnet{
375 description "new port added to subnet";
390 notification port-removed-from-subnet{
391 description "port removed from subnet";
406 notification router-associated-to-vpn {
407 description "router association to vpn";
416 notification router-disassociated-from-vpn {
417 description "router disassociation from vpn";