mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-09-03 07:25:18 +00:00
[#35,!517] Added DDDNS parameters to networks,subnets, and their parsers
src/lib/dhcpsrv/network.* Network - added DDNS parameters: Optional members, getters, setters Network::toElement() - added DDNS parameters src/lib/dhcpsrv/parsers/base_network_parser.* BaseNetworkParser::parseDdnsParams() - new method to parse DDNS parameters BaseNetworkParser::parseLifetime() - fixed unitialized variables warning src/lib/dhcpsrv/parsers/dhcp_parsers.cc Subnet4ConfigParser::initSubnet() Subnet6ConfigParser::initSubnet() - added call to parseDdnsParms(). src/lib/dhcpsrv/parsers/shared_network_parser.cc SharedNetwork4Parser::parse() SharedNetwork6Parser::parse() - added call to parseDdnsParms(). src/lib/dhcpsrv/parsers/simple_parser4.cc SimpleParser4::GLOBAL4_PARAMETERS SimpleParser4::GLOBAL4_DEFAULTS SimpleParser4::SUBNET4_PARAMETERS SimpleParser4::INHERIT_TO_SUBNET4 SimpleParser4::SHARED_NETWORK4_PARAMETERS - added DDNS parameters src/lib/dhcpsrv/parsers/simple_parser6.cc SimpleParser6::GLOBAL6_PARAMETERS SimpleParser6::GLOBAL6_DEFAULTS SimpleParser6::SUBNET6_PARAMETERS SimpleParser6::INHERIT_TO_SUBNET6 SimpleParser6::SHARED_NETWORK6_PARAMETERS - added DDNS parameters src/lib/dhcpsrv/tests/cfg_shared_networks4_unittest.cc src/lib/dhcpsrv/tests/cfg_shared_networks6_unittest.cc src/lib/dhcpsrv/tests/dhcp_parsers_unittest.cc src/lib/dhcpsrv/tests/network_unittest.cc src/lib/dhcpsrv/tests/shared_network_parser_unittest.cc src/lib/dhcpsrv/tests/shared_network_unittest.cc src/lib/dhcpsrv/tests/subnet_unittest.cc Updated tests.
This commit is contained in:
@@ -18,11 +18,11 @@ namespace dhcp {
|
||||
const Triplet<uint32_t>
|
||||
BaseNetworkParser::parseLifetime(const ConstElementPtr& scope,
|
||||
const std::string& name) {
|
||||
uint32_t value;
|
||||
uint32_t value = 0;
|
||||
bool has_value = false;
|
||||
uint32_t min_value;
|
||||
uint32_t min_value = 0;
|
||||
bool has_min = false;
|
||||
uint32_t max_value;
|
||||
uint32_t max_value = 0;
|
||||
bool has_max = false;
|
||||
if (scope->contains(name)) {
|
||||
value = getInteger(scope, name);
|
||||
@@ -167,5 +167,37 @@ BaseNetworkParser::parseHostReservationMode(const data::ConstElementPtr& network
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
BaseNetworkParser::parseDdnsParams(const data::ConstElementPtr& network_data,
|
||||
NetworkPtr& network) {
|
||||
|
||||
if (network_data->contains("ddns-send-updates")) {
|
||||
network->setDdnsSendUpdates(getBoolean(network_data, "ddns-send-updates"));
|
||||
}
|
||||
|
||||
if (network_data->contains("ddns-override-no-update")) {
|
||||
network->setDdnsOverrideNoUpdate(getBoolean(network_data, "ddns-override-no-update"));
|
||||
}
|
||||
|
||||
if (network_data->contains("ddns-override-client-update")) {
|
||||
network->setDdnsOverrideClientUpdate(getBoolean(network_data, "ddns-override-client-update"));
|
||||
}
|
||||
|
||||
if (network_data->contains("ddns-replace-client-name")) {
|
||||
network->setDdnsReplaceClientNameMode(getAndConvert<D2ClientConfig::ReplaceClientNameMode,
|
||||
D2ClientConfig::stringToReplaceClientNameMode>
|
||||
(network_data, "ddns-replace-client-name",
|
||||
"ReplaceClientName mode"));
|
||||
}
|
||||
|
||||
if (network_data->contains("ddns-generated-prefix")) {
|
||||
network->setDdnsGeneratedPrefix(getString(network_data, "ddns-generated-prefix"));
|
||||
}
|
||||
|
||||
if (network_data->contains("ddns-qualifying-suffix")) {
|
||||
network->setDdnsQualifyingSuffix(getString(network_data, "ddns-qualifying-suffix"));
|
||||
}
|
||||
}
|
||||
|
||||
} // end of namespace isc::dhcp
|
||||
} // end of namespace isc
|
||||
|
Reference in New Issue
Block a user