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 "The UUID of the tenant that will own the subnet.";
28 description "UUID representing the network ";
33 description "router to which this subnet belongs";
38 description "VPN to which this subnet belongs";
47 container networkMaps{
53 description "UUID representing the network";
56 leaf-list subnet-id-list {
58 description "List of UUIDs representing the subnets associated to the network";
63 grouping l3vpn-instance{
73 description "VPN name";
78 description "The UUID of the tenant that will own the subnet.";
81 leaf-list route-distinguisher {
84 "configures a route distinguisher (RD) for the VPN instance.
85 Format is ASN:nn or IP-address:nn.";
91 "configures a list of import route target.
92 Format is ASN:nn or IP-address:nn.";
98 "configures a list of export route targets.
99 Format is ASN:nn or IP-address:nn.";
104 description "UUID of router ";
107 leaf-list network-ids {
109 description "UUID representing the network ";
118 description "vpn-id";
122 description "vpn name";
126 description "The UUID of the tenant that will own the subnet.";
131 description "UUID of router ";
133 leaf-list network_ids {
135 description "UUID representing the network ";
140 /* Data models to adhere to restart requirements */
141 container neutron-port-data {
142 list port-name-to-port-uuid {
144 leaf port-id { type yang:uuid;}
145 leaf port-name { type string;}
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 {