mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-30 13:37:55 +00:00
[#2826] Addressed review comments
This commit is contained in:
parent
6c7405719e
commit
53e319b51c
@ -579,6 +579,12 @@ SubnetConfigParser::parse(ConstElementPtr subnet, bool encapsulate_options) {
|
||||
"subnet configuration failed: " << ex.what());
|
||||
}
|
||||
|
||||
// We create subnet first and then parse the options straight into the subnet's
|
||||
// CfgOption structure. Previously, we first parsed the options and then copied
|
||||
// them into the CfgOption after creating the subnet but it had two issues. First,
|
||||
// it cost performance. Second, copying options reset the isEncapsulated() flag.
|
||||
// If the options have been encapsulated we want to preserve the flag to ensure
|
||||
// they are not encapsulated several times.
|
||||
ConstElementPtr options_params = subnet->get("option-data");
|
||||
if (options_params) {
|
||||
auto opt_parser = createOptionDataListParser();
|
||||
@ -1136,6 +1142,12 @@ PdPoolParser::parse(PoolStoragePtr pools, ConstElementPtr pd_pool_,
|
||||
<< " (" << pd_pool_->getPosition() << ")");
|
||||
}
|
||||
|
||||
// We create subnet first and then parse the options straight into the subnet's
|
||||
// CfgOption structure. Previously, we first parsed the options and then copied
|
||||
// them into the CfgOption after creating the subnet but it had two issues. First,
|
||||
// it cost performance. Second, copying options reset the isEncapsulated() flag.
|
||||
// If the options have been encapsulated we want to preserve the flag to ensure
|
||||
// they are not encapsulated several times.
|
||||
ConstElementPtr option_data = pd_pool_->get("option-data");
|
||||
if (option_data) {
|
||||
auto opts_parser = createOptionDataListParser();
|
||||
|
@ -2054,6 +2054,7 @@ GenericHostDataSourceTest::testOptionsReservations4(const bool formatted,
|
||||
ASSERT_NO_FATAL_FAILURE(HostDataSourceUtils::compareHosts(host, *hosts_by_subnet.begin()));
|
||||
|
||||
auto returned_host = *hosts_by_subnet.begin();
|
||||
EXPECT_FALSE(returned_host->getCfgOption4()->isEncapsulated());
|
||||
ASSERT_NO_THROW(returned_host->encapsulateOptions());
|
||||
auto cfg_option = returned_host->getCfgOption4();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user