From 58e23d618ee29b56859d36a0edbcc7ea2bb10dcb Mon Sep 17 00:00:00 2001 From: Thomas Markwalder Date: Mon, 12 Nov 2018 15:04:02 -0500 Subject: [PATCH] [#260,!120] Added dhcp-queue-control parser defaults Added dhcp-queue-control defaults to SimpleParser<4/6> Revamped server config unit tests --- src/bin/dhcp4/ctrl_dhcp4_srv.cc | 2 +- src/bin/dhcp4/dhcp4_messages.mes | 6 +- src/bin/dhcp4/tests/config_parser_unittest.cc | 38 +- src/bin/dhcp4/tests/get_config_unittest.cc | 330 ++++++++++++++++++ src/bin/dhcp6/ctrl_dhcp6_srv.cc | 4 +- src/bin/dhcp6/dhcp6_messages.mes | 6 +- src/bin/dhcp6/tests/config_parser_unittest.cc | 38 +- src/bin/dhcp6/tests/get_config_unittest.cc | 293 +++++++++++++++- src/lib/dhcpsrv/parsers/simple_parser4.cc | 21 ++ src/lib/dhcpsrv/parsers/simple_parser4.h | 1 + src/lib/dhcpsrv/parsers/simple_parser6.cc | 22 ++ src/lib/dhcpsrv/parsers/simple_parser6.h | 1 + 12 files changed, 721 insertions(+), 41 deletions(-) diff --git a/src/bin/dhcp4/ctrl_dhcp4_srv.cc b/src/bin/dhcp4/ctrl_dhcp4_srv.cc index b78154bc55..3320feacb7 100644 --- a/src/bin/dhcp4/ctrl_dhcp4_srv.cc +++ b/src/bin/dhcp4/ctrl_dhcp4_srv.cc @@ -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()); } diff --git a/src/bin/dhcp4/dhcp4_messages.mes b/src/bin/dhcp4/dhcp4_messages.mes index 147d99009c..3ab07cb592 100644 --- a/src/bin/dhcp4/dhcp4_messages.mes +++ b/src/bin/dhcp4/dhcp4_messages.mes @@ -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. diff --git a/src/bin/dhcp4/tests/config_parser_unittest.cc b/src/bin/dhcp4/tests/config_parser_unittest.cc index bc66dd4eed..51c12b1b85 100644 --- a/src/bin/dhcp4/tests/config_parser_unittest.cc +++ b/src/bin/dhcp4/tests/config_parser_unittest.cc @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -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::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)); } } } diff --git a/src/bin/dhcp4/tests/get_config_unittest.cc b/src/bin/dhcp4/tests/get_config_unittest.cc index f5ef2748bf..bdd0f2e969 100644 --- a/src/bin/dhcp4/tests/get_config_unittest.cc +++ b/src/bin/dhcp4/tests/get_config_unittest.cc @@ -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" diff --git a/src/bin/dhcp6/ctrl_dhcp6_srv.cc b/src/bin/dhcp6/ctrl_dhcp6_srv.cc index 08e6e2f65d..c9cf5a1ff9 100644 --- a/src/bin/dhcp6/ctrl_dhcp6_srv.cc +++ b/src/bin/dhcp6/ctrl_dhcp6_srv.cc @@ -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) { diff --git a/src/bin/dhcp6/dhcp6_messages.mes b/src/bin/dhcp6/dhcp6_messages.mes index 0207c5c4c2..c7e3aab83e 100644 --- a/src/bin/dhcp6/dhcp6_messages.mes +++ b/src/bin/dhcp6/dhcp6_messages.mes @@ -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. diff --git a/src/bin/dhcp6/tests/config_parser_unittest.cc b/src/bin/dhcp6/tests/config_parser_unittest.cc index 757c46bf1a..c744575e21 100644 --- a/src/bin/dhcp6/tests/config_parser_unittest.cc +++ b/src/bin/dhcp6/tests/config_parser_unittest.cc @@ -21,6 +21,7 @@ #include #include #include +#include #include #include #include @@ -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::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)); } } } diff --git a/src/bin/dhcp6/tests/get_config_unittest.cc b/src/bin/dhcp6/tests/get_config_unittest.cc index 28dc3d28fb..ac2473354d 100644 --- a/src/bin/dhcp6/tests/get_config_unittest.cc +++ b/src/bin/dhcp6/tests/get_config_unittest.cc @@ -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" diff --git a/src/lib/dhcpsrv/parsers/simple_parser4.cc b/src/lib/dhcpsrv/parsers/simple_parser4.cc index b6a356397a..d011e37976 100644 --- a/src/lib/dhcpsrv/parsers/simple_parser4.cc +++ b/src/lib/dhcpsrv/parsers/simple_parser4.cc @@ -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(queue_control); + } else { + mutable_cfg = Element::createMap(); + global->set("dhcp-queue-control", mutable_cfg); + } + + cnt += setDefaults(mutable_cfg, DHCP_QUEUE_CONTROL4_DEFAULTS); + return (cnt); } diff --git a/src/lib/dhcpsrv/parsers/simple_parser4.h b/src/lib/dhcpsrv/parsers/simple_parser4.h index c4663bf63d..b3487a3be3 100644 --- a/src/lib/dhcpsrv/parsers/simple_parser4.h +++ b/src/lib/dhcpsrv/parsers/simple_parser4.h @@ -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; }; diff --git a/src/lib/dhcpsrv/parsers/simple_parser6.cc b/src/lib/dhcpsrv/parsers/simple_parser6.cc index 8f4c45b1e2..b4e25eefcb 100644 --- a/src/lib/dhcpsrv/parsers/simple_parser6.cc +++ b/src/lib/dhcpsrv/parsers/simple_parser6.cc @@ -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(queue_control); + } else { + mutable_cfg = Element::createMap(); + global->set("dhcp-queue-control", mutable_cfg); + } + + cnt += setDefaults(mutable_cfg, DHCP_QUEUE_CONTROL6_DEFAULTS); + return (cnt); } diff --git a/src/lib/dhcpsrv/parsers/simple_parser6.h b/src/lib/dhcpsrv/parsers/simple_parser6.h index 252d713879..8c2173e51d 100644 --- a/src/lib/dhcpsrv/parsers/simple_parser6.h +++ b/src/lib/dhcpsrv/parsers/simple_parser6.h @@ -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; }; -- 2.47.2