mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-01 14:35:29 +00:00
[#35,!517] Added function to move of DDNS cfg elements to global scope to SrvConfig
src/lib/dhcpsrv/dhcpsrv_messages.* DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED src/lib/dhcpsrv/srv_config.* SrvConfig::moveDdnsParams() - new method to move parameters from dhcp-ddns to configured globals. src/lib/dhcpsrv/tests/srv_config_unittest.cc TEST_F(SrvConfigTest, moveDdnsParamsTest) - new test
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Jun 21 2019 16:14
|
// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Mon Sep 30 2019 13:41
|
||||||
|
|
||||||
#include <cstddef>
|
#include <cstddef>
|
||||||
#include <log/message_types.h>
|
#include <log/message_types.h>
|
||||||
@@ -16,6 +16,8 @@ extern const isc::log::MessageID DHCPSRV_CFGMGR_CLEAR_ACTIVE_IFACES = "DHCPSRV_C
|
|||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG4_MERGED = "DHCPSRV_CFGMGR_CONFIG4_MERGED";
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG4_MERGED = "DHCPSRV_CFGMGR_CONFIG4_MERGED";
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG6_MERGED = "DHCPSRV_CFGMGR_CONFIG6_MERGED";
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG6_MERGED = "DHCPSRV_CFGMGR_CONFIG6_MERGED";
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIGURE_SERVERID = "DHCPSRV_CFGMGR_CONFIGURE_SERVERID";
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIGURE_SERVERID = "DHCPSRV_CFGMGR_CONFIGURE_SERVERID";
|
||||||
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED = "DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED";
|
||||||
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED = "DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED";
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET4 = "DHCPSRV_CFGMGR_DEL_SUBNET4";
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET4 = "DHCPSRV_CFGMGR_DEL_SUBNET4";
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET6 = "DHCPSRV_CFGMGR_DEL_SUBNET6";
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET6 = "DHCPSRV_CFGMGR_DEL_SUBNET6";
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET4 = "DHCPSRV_CFGMGR_NEW_SUBNET4";
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET4 = "DHCPSRV_CFGMGR_NEW_SUBNET4";
|
||||||
@@ -250,6 +252,8 @@ const char* values[] = {
|
|||||||
"DHCPSRV_CFGMGR_CONFIG4_MERGED", "Configuration backend data has been merged.",
|
"DHCPSRV_CFGMGR_CONFIG4_MERGED", "Configuration backend data has been merged.",
|
||||||
"DHCPSRV_CFGMGR_CONFIG6_MERGED", "Configuration backend data has been merged.",
|
"DHCPSRV_CFGMGR_CONFIG6_MERGED", "Configuration backend data has been merged.",
|
||||||
"DHCPSRV_CFGMGR_CONFIGURE_SERVERID", "server configuration includes specification of a server identifier",
|
"DHCPSRV_CFGMGR_CONFIGURE_SERVERID", "server configuration includes specification of a server identifier",
|
||||||
|
"DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED", "dhpd-ddns:%1 is deprecated, using existing global:%2",
|
||||||
|
"DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED", "dhcp-ddns:%1 is deprecated, moving it to global:%2",
|
||||||
"DHCPSRV_CFGMGR_DEL_SUBNET4", "IPv4 subnet %1 removed",
|
"DHCPSRV_CFGMGR_DEL_SUBNET4", "IPv4 subnet %1 removed",
|
||||||
"DHCPSRV_CFGMGR_DEL_SUBNET6", "IPv6 subnet %1 removed",
|
"DHCPSRV_CFGMGR_DEL_SUBNET6", "IPv6 subnet %1 removed",
|
||||||
"DHCPSRV_CFGMGR_NEW_SUBNET4", "a new subnet has been added to configuration: %1",
|
"DHCPSRV_CFGMGR_NEW_SUBNET4", "a new subnet has been added to configuration: %1",
|
||||||
|
@@ -1,4 +1,4 @@
|
|||||||
// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Fri Jun 21 2019 16:14
|
// File created from ../../../src/lib/dhcpsrv/dhcpsrv_messages.mes on Mon Sep 30 2019 13:41
|
||||||
|
|
||||||
#ifndef DHCPSRV_MESSAGES_H
|
#ifndef DHCPSRV_MESSAGES_H
|
||||||
#define DHCPSRV_MESSAGES_H
|
#define DHCPSRV_MESSAGES_H
|
||||||
@@ -17,6 +17,8 @@ extern const isc::log::MessageID DHCPSRV_CFGMGR_CLEAR_ACTIVE_IFACES;
|
|||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG4_MERGED;
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG4_MERGED;
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG6_MERGED;
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIG6_MERGED;
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIGURE_SERVERID;
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_CONFIGURE_SERVERID;
|
||||||
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED;
|
||||||
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED;
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET4;
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET4;
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET6;
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_DEL_SUBNET6;
|
||||||
extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET4;
|
extern const isc::log::MessageID DHCPSRV_CFGMGR_NEW_SUBNET4;
|
||||||
|
@@ -54,6 +54,25 @@ there is a good reason for it, to avoid increased number of renewals and
|
|||||||
a need for rebinding (increase of multicast traffic, which may be received
|
a need for rebinding (increase of multicast traffic, which may be received
|
||||||
by multiple servers).
|
by multiple servers).
|
||||||
|
|
||||||
|
% DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED dhpd-ddns:%1 is deprecated, using existing global:%2
|
||||||
|
This is an informational message issued during configuration parsing when
|
||||||
|
the server detects that a deprecated parameter has been specified in the
|
||||||
|
"dhcp-ddns" element which conflicts with its corresponding global parameter.
|
||||||
|
When this occurs the server simply ignores the value from dhcp-ddns.
|
||||||
|
The log message shows be the deprecated and the supported parameter names.
|
||||||
|
Note the configuration change only affects the in memory configuration.
|
||||||
|
You should modify your configuration to comply the supported parameters.
|
||||||
|
|
||||||
|
% DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED dhcp-ddns:%1 is deprecated, moving it to global:%2
|
||||||
|
This is an informational message issued during configuration parsing when
|
||||||
|
the server detects that a deprecated parameter has been specified in the
|
||||||
|
"dhcp-ddns" element for which no corresponding global value exists. When
|
||||||
|
this occurs the server removes the parameter from dhcp-ddns and inserts the
|
||||||
|
parameter into the global scope. The log message shows be the deprecated
|
||||||
|
and the supported parameter names. Note the configuration change only affects
|
||||||
|
the in memory configuration. You should modify your configuration to comply
|
||||||
|
the supported parameters.
|
||||||
|
|
||||||
% DHCPSRV_CFGMGR_DEL_SUBNET4 IPv4 subnet %1 removed
|
% DHCPSRV_CFGMGR_DEL_SUBNET4 IPv4 subnet %1 removed
|
||||||
This debug message is issued when a subnet is successfully removed from the
|
This debug message is issued when a subnet is successfully removed from the
|
||||||
server configuration. The argument identifies the subnet removed.
|
server configuration. The argument identifies the subnet removed.
|
||||||
|
@@ -10,6 +10,7 @@
|
|||||||
#include <dhcpsrv/parsers/simple_parser4.h>
|
#include <dhcpsrv/parsers/simple_parser4.h>
|
||||||
#include <dhcpsrv/srv_config.h>
|
#include <dhcpsrv/srv_config.h>
|
||||||
#include <dhcpsrv/lease_mgr_factory.h>
|
#include <dhcpsrv/lease_mgr_factory.h>
|
||||||
|
#include <dhcpsrv/dhcpsrv_log.h>
|
||||||
#include <dhcpsrv/cfg_hosts_util.h>
|
#include <dhcpsrv/cfg_hosts_util.h>
|
||||||
#include <process/logging_info.h>
|
#include <process/logging_info.h>
|
||||||
#include <log/logger_manager.h>
|
#include <log/logger_manager.h>
|
||||||
@@ -578,7 +579,8 @@ SrvConfig::toElement() const {
|
|||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|
||||||
DdnsParamsPtr SrvConfig::getDdnsParams(const Subnet& subnet) const {
|
DdnsParamsPtr
|
||||||
|
SrvConfig::getDdnsParams(const Subnet& subnet) const {
|
||||||
DdnsParamsPtr params(new DdnsParams());
|
DdnsParamsPtr params(new DdnsParams());
|
||||||
|
|
||||||
params->enable_updates_ = (getD2ClientConfig()->getEnableUpdates() &&
|
params->enable_updates_ = (getD2ClientConfig()->getEnableUpdates() &&
|
||||||
@@ -595,5 +597,45 @@ DdnsParamsPtr SrvConfig::getDdnsParams(const Subnet& subnet) const {
|
|||||||
return params;
|
return params;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SrvConfig::moveDdnsParams(isc::data::ElementPtr d2_cfg) {
|
||||||
|
if (!d2_cfg || (d2_cfg->getType() != Element::map)) {
|
||||||
|
isc_throw(BadValue, "moveDdnsParams must be given a map element");
|
||||||
|
}
|
||||||
|
|
||||||
|
struct Param {
|
||||||
|
std::string from_name;
|
||||||
|
std::string to_name;
|
||||||
|
};
|
||||||
|
|
||||||
|
std::vector<Param> params {
|
||||||
|
{ "override-no-update", "ddns-override-no-update" },
|
||||||
|
{ "override-client-update", "ddns-override-client-update" },
|
||||||
|
{ "replace-client-name", "ddns-replace-client-name" },
|
||||||
|
{ "generated-prefix", "ddns-generated-prefix" },
|
||||||
|
{ "qualifying-suffix", "ddns-qualifying-suffix" },
|
||||||
|
{ "hostname-char-set", "hostname-char-set" },
|
||||||
|
{ "hostname-char-replacement", "hostname-char-replacement" }
|
||||||
|
};
|
||||||
|
|
||||||
|
for (auto param : params) {
|
||||||
|
if (d2_cfg->contains(param.from_name)) {
|
||||||
|
if (!configured_globals_->contains(param.to_name)) {
|
||||||
|
// No global value for it already, so let's add it.
|
||||||
|
addConfiguredGlobal(param.to_name, d2_cfg->get(param.from_name));
|
||||||
|
LOG_INFO(dhcpsrv_logger, DHCPSRV_CFGMGR_DDNS_PARAMETER_MOVED)
|
||||||
|
.arg(param.from_name).arg(param.to_name);
|
||||||
|
} else {
|
||||||
|
// Already a global value, we'll use it and ignore this one.
|
||||||
|
LOG_INFO(dhcpsrv_logger, DHCPSRV_CFGMGR_DDNS_PARAMETER_IGNORED)
|
||||||
|
.arg(param.from_name).arg(param.to_name);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Now remove it from d2_data, so D2ClientCfg won't complain.
|
||||||
|
d2_cfg->remove(param.from_name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
} // namespace dhcp
|
||||||
|
} // namespace isc
|
||||||
|
@@ -648,6 +648,8 @@ public:
|
|||||||
configured_globals_->set(name, value);
|
configured_globals_->set(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void moveDdnsParams(isc::data::ElementPtr d2_cfg);
|
||||||
|
|
||||||
/// @brief Unparse a configuration object
|
/// @brief Unparse a configuration object
|
||||||
///
|
///
|
||||||
/// @return a pointer to unparsed configuration
|
/// @return a pointer to unparsed configuration
|
||||||
|
@@ -1108,6 +1108,181 @@ TEST_F(SrvConfigTest, mergeGlobals6) {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Verifies that parameters formerly in dhcp-ddns{} are correctly moved
|
||||||
|
// to configured globals.
|
||||||
|
TEST_F(SrvConfigTest, moveDdnsParamsTest) {
|
||||||
|
DdnsParamsPtr params;
|
||||||
|
|
||||||
|
CfgMgr::instance().setFamily(AF_INET);
|
||||||
|
|
||||||
|
struct Scenario {
|
||||||
|
std::string description;
|
||||||
|
std::string d2_input;
|
||||||
|
std::string d2_output;
|
||||||
|
std::string input_globals;
|
||||||
|
std::string exp_globals;
|
||||||
|
};
|
||||||
|
|
||||||
|
std::vector<Scenario> scenarios {
|
||||||
|
{
|
||||||
|
"scenario 1, move with no global conflicts",
|
||||||
|
// d2_input
|
||||||
|
"{\n"
|
||||||
|
" \"enable-updates\": true, \n"
|
||||||
|
" \"server-ip\" : \"192.0.2.0\",\n"
|
||||||
|
" \"server-port\" : 3432,\n"
|
||||||
|
" \"sender-ip\" : \"192.0.2.1\",\n"
|
||||||
|
" \"sender-port\" : 3433,\n"
|
||||||
|
" \"max-queue-size\" : 2048,\n"
|
||||||
|
" \"ncr-protocol\" : \"UDP\",\n"
|
||||||
|
" \"ncr-format\" : \"JSON\",\n"
|
||||||
|
" \"user-context\": { \"foo\": \"bar\" },\n"
|
||||||
|
" \"override-no-update\": true,\n"
|
||||||
|
" \"override-client-update\": false,\n"
|
||||||
|
" \"replace-client-name\": \"always\",\n"
|
||||||
|
" \"generated-prefix\": \"prefix\",\n"
|
||||||
|
" \"qualifying-suffix\": \"suffix.com.\",\n"
|
||||||
|
" \"hostname-char-set\": \"[^A-Z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"x\"\n"
|
||||||
|
"}\n",
|
||||||
|
// d2_output
|
||||||
|
"{\n"
|
||||||
|
" \"enable-updates\": true,\n"
|
||||||
|
" \"server-ip\" : \"192.0.2.0\",\n"
|
||||||
|
" \"server-port\" : 3432,\n"
|
||||||
|
" \"sender-ip\" : \"192.0.2.1\",\n"
|
||||||
|
" \"sender-port\" : 3433,\n"
|
||||||
|
" \"max-queue-size\" : 2048,\n"
|
||||||
|
" \"ncr-protocol\" : \"UDP\",\n"
|
||||||
|
" \"ncr-format\" : \"JSON\",\n"
|
||||||
|
" \"user-context\": { \"foo\": \"bar\" }\n"
|
||||||
|
"}\n",
|
||||||
|
// input_globals - no globals to start with
|
||||||
|
"{\n"
|
||||||
|
"}\n",
|
||||||
|
// exp_globals
|
||||||
|
"{\n"
|
||||||
|
" \"ddns-override-no-update\": true,\n"
|
||||||
|
" \"ddns-override-client-update\": false,\n"
|
||||||
|
" \"ddns-replace-client-name\": \"always\",\n"
|
||||||
|
" \"ddns-generated-prefix\": \"prefix\",\n"
|
||||||
|
" \"ddns-qualifying-suffix\": \"suffix.com.\",\n"
|
||||||
|
" \"hostname-char-set\": \"[^A-Z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"x\"\n"
|
||||||
|
"}\n"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"scenario 2, globals already exist for all movable params",
|
||||||
|
// d2_input
|
||||||
|
"{\n"
|
||||||
|
" \"enable-updates\": true, \n"
|
||||||
|
" \"override-no-update\": true,\n"
|
||||||
|
" \"override-client-update\": true,\n"
|
||||||
|
" \"replace-client-name\": \"always\",\n"
|
||||||
|
" \"generated-prefix\": \"prefix\",\n"
|
||||||
|
" \"qualifying-suffix\": \"suffix.com.\",\n"
|
||||||
|
" \"hostname-char-set\": \"[^A-Z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"x\"\n"
|
||||||
|
"}\n",
|
||||||
|
// d2_output
|
||||||
|
"{\n"
|
||||||
|
" \"enable-updates\": true \n"
|
||||||
|
"}\n",
|
||||||
|
// input_globals
|
||||||
|
"{\n"
|
||||||
|
" \"ddns-override-no-update\": false,\n"
|
||||||
|
" \"ddns-override-client-update\": false,\n"
|
||||||
|
" \"ddns-replace-client-name\": \"when-present\",\n"
|
||||||
|
" \"ddns-generated-prefix\": \"org_prefix\",\n"
|
||||||
|
" \"ddns-qualifying-suffix\": \"org_suffix.com.\",\n"
|
||||||
|
" \"hostname-char-set\": \"[^a-z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"y\"\n"
|
||||||
|
"}\n",
|
||||||
|
// exp_globals
|
||||||
|
"{\n"
|
||||||
|
" \"ddns-override-no-update\": false,\n"
|
||||||
|
" \"ddns-override-client-update\": false,\n"
|
||||||
|
" \"ddns-replace-client-name\": \"when-present\",\n"
|
||||||
|
" \"ddns-generated-prefix\": \"org_prefix\",\n"
|
||||||
|
" \"ddns-qualifying-suffix\": \"org_suffix.com.\",\n"
|
||||||
|
" \"hostname-char-set\": \"[^a-z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"y\"\n"
|
||||||
|
"}\n"
|
||||||
|
},
|
||||||
|
|
||||||
|
{
|
||||||
|
"scenario 3, nothing to move",
|
||||||
|
// d2_input
|
||||||
|
"{\n"
|
||||||
|
" \"enable-updates\": true, \n"
|
||||||
|
" \"server-ip\" : \"192.0.2.0\",\n"
|
||||||
|
" \"server-port\" : 3432,\n"
|
||||||
|
" \"sender-ip\" : \"192.0.2.1\"\n"
|
||||||
|
"}\n",
|
||||||
|
// d2_output
|
||||||
|
"{\n"
|
||||||
|
" \"enable-updates\": true,\n"
|
||||||
|
" \"server-ip\" : \"192.0.2.0\",\n"
|
||||||
|
" \"server-port\" : 3432,\n"
|
||||||
|
" \"sender-ip\" : \"192.0.2.1\"\n"
|
||||||
|
"}\n",
|
||||||
|
// input_globals
|
||||||
|
"{\n"
|
||||||
|
" \"hostname-char-set\": \"[^A-Z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"x\"\n"
|
||||||
|
"}\n",
|
||||||
|
// exp_globals
|
||||||
|
"{\n"
|
||||||
|
" \"hostname-char-set\": \"[^A-Z]\",\n"
|
||||||
|
" \"hostname-char-replacement\": \"x\"\n"
|
||||||
|
"}\n"
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
for (auto scenario : scenarios) {
|
||||||
|
SrvConfig conf(32);
|
||||||
|
ConstElementPtr d2_input;
|
||||||
|
ConstElementPtr exp_d2_output;
|
||||||
|
ConstElementPtr input_globals;
|
||||||
|
ConstElementPtr exp_globals;
|
||||||
|
|
||||||
|
{
|
||||||
|
SCOPED_TRACE(scenario.description);
|
||||||
|
ASSERT_NO_THROW(d2_input = Element::fromJSON(scenario.d2_input))
|
||||||
|
<< "d2_input didn't parse, test is broken";
|
||||||
|
|
||||||
|
ASSERT_NO_THROW(exp_d2_output = Element::fromJSON(scenario.d2_output))
|
||||||
|
<< "d2_output didn't parse, test is broken";
|
||||||
|
|
||||||
|
ASSERT_NO_THROW(input_globals = Element::fromJSON(scenario.input_globals))
|
||||||
|
<< "input_globals didn't parse, test is broken";
|
||||||
|
|
||||||
|
ASSERT_NO_THROW(exp_globals = Element::fromJSON(scenario.exp_globals))
|
||||||
|
<< "exp_globals didn't parse, test is broken";
|
||||||
|
|
||||||
|
// Create the original set of configured globals.
|
||||||
|
for (auto input_global : input_globals->mapValue()) {
|
||||||
|
conf.addConfiguredGlobal(input_global.first, input_global.second);
|
||||||
|
}
|
||||||
|
|
||||||
|
// We need a mutable copy of d2_input to pass into the move function.
|
||||||
|
ElementPtr mutable_d2 = boost::const_pointer_cast<Element>(d2_input);
|
||||||
|
// NOw call moveDdnsParams.
|
||||||
|
ASSERT_NO_THROW(conf.moveDdnsParams(mutable_d2));
|
||||||
|
|
||||||
|
// Make sure the content of mutable_d2 is correct.
|
||||||
|
EXPECT_TRUE(mutable_d2->equals(*exp_d2_output));
|
||||||
|
|
||||||
|
// Make sure the content of configured globals.
|
||||||
|
EXPECT_TRUE(conf.getConfiguredGlobals()->equals(*exp_globals));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Verifies that the scoped values for DDNS parameters can be fetched
|
||||||
|
// for a given Subnet4.
|
||||||
TEST_F(SrvConfigTest, getDdnsParamsTest4) {
|
TEST_F(SrvConfigTest, getDdnsParamsTest4) {
|
||||||
DdnsParamsPtr params;
|
DdnsParamsPtr params;
|
||||||
|
|
||||||
@@ -1217,6 +1392,8 @@ TEST_F(SrvConfigTest, getDdnsParamsTest4) {
|
|||||||
EXPECT_TRUE(params->enable_updates_);
|
EXPECT_TRUE(params->enable_updates_);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Verifies that the scoped values for DDNS parameters can be fetched
|
||||||
|
// for a given Subnet6.
|
||||||
TEST_F(SrvConfigTest, getDdnsParamsTest6) {
|
TEST_F(SrvConfigTest, getDdnsParamsTest6) {
|
||||||
DdnsParamsPtr params;
|
DdnsParamsPtr params;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user