]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#605,!329] allow creation of subnet6 without id set
authorRazvan Becheriu <razvan@isc.org>
Thu, 23 May 2019 12:22:03 +0000 (15:22 +0300)
committerRazvan Becheriu <razvan@isc.org>
Thu, 23 May 2019 12:22:03 +0000 (15:22 +0300)
src/lib/dhcpsrv/parsers/dhcp_parsers.cc

index a0c751ce89a1ee23af59155143d0f11418744d37..f29feee04ea5d4011f8e6253c1c955b82e9ddaf6 100644 (file)
@@ -714,7 +714,10 @@ Subnet4ConfigParser::initSubnet(data::ConstElementPtr params,
                                 asiolink::IOAddress addr, uint8_t len) {
     // Subnet ID is optional. If it is not supplied the value of 0 is used,
     // which means autogenerate.
-    SubnetID subnet_id = static_cast<SubnetID>(getInteger(params, "id"));
+    SubnetID subnet_id = 0;
+    if (params->contains("id")) {
+        subnet_id = static_cast<SubnetID>(getInteger(params, "id"));
+    }
 
     Subnet4Ptr subnet4(new Subnet4(addr, len, Triplet<uint32_t>(),
                                    Triplet<uint32_t>(), Triplet<uint32_t>(),
@@ -1147,7 +1150,10 @@ Subnet6ConfigParser::initSubnet(data::ConstElementPtr params,
                                 asiolink::IOAddress addr, uint8_t len) {
     // Subnet ID is optional. If it is not supplied the value of 0 is used,
     // which means autogenerate.
-    SubnetID subnet_id = static_cast<SubnetID>(getInteger(params, "id"));
+    SubnetID subnet_id = 0;
+    if (params->contains("id")) {
+        subnet_id = static_cast<SubnetID>(getInteger(params, "id"));
+    }
 
     // We want to log whether rapid-commit is enabled, so we get this
     // before the actual subnet creation.