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;}
154 /* container for DHCP Configuration */
155 container dhcp-config {
157 leaf lease-duration {
159 description "default lease duration for dhcp lease.
162 leaf default-domain {
164 description "default domain-name. used in dhcp reply";
170 description "Create one or more L3 VPN";
179 description "Status response for createVPN RPC";
184 rpc associateRouter {
185 description "associates a router with L3VPN";
190 description "vpn-id";
195 description "vpn-id";
200 rpc dissociateRouter {
201 description "dissociates a router with L3VPN";
206 description "vpn-id";
211 description "router-id";
216 rpc associateNetworks {
217 description "associates a list of networks with L3VPN";
222 description "vpn-id";
224 leaf-list network-id {
226 description "network-id";
232 description "Status response for associateNetworks RPC";
237 rpc dissociateNetworks{
238 description "dissociates a list of networks with L3VPN";
243 description "vpn-id";
245 leaf-list network-id {
247 description "network-id";
253 description "Status response for dissociateNetworks RPC";
259 description "delete VPNs for specified Id list";
263 description "vpn-id";
269 description "Status response for deleteL3VPN RPC";
275 description "returns VPN configuration";
279 description "vpn-id";
283 list l3vpn-instances {
289 rpc get-fixedIPs-for-neutron-port {
290 description "returns neutron port fixed IPs";
299 description "The neutron port fixedIPs list corresponding to the port uuid";
304 notification subnet-added-to-vpn{
305 description "new subnet added to vpn";
323 notification subnet-deleted-from-vpn{
324 description "subnet deleted from vpn";
342 notification subnet-updated-in-vpn{
343 description "subnet updated in vpn";
361 notification port-added-to-subnet{
362 description "new port added to subnet";
377 notification port-removed-from-subnet{
378 description "port removed from subnet";