]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#260,!120] Added dhcp-queue-control parser defaults
authorThomas Markwalder <tmark@isc.org>
Mon, 12 Nov 2018 20:04:02 +0000 (15:04 -0500)
committerThomas Markwalder <tmark@isc.org>
Mon, 12 Nov 2018 20:04:02 +0000 (15:04 -0500)
    Added dhcp-queue-control defaults to SimpleParser<4/6>
    Revamped server config unit tests

12 files changed:
src/bin/dhcp4/ctrl_dhcp4_srv.cc
src/bin/dhcp4/dhcp4_messages.mes
src/bin/dhcp4/tests/config_parser_unittest.cc
src/bin/dhcp4/tests/get_config_unittest.cc
src/bin/dhcp6/ctrl_dhcp6_srv.cc
src/bin/dhcp6/dhcp6_messages.mes
src/bin/dhcp6/tests/config_parser_unittest.cc
src/bin/dhcp6/tests/get_config_unittest.cc
src/lib/dhcpsrv/parsers/simple_parser4.cc
src/lib/dhcpsrv/parsers/simple_parser4.h
src/lib/dhcpsrv/parsers/simple_parser6.cc
src/lib/dhcpsrv/parsers/simple_parser6.h

index b78154bc5584a80b4dd95c58e63c7af975213eb1..3320feacb70f788e56149680ba75e6bb6557e477 100644 (file)
@@ -639,7 +639,7 @@ ControlledDhcpv4Srv::processConfig(isc::data::ConstElementPtr config) {
         data::ConstElementPtr qc;
         qc  = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
         if (IfaceMgr::instance().configureDHCPPacketQueue(AF_INET, qc)) {
-            LOG_DEBUG(dhcp4_logger, DBG_DHCP4_BASIC, DHCP4_CONFIG_PACKET_QUEUE)
+            LOG_INFO(dhcp4_logger, DHCP4_CONFIG_PACKET_QUEUE)
                       .arg(PacketQueueMgr4::instance().getPacketQueue()->getInfoStr());
         }
 
index 147d99009c5fe5e42b082d8d941002b3d6e42615..3ab07cb592f41fc7543583e9bd60a83f7124150b 100644 (file)
@@ -121,9 +121,9 @@ configuration is committed by the administrator.  Additional information
 may be provided.
 
 % DHCP4_CONFIG_PACKET_QUEUE DHCPv4 packet queue info after configuration: %1
-This debug message is emitted during DHCPv4 server configuration, immediately
-after configuring the DHCPv4 packet queue.  The information shown depends
-upon the packet queue type selected.
+This informational message is emitted during DHCPv4 server configuration,
+immediately after configuring the DHCPv4 packet queue.  The information
+shown depends upon the packet queue type selected.
 
 % DHCP4_CONFIG_LOAD_FAIL configuration error using file: %1, reason: %2
 This error message indicates that the DHCPv4 configuration has failed.
index bc66dd4eed162e75c7164b5c07066c61c66dbea1..51c12b1b85641d177b6da22a90cf6db03530662d 100644 (file)
@@ -24,6 +24,7 @@
 #include <dhcpsrv/cfg_expiration.h>
 #include <dhcpsrv/cfg_hosts.h>
 #include <dhcpsrv/cfg_subnets4.h>
+#include <dhcpsrv/parsers/simple_parser4.h>
 #include <dhcpsrv/testutils/config_result_check.h>
 #include <dhcpsrv/testutils/test_config_backend_dhcp4.h>
 #include <process/config_ctl_info.h>
@@ -6469,12 +6470,12 @@ TEST_F(Dhcp4ParserTest, dhcpQueueControl) {
     };
 
     // Let's check the default. It should be empty.
-    data::ConstElementPtr control;
-    control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
-    ASSERT_FALSE(control);
+    data::ConstElementPtr staged_control;
+    staged_control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
+    ASSERT_FALSE(staged_control);
 
     // Iterate over the valid scenarios and verify they succeed.
-    data::ConstElementPtr exp_elems;
+    data::ElementPtr exp_control;
     for (auto scenario : scenarios) {
         SCOPED_TRACE(scenario.description_);
         {
@@ -6485,7 +6486,6 @@ TEST_F(Dhcp4ParserTest, dhcpQueueControl) {
             std::stringstream os;
             os << "{ " + genIfaceConfig();
             if (!scenario.json_.empty()) {
-
                os << ",\n \"dhcp-queue-control\": "  <<  scenario.json_;
             }
 
@@ -6495,20 +6495,28 @@ TEST_F(Dhcp4ParserTest, dhcpQueueControl) {
             configure(os.str(), CONTROL_RESULT_SUCCESS, "");
 
             // Fetch the queue control info.
-            control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
+            staged_control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
+
+            // Make sure the staged queue config exists.
+            ASSERT_TRUE(staged_control);
 
-            // If JSON does not contain queue control,
-            // the pointer stored in staging should be empty.
+            // Now build the expected queue control content.
             if (scenario.json_.empty()) {
-                ASSERT_FALSE(control);
-                continue;
+                exp_control = Element::createMap();
+            } else {
+                try {
+                    exp_control = boost::const_pointer_cast<Element>(Element::fromJSON(scenario.json_));
+                } catch (const std::exception& ex) {
+                    ADD_FAILURE() << " cannot convert expected JSON, test is broken:"
+                                << ex.what();
+                }
             }
 
-            // Make sure the staged config is correct.
-            ASSERT_TRUE(control);
-            ASSERT_NO_THROW(exp_elems = Element::fromJSON(scenario.json_))
-                            << " cannot convert expected JSON, test is broken";
-            EXPECT_TRUE(control->equals(*exp_elems));
+            // Add the defaults to expected queue control.
+            SimpleParser4::setDefaults(exp_control, SimpleParser4::DHCP_QUEUE_CONTROL4_DEFAULTS);
+
+            // Verify that the staged queue control equals the expected queue control.
+            EXPECT_TRUE(staged_control->equals(*exp_control));
         }
     }
 }
index f5ef2748bf829d31b04d2ab230c9fe9228d31f44..bdd0f2e969bc8f1cefa2320a87fdd359a4d0421b 100644 (file)
@@ -2001,6 +2001,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2052,6 +2057,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2129,6 +2139,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2206,6 +2221,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2285,6 +2305,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2445,6 +2470,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2606,6 +2636,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2687,6 +2722,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2767,6 +2807,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2848,6 +2893,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": false,\n"
 "        \"expired-leases-processing\": {\n"
@@ -2927,6 +2977,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3006,6 +3061,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3112,6 +3172,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3219,6 +3284,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3326,6 +3396,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3432,6 +3507,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3511,6 +3591,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3625,6 +3710,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3704,6 +3794,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3762,6 +3857,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3820,6 +3920,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3887,6 +3992,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -3945,6 +4055,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4003,6 +4118,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4061,6 +4181,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4119,6 +4244,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4215,6 +4345,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4311,6 +4446,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4417,6 +4557,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4504,6 +4649,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4636,6 +4786,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4741,6 +4896,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4865,6 +5025,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -4961,6 +5126,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5062,6 +5232,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5158,6 +5333,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5245,6 +5425,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5368,6 +5553,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5462,6 +5652,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5560,6 +5755,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5611,6 +5811,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5662,6 +5867,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"192.168.2.1\",\n"
 "            \"server-port\": 777\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5741,6 +5951,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5820,6 +6035,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -5899,6 +6119,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6062,6 +6287,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6156,6 +6386,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6392,6 +6627,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6501,6 +6741,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6661,6 +6906,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6709,6 +6959,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6757,6 +7012,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6805,6 +7065,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6853,6 +7118,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -6932,6 +7202,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7011,6 +7286,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7090,6 +7370,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7169,6 +7454,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7274,6 +7564,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7353,6 +7648,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7432,6 +7732,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7512,6 +7817,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7596,6 +7906,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7680,6 +7995,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7784,6 +8104,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
@@ -7916,6 +8241,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring4\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"echo-client-id\": true,\n"
 "        \"expired-leases-processing\": {\n"
index 08e6e2f65d6088d75a254390f98534d5f80ca9d5..c9cf5a1ff9160c75ccbe384d7cbbface95f1adec 100644 (file)
@@ -658,8 +658,8 @@ ControlledDhcpv6Srv::processConfig(isc::data::ConstElementPtr config) {
         data::ConstElementPtr qc;
         qc  = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
         if (IfaceMgr::instance().configureDHCPPacketQueue(AF_INET6, qc)) {
-            LOG_DEBUG(dhcp6_logger, DBG_DHCP6_BASIC, DHCP6_CONFIG_PACKET_QUEUE)
-                      .arg(PacketQueueMgr6::instance().getPacketQueue()->getInfoStr());
+            LOG_INFO(dhcp6_logger, DHCP6_CONFIG_PACKET_QUEUE)
+                     .arg(PacketQueueMgr6::instance().getPacketQueue()->getInfoStr());
         }
 
     } catch (const std::exception& ex) {
index 0207c5c4c202bf3ef6c0e3771c02436ae7f56f8b..c7e3aab83e955b80cbe2b738d64105563cf7dade 100644 (file)
@@ -91,9 +91,9 @@ will fail to start. If this is a dynamic reconfiguration attempt the
 server will continue to use an old configuration.
 
 % DHCP6_CONFIG_PACKET_QUEUE DHCPv6 packet queue info after configuration: %1
-This debug message is emitted during DHCPv6 server configuration, immediately
-after configuring the DHCPv6 packet queue.  The information shown depends
-upon the packet queue type selected.
+This informational message is emitted during DHCPv6 server configuration,
+immediately after configuring the DHCPv6 packet queue.  The information
+shown depends upon the packet queue type selected.
 
 % DHCP6_CONFIG_RECEIVED received configuration: %1
 A debug message listing the configuration received by the DHCPv6 server.
index 757c46bf1a55fb6f6efe0da426945ba9a981bed3..c744575e215e8042ca779c2dedb3cf2922f99aee 100644 (file)
@@ -21,6 +21,7 @@
 #include <dhcpsrv/cfgmgr.h>
 #include <dhcpsrv/cfg_expiration.h>
 #include <dhcpsrv/cfg_hosts.h>
+#include <dhcpsrv/parsers/simple_parser6.h>
 #include <dhcpsrv/subnet.h>
 #include <dhcpsrv/subnet_selector.h>
 #include <dhcpsrv/testutils/config_result_check.h>
@@ -6970,12 +6971,12 @@ TEST_F(Dhcp6ParserTest, dhcpQueueControl) {
     };
 
     // Let's check the default. It should be empty.
-    data::ConstElementPtr control;
-    control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
-    ASSERT_FALSE(control);
+    data::ConstElementPtr staged_control;
+    staged_control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
+    ASSERT_FALSE(staged_control);
 
     // Iterate over the valid scenarios and verify they succeed.
-    data::ConstElementPtr exp_elems;
+    data::ElementPtr exp_control;
     for (auto scenario : scenarios) {
         SCOPED_TRACE(scenario.description_);
         {
@@ -6986,7 +6987,6 @@ TEST_F(Dhcp6ParserTest, dhcpQueueControl) {
             std::stringstream os;
             os << "{ " + genIfaceConfig();
             if (!scenario.json_.empty()) {
-
                os << ",\n \"dhcp-queue-control\": "  <<  scenario.json_;
             }
 
@@ -6996,20 +6996,28 @@ TEST_F(Dhcp6ParserTest, dhcpQueueControl) {
             configure(os.str(), CONTROL_RESULT_SUCCESS, "");
 
             // Fetch the queue control info.
-            control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
+            staged_control = CfgMgr::instance().getStagingCfg()->getDHCPQueueControl();
+
+            // Make sure the staged queue config exists.
+            ASSERT_TRUE(staged_control);
 
-            // If JSON does not contain queue control,
-            // the pointer stored in staging should be empty.
+            // Now build the expected queue control content.
             if (scenario.json_.empty()) {
-                ASSERT_FALSE(control);
-                continue;
+                exp_control = Element::createMap();
+            } else {
+                try {
+                    exp_control = boost::const_pointer_cast<Element>(Element::fromJSON(scenario.json_));
+                } catch (const std::exception& ex) {
+                    ADD_FAILURE() << " cannot convert expected JSON, test is broken:"
+                                << ex.what();
+                }
             }
 
-            // Make sure the staged config is correct.
-            ASSERT_TRUE(control);
-            ASSERT_NO_THROW(exp_elems = Element::fromJSON(scenario.json_))
-                            << " cannot convert expected JSON, test is broken";
-            EXPECT_TRUE(control->equals(*exp_elems));
+            // Add the defaults to expected queue control.
+            SimpleParser6::setDefaults(exp_control, SimpleParser6::DHCP_QUEUE_CONTROL6_DEFAULTS);
+
+            // Verify that the staged queue control equals the expected queue control.
+            EXPECT_TRUE(staged_control->equals(*exp_control));
         }
     }
 }
index 28dc3d28fb031c4fdb5955b7911bc74c2a07bf82..ac2473354d0057234299d8f2c1c4f88b111ca65d 100644 (file)
@@ -78,8 +78,7 @@ const char* EXTRACTED_CONFIGS[] = {
 "        \"preferred-lifetime\": 3000,\n"
 "        \"rebind-timer\": 2000,\n"
 "        \"renew-timer\": 1000,\n"
-"        \"subnet6\": [ ],\n"
-"        \"valid-lifetime\": 4000\n"
+"        \"subnet6\": [ ],\n" "        \"valid-lifetime\": 4000\n"
 "    }\n",
     // CONFIGURATION 1
 "{\n"
@@ -1855,6 +1854,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -1916,6 +1920,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2000,6 +2009,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2150,6 +2164,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2300,6 +2319,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2450,6 +2474,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2534,6 +2563,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2619,6 +2653,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2704,6 +2743,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2818,6 +2862,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2902,6 +2951,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -2987,6 +3041,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3074,6 +3133,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3176,6 +3240,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3261,6 +3330,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3328,6 +3402,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3395,6 +3474,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3471,6 +3555,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3538,6 +3627,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3605,6 +3699,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3706,6 +3805,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3807,6 +3911,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -3918,6 +4027,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4015,6 +4129,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4152,6 +4271,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4276,6 +4400,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4413,6 +4542,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4512,6 +4646,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4615,6 +4754,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4676,6 +4820,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4737,6 +4886,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4821,6 +4975,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -4905,6 +5064,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5058,6 +5222,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5157,6 +5326,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5264,6 +5438,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"3001::1\",\n"
 "            \"server-port\": 777\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5348,6 +5527,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5551,6 +5735,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5658,6 +5847,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5719,6 +5913,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5780,6 +5979,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -5952,6 +6156,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6013,6 +6222,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6070,6 +6284,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6127,6 +6346,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6184,6 +6408,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 35,\n"
@@ -6255,6 +6484,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6339,6 +6573,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6423,6 +6662,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6508,6 +6752,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6598,6 +6847,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6688,6 +6942,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6774,6 +7033,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6861,6 +7125,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -6953,6 +7222,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -7055,6 +7329,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -7201,6 +7480,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
@@ -7387,6 +7671,11 @@ const char* UNPARSED_CONFIGS[] = {
 "            \"server-ip\": \"127.0.0.1\",\n"
 "            \"server-port\": 53001\n"
 "        },\n"
+"        \"dhcp-queue-control\": {\n"
+"            \"capacity\": 500,\n"
+"            \"enable-queue\": false,\n"
+"            \"queue-type\": \"kea-ring6\"\n"
+"        },\n"
 "        \"dhcp4o6-port\": 0,\n"
 "        \"expired-leases-processing\": {\n"
 "            \"flush-reclaimed-timer-wait-time\": 25,\n"
index b6a356397a755dd8e2b899d8bb2d54a9a616bbf4..d011e37976d19a307b09493fcaa4ae50ad476e35 100644 (file)
@@ -136,6 +136,14 @@ const ParamsList SimpleParser4::INHERIT_TO_SUBNET4 = {
     "valid-lifetime"
 };
 
+/// @brief This table defines default values for dhcp-queue-control in DHCPv4.
+const SimpleDefaults SimpleParser4::DHCP_QUEUE_CONTROL4_DEFAULTS = {
+    { "enable-queue",   Element::boolean, "false"},
+    { "queue-type", Element::string,  "kea-ring4"},
+    { "capacity",  Element::integer, "500"}
+};
+
+
 /// @}
 
 /// ---------------------------------------------------------------------------
@@ -189,6 +197,19 @@ size_t SimpleParser4::setAllDefaults(isc::data::ElementPtr global) {
         }
     }
 
+    // Set the defaults for dhcp-queue-control.  If the element isn't
+    // there we'll add it.
+    ConstElementPtr queue_control = global->get("dhcp-queue-control");
+    ElementPtr mutable_cfg;
+    if (queue_control) {
+        mutable_cfg = boost::const_pointer_cast<Element>(queue_control);
+    } else {
+        mutable_cfg = Element::createMap();
+        global->set("dhcp-queue-control", mutable_cfg);
+    }
+
+    cnt += setDefaults(mutable_cfg, DHCP_QUEUE_CONTROL4_DEFAULTS);
+
     return (cnt);
 }
 
index c4663bf63da3538e490845e68f14f3934e14447c..b3487a3be315d279e8ac46e8e4a4736efa693b0a 100644 (file)
@@ -44,6 +44,7 @@ public:
     static const isc::data::SimpleDefaults SHARED_SUBNET4_DEFAULTS;
     static const isc::data::SimpleDefaults SHARED_NETWORK4_DEFAULTS;
     static const isc::data::SimpleDefaults IFACE4_DEFAULTS;
+    static const isc::data::SimpleDefaults DHCP_QUEUE_CONTROL4_DEFAULTS;
     static const isc::data::ParamsList INHERIT_TO_SUBNET4;
 };
 
index 8f4c45b1e2c876d0e31326ea5f762cf0cc4b2fc6..b4e25eefcb9513a7d3b62ae2c761323c764c034c 100644 (file)
@@ -117,6 +117,15 @@ const ParamsList SimpleParser6::INHERIT_TO_SUBNET6 = {
     "reservation-mode",
     "valid-lifetime"
 };
+
+/// @brief This table defines default values for dhcp-queue-control in DHCPv4.
+const SimpleDefaults SimpleParser6::DHCP_QUEUE_CONTROL6_DEFAULTS = {
+    { "enable-queue",   Element::boolean, "false"},
+    { "queue-type", Element::string,  "kea-ring6"},
+    { "capacity",  Element::integer, "500"}
+};
+
+
 /// @}
 
 /// ---------------------------------------------------------------------------
@@ -172,6 +181,19 @@ size_t SimpleParser6::setAllDefaults(isc::data::ElementPtr global) {
         }
     }
 
+    // Set the defaults for dhcp-queue-control.  If the element isn't there
+    // we'll add it.
+    ConstElementPtr queue_control = global->get("dhcp-queue-control");
+    ElementPtr mutable_cfg;
+    if (queue_control) {
+        mutable_cfg = boost::const_pointer_cast<Element>(queue_control);
+    } else {
+        mutable_cfg = Element::createMap();
+        global->set("dhcp-queue-control", mutable_cfg);
+    }
+
+    cnt += setDefaults(mutable_cfg, DHCP_QUEUE_CONTROL6_DEFAULTS);
+
     return (cnt);
 }
 
index 252d71387903bcc2bb7193432c6f52acfc02b909..8c2173e51daf9454bbebde5d387cf6f66cfaf036 100644 (file)
@@ -45,6 +45,7 @@ public:
     static const isc::data::SimpleDefaults SHARED_SUBNET6_DEFAULTS;
     static const isc::data::SimpleDefaults SHARED_NETWORK6_DEFAULTS;
     static const isc::data::SimpleDefaults IFACE6_DEFAULTS;
+    static const isc::data::SimpleDefaults DHCP_QUEUE_CONTROL6_DEFAULTS;
     static const isc::data::ParamsList INHERIT_TO_SUBNET6;
 };