module unimgr-dhcp {
namespace "urn:opendaylight:unimgr:unimgr-dhcp";
prefix "unimgr-dhcp";
-
- import dhcp_allocation_pool {
- prefix dhcp;
- }
+
+ import ietf-inet-types { prefix inet; revision-date "2013-07-15"; }
+ import ietf-yang-types { prefix yang; }
+ import mef-types { prefix mef-types; }
revision "2016-12-14" {
description "It provides required datastore containers to handle DHCP requests
coming from access or external tunnel ports";
}
-
container unimgr-dhcp {
config true;
description "contains non-neutron DHCP allocation";
- list network {
- key "network-id";
- leaf network-id {
- description "unimgr network id";
- type string;
+ list unimgr-services {
+ key "svc-id";
+ leaf svc-id {
+ description "unimgr service id";
+ type mef-types:retail-svc-id-type;
+ }
+
+ list network {
+ key "network-id";
+ leaf network-id {
+ description "unimgr network id";
+ type string;
+ }
+
+ list unimgr-allocations {
+ key "subnet";
+ leaf subnet {
+ description "subnet for the dhcp to allocate ip addresses";
+ type inet:ip-prefix;
+ }
+
+ list unimgr-allocation-instance {
+ key "mac";
+ leaf mac {
+ description "requesting mac";
+ type yang:phys-address;
+ }
+ leaf allocated-ip {
+ description "allocated ip address";
+ type inet:ip-address;
+ }
+ }
+ }
+
+ list unimgr-allocation-pool {
+ key "subnet";
+ leaf subnet {
+ description "subnet for the dhcp to allocate ip addresses";
+ type inet:ip-prefix;
+ }
+ leaf allocate-from {
+ description "low allocation limit";
+ type inet:ip-address;
+ }
+ leaf allocate-to {
+ description "high allocation limit";
+ type inet:ip-address;
+ }
+ leaf gateway {
+ description "default gateway for dhcp allocation";
+ type inet:ip-address;
+ }
+ leaf-list dns-servers {
+ description "dns server list";
+ type inet:ip-address;
+ }
+ }
}
- uses dhcp:dhcp_allocations;
}
}
}
+
+