diff --git a/doc/examples/netconf/kea-dhcp6-operations/logging.xml b/doc/examples/netconf/kea-dhcp6-operations/logging.xml
index 7ce04e468219d7ca51abe6d8a45a2f24097fca4a..b9ec442219b4bb092b5d38c810370cf90736cf9c 100644
--- a/doc/examples/netconf/kea-dhcp6-operations/logging.xml
+++ b/doc/examples/netconf/kea-dhcp6-operations/logging.xml
@@ -17,9 +17,9 @@
kea-dhcp6
-
+
-
+
99
DEBUG
diff --git a/doc/sphinx/arm/ext-netconf.rst b/doc/sphinx/arm/ext-netconf.rst
index a1c9ce382205518ed68b6a7e5d42b64dddadf229..d4db2507e2ded5492b765c935bf46d78df8f8cdb 100644
--- a/doc/sphinx/arm/ext-netconf.rst
+++ b/doc/sphinx/arm/ext-netconf.rst
@@ -1050,9 +1050,9 @@ configuration in the ``logging.xml`` file:
kea-dhcp6
-
+
-
+
99
DEBUG
diff --git a/src/lib/yang/tests/translator_class_unittests.cc b/src/lib/yang/tests/translator_class_unittests.cc
index 02405c53132480dd863ccb939e844d0487417706..ca7dbba43464429884d991f9dabb8bb5f2010e07 100644
--- a/src/lib/yang/tests/translator_class_unittests.cc
+++ b/src/lib/yang/tests/translator_class_unittests.cc
@@ -60,7 +60,7 @@ TEST_F(TranslatorClassesTestv4, getEmpty) {
TEST_F(TranslatorClassesTestv6, get) {
// Create the client class.
const string& xpath = "/kea-dhcp6-server:config";
- const string& xclass = xpath + "/client-class[name='foo']";
+ const string& xclass = xpath + "/client-classes[name='foo']";
const string& xtest = xclass + "/test";
string const v_test("not member('ALL')");
EXPECT_NO_THROW_LOG(sess_->setItem(xtest, v_test));
diff --git a/src/lib/yang/tests/translator_logger_unittests.cc b/src/lib/yang/tests/translator_logger_unittests.cc
index 365e4bd47431cac4f3fcc98370c4b7553532fc45..07f64bf024e449fc39a65de8bef8236f11243f50 100644
--- a/src/lib/yang/tests/translator_logger_unittests.cc
+++ b/src/lib/yang/tests/translator_logger_unittests.cc
@@ -58,9 +58,9 @@ TEST_F(TranslatorLoggersTestv4, getEmpty) {
TEST_F(TranslatorLoggersTestv6, get) {
// Set a value.
const string& xpath = "/kea-dhcp6-server:config";
- const string& xlogger = xpath + "/logger[name='foo']";
+ const string& xlogger = xpath + "/loggers[name='foo']";
const string& xseverity = xlogger + "/severity";
- const string& xoption = xlogger + "/output-option[output='/bar']";
+ const string& xoption = xlogger + "/output_options[output='/bar']";
const string& xmaxver = xoption + "/maxver";
string const s_severity("WARN");
EXPECT_NO_THROW_LOG(sess_->setItem(xseverity, s_severity));
diff --git a/src/lib/yang/tests/translator_pd_pool_unittests.cc b/src/lib/yang/tests/translator_pd_pool_unittests.cc
index f8c9388b55c2100087c387affd342647365886ed..a7091237bc3912c65676784f138903e98813a945 100644
--- a/src/lib/yang/tests/translator_pd_pool_unittests.cc
+++ b/src/lib/yang/tests/translator_pd_pool_unittests.cc
@@ -121,7 +121,7 @@ TEST_F(TranslatorPdPoolsTestKeaV6, getKea) {
// Create the pd-pool 2001:db8:0:1000::/64.
const string& prefix = "2001:db8:0:1000::/56";
ostringstream spool;
- spool << xpath + "/pd-pool[prefix='" << prefix << "']";
+ spool << xpath + "/pd-pools[prefix='" << prefix << "']";
const string& x_delegated = spool.str() + "/delegated-len";
uint8_t dl = 64;
string const s_delegated(to_string(dl));
@@ -264,7 +264,7 @@ TEST_F(TranslatorPdPoolsTestKeaV6, getListKea) {
// Create the first pd-pool 2001:db8:0:1000::/56.
const string& prefix = "2001:db8:0:1000::/56";
ostringstream spool;
- spool << xpath + "/pd-pool[prefix='" << prefix << "']";
+ spool << xpath + "/pd-pools[prefix='" << prefix << "']";
const string& x_delegated = spool.str() + "/delegated-len";
uint8_t dl = 64;
string const s_delegated(to_string(dl));
@@ -274,7 +274,7 @@ TEST_F(TranslatorPdPoolsTestKeaV6, getListKea) {
// Create the second pd-pool 2001:db8:0:2000::/56
const string& prefix2 = "2001:db8:0:2000::/56";
ostringstream spool2;
- spool2 << xpath + "/pd-pool[prefix='" << prefix2 << "']";
+ spool2 << xpath + "/pd-pools[prefix='" << prefix2 << "']";
const string& x_delegated2 = spool2.str() + "/delegated-len";
uint8_t dl2 = 60;
string const s_delegated2(to_string(dl2));
diff --git a/src/lib/yang/tests/translator_pool_unittests.cc b/src/lib/yang/tests/translator_pool_unittests.cc
index ad0d25f42849ee945b23c2d8288a34a362a41f36..f8f185757228981cde2b3c7fcab87c5f4d40f077 100644
--- a/src/lib/yang/tests/translator_pool_unittests.cc
+++ b/src/lib/yang/tests/translator_pool_unittests.cc
@@ -126,7 +126,7 @@ TEST_F(TranslatorPoolsTestKeaV6, getKea) {
EXPECT_EQ("2001:db8::1:0", start_addr);
EXPECT_EQ("2001:db8::1:ffff", end_addr);
ostringstream spool;
- spool << xpath + "/pool[start-address='" << start_addr
+ spool << xpath + "/pools[start-address='" << start_addr
<< "'][end-address='" << end_addr << "']";
const string& x_prefix = spool.str() + "/prefix";
string const s_prefix("2001:db8::1:0/112");
diff --git a/src/lib/yang/tests/translator_subnet_unittests.cc b/src/lib/yang/tests/translator_subnet_unittests.cc
index d9a8104a11be028cd298986cd5d90772b3196bd1..1ad110e580a3b3602d587c24399952d693866628 100644
--- a/src/lib/yang/tests/translator_subnet_unittests.cc
+++ b/src/lib/yang/tests/translator_subnet_unittests.cc
@@ -197,14 +197,14 @@ TEST_F(TranslatorSubnetsTestKeaV6, getPoolsKea) {
sess_->applyChanges();
// Create the pool 2001:db8::1:0/112.
- const string& prefix1 = xsub + "/pool[start-address='2001:db8::1:0']" +
+ const string& prefix1 = xsub + "/pools[start-address='2001:db8::1:0']" +
"[end-address='2001:db8::1:ffff']/prefix";
string const s_pool1("2001:db8::1:0/112");
EXPECT_NO_THROW_LOG(sess_->setItem(prefix1, s_pool1));
sess_->applyChanges();
// Create the pool 2001:db8::2:0/112.
- const string& prefix2 = xsub + "/pool[start-address='2001:db8::2:0']" +
+ const string& prefix2 = xsub + "/pools[start-address='2001:db8::2:0']" +
"[end-address='2001:db8::2:ffff']";
EXPECT_NO_THROW_LOG(sess_->setItem(prefix2, nullopt));
sess_->applyChanges();
diff --git a/src/lib/yang/tests/yang_configs.h b/src/lib/yang/tests/yang_configs.h
index c3bb0530c73c38b9099bf9ade36f9884297ef776..ffa22a95e174273cf7666518bd14e9dfcfa13a1e 100644
--- a/src/lib/yang/tests/yang_configs.h
+++ b/src/lib/yang/tests/yang_configs.h
@@ -424,16 +424,16 @@ const YRTree subnetOptionsTreeKeaDhcp4 = YangRepr::buildTreeFromVector({
"option-data[code='100'][space='dns']/always-send",
"false", libyang::LeafBaseType::Bool, true },
{ "/kea-dhcp4-server:config/subnet4[id='111']/"
- "pool[start-address='10.0.1.0'][end-address='10.0.1.255']",
+ "pools[start-address='10.0.1.0'][end-address='10.0.1.255']",
std::nullopt, libyang::LeafBaseType::Unknown, false },
{ "/kea-dhcp4-server:config/subnet4[id='111']/"
- "pool[start-address='10.0.1.0'][end-address='10.0.1.255']/start-address",
+ "pools[start-address='10.0.1.0'][end-address='10.0.1.255']/start-address",
"10.0.1.0", libyang::LeafBaseType::String, false },
{ "/kea-dhcp4-server:config/subnet4[id='111']/"
- "pool[start-address='10.0.1.0'][end-address='10.0.1.255']/end-address",
+ "pools[start-address='10.0.1.0'][end-address='10.0.1.255']/end-address",
"10.0.1.255", libyang::LeafBaseType::String, false },
{ "/kea-dhcp4-server:config/subnet4[id='111']/"
- "pool[start-address='10.0.1.0'][end-address='10.0.1.255']/prefix",
+ "pools[start-address='10.0.1.0'][end-address='10.0.1.255']/prefix",
"10.0.1.0/24", libyang::LeafBaseType::String, true },
{ "/kea-dhcp4-server:config/subnet4[id='111']/subnet",
"10.0.0.0/8", libyang::LeafBaseType::String, true },
@@ -466,42 +466,42 @@ const YRTree subnetOptionsTreeKeaDhcp6 = YangRepr::buildTreeFromVector({
{ "/kea-dhcp6-server:config/subnet6[id='111']/id",
"111", libyang::LeafBaseType::Uint32, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']",
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']",
std::nullopt, libyang::LeafBaseType::Unknown, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"start-address",
"2001:db8::1:0", libyang::LeafBaseType::String, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"end-address",
"2001:db8::1:ffff", libyang::LeafBaseType::String, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"prefix",
"2001:db8::1:0/112", libyang::LeafBaseType::String, true },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"option-data[code='100'][space='dns']",
std::nullopt, libyang::LeafBaseType::Unknown, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"option-data[code='100'][space='dns']/code",
"100", libyang::LeafBaseType::Uint16, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"option-data[code='100'][space='dns']/space",
"dns", libyang::LeafBaseType::String, false },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"option-data[code='100'][space='dns']/data",
"12121212", libyang::LeafBaseType::String, true },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"option-data[code='100'][space='dns']/csv-format",
"false", libyang::LeafBaseType::Bool, true },
{ "/kea-dhcp6-server:config/subnet6[id='111']/"
- "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
+ "pools[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
"option-data[code='100'][space='dns']/always-send",
"false", libyang::LeafBaseType::Bool, true },
{ "/kea-dhcp6-server:config/subnet6[id='111']/subnet",
diff --git a/src/lib/yang/translator_class.cc b/src/lib/yang/translator_class.cc
index 7d3ec401890e1eaf8529ac7794a8894cb82869ed..933e72d4db0711d606edf4c0c372cf54ce444565 100644
--- a/src/lib/yang/translator_class.cc
+++ b/src/lib/yang/translator_class.cc
@@ -178,7 +178,7 @@ TranslatorClasses::getClassesFromAbsoluteXpath(string const& xpath) {
ElementPtr
TranslatorClasses::getClassesKea(DataNode const& data_node) {
- return getList(data_node, "client-class", *this,
+ return getList(data_node, "client-classes", *this,
&TranslatorClass::getClass);
}
@@ -208,7 +208,7 @@ TranslatorClasses::setClassesKea(string const& xpath, ConstElementPtr elem) {
}
string name = cclass->get("name")->stringValue();
ostringstream key;
- key << xpath << "/client-class[name='" << name << "']";
+ key << xpath << "/client-classes[name='" << name << "']";
setClass(key.str(), cclass);
}
}
diff --git a/src/lib/yang/translator_config.cc b/src/lib/yang/translator_config.cc
index 13a29d82bfdcbebe4e4035c4b842670f7d1aa8df..c74c165625702e825a7c8b153b3938e795b606cc 100644
--- a/src/lib/yang/translator_config.cc
+++ b/src/lib/yang/translator_config.cc
@@ -109,7 +109,7 @@ ElementPtr TranslatorConfig::getHook(DataNode const& data_node) {
ElementPtr
TranslatorConfig::getHooksKea(DataNode const& data_node) {
- return getList(data_node, "hook-library", *this, &TranslatorConfig::getHook);
+ return getList(data_node, "hooks-libraries", *this, &TranslatorConfig::getHook);
}
isc::data::ElementPtr
@@ -592,7 +592,7 @@ TranslatorConfig::setServerKeaDhcpCommon(string const& xpath,
continue;
}
ostringstream hook_lib;
- hook_lib << xpath << "/hook-library[library='"
+ hook_lib << xpath << "/hooks-libraries[library='"
<< name->stringValue() << "']";
string const hook_xpath(hook_lib.str());
setItem(hook_xpath, ElementPtr(), LeafBaseType::Unknown);
diff --git a/src/lib/yang/translator_logger.cc b/src/lib/yang/translator_logger.cc
index bff43db77d60f3e71052bf27a8401e16e5cbc17a..569509dceb794275ebf078652c8173c4fc2b68a5 100644
--- a/src/lib/yang/translator_logger.cc
+++ b/src/lib/yang/translator_logger.cc
@@ -75,7 +75,7 @@ TranslatorLogger::getOutputOption(DataNode const& data_node) {
ElementPtr
TranslatorLogger::getOutputOptions(DataNode const& data_node) {
- return getList(data_node, "output-option", *this,
+ return getList(data_node, "output_options", *this,
&TranslatorLogger::getOutputOption);
}
@@ -128,12 +128,12 @@ TranslatorLogger::setOutputOptions(string const& xpath, ConstElementPtr elem) {
for (size_t i = 0; i < elem->size(); ++i) {
ElementPtr option = elem->getNonConst(i);
if (!option->contains("output")) {
- isc_throw(BadValue, "output-option without output: "
+ isc_throw(BadValue, "output_options without output: "
<< option->str());
}
string output = option->get("output")->stringValue();
ostringstream key;
- key << xpath << "/output-option[output='" << output << "']";
+ key << xpath << "/output_options[output='" << output << "']";
setOutputOption(key.str(), option);
}
}
@@ -171,7 +171,7 @@ TranslatorLoggers::getLoggersFromAbsoluteXpath(string const& xpath) {
ElementPtr
TranslatorLoggers::getLoggersKea(DataNode const& data_node) {
- return getList(data_node, "logger", *this,
+ return getList(data_node, "loggers", *this,
&TranslatorLogger::getLogger);
}
@@ -203,7 +203,7 @@ TranslatorLoggers::setLoggersKea(string const& xpath, ConstElementPtr elem) {
}
string name = logger->get("name")->stringValue();
ostringstream key;
- key << xpath << "/logger[name='" << name << "']";
+ key << xpath << "/loggers[name='" << name << "']";
setLogger(key.str(), logger);
}
}
diff --git a/src/lib/yang/translator_logger.h b/src/lib/yang/translator_logger.h
index 6d54dc4b25b19f783dc2ba3b9421397cc6ba6a17..8929434bd8fa01493386d947a113ea28f5a1b222 100644
--- a/src/lib/yang/translator_logger.h
+++ b/src/lib/yang/translator_logger.h
@@ -41,7 +41,7 @@ namespace yang {
/// @code
/// +--rw logger* [name]
/// +--rw name string
-/// +--rw output-option* [output]
+/// +--rw output_options* [output]
/// | +--rw output string
/// | +--rw flush? boolean
/// | +--rw maxsize? uint32
diff --git a/src/lib/yang/translator_pd_pool.cc b/src/lib/yang/translator_pd_pool.cc
index d0f888050e67b99f25f32d8426c8f0b0fae38c98..bc248f52673a84a24ce0726bfe5cc373276987fd 100644
--- a/src/lib/yang/translator_pd_pool.cc
+++ b/src/lib/yang/translator_pd_pool.cc
@@ -243,9 +243,10 @@ TranslatorPdPools::TranslatorPdPools(Session session, const string& model)
ElementPtr
TranslatorPdPools::getPdPools(DataNode const& data_node) {
try {
- if ((model_ == IETF_DHCPV6_SERVER) ||
- (model_ == KEA_DHCP6_SERVER)) {
- return (getPdPoolsCommon(data_node));
+ if (model_ == IETF_DHCPV6_SERVER) {
+ return (getPdPoolsCommon(data_node, "pd-pool"));
+ } else if (model_ == KEA_DHCP6_SERVER) {
+ return (getPdPoolsCommon(data_node, "pd-pools"));
}
} catch (Error const& ex) {
isc_throw(NetconfError,
@@ -266,8 +267,8 @@ TranslatorPdPools::getPdPoolsFromAbsoluteXpath(string const& xpath) {
}
ElementPtr
-TranslatorPdPools::getPdPoolsCommon(DataNode const& data_node) {
- return getList(data_node, "pd-pool", *this,
+TranslatorPdPools::getPdPoolsCommon(DataNode const& data_node, string const& xpath) {
+ return getList(data_node, xpath, *this,
&TranslatorPdPool::getPdPool);
}
@@ -309,7 +310,7 @@ TranslatorPdPools::setPdPoolsPrefix(string const& xpath,
<< pool->str());
}
ostringstream prefix;
- prefix << xpath << "/pd-pool[prefix='"
+ prefix << xpath << "/pd-pools[prefix='"
<< pool->get("prefix")->stringValue() << "/"
<< pool->get("prefix-len")->intValue() << "']";
setPdPool(prefix.str(), pool);
diff --git a/src/lib/yang/translator_pd_pool.h b/src/lib/yang/translator_pd_pool.h
index a7d0ec030b94e3b8a0ea497fbf9940d2b4da21be..3848df39c648c6ec27ee3ec89ed188f0a6c28e35 100644
--- a/src/lib/yang/translator_pd_pool.h
+++ b/src/lib/yang/translator_pd_pool.h
@@ -232,7 +232,8 @@ protected:
/// @param data_node the YANG node representing the list of PD pools
///
/// @throw NetconfError when sysrepo raises an error.
- isc::data::ElementPtr getPdPoolsCommon(libyang::DataNode const& data_node);
+ isc::data::ElementPtr getPdPoolsCommon(libyang::DataNode const& data_node,
+ std::string const& xpath);
/// @brief setPdPools using pool-id.
///
diff --git a/src/lib/yang/translator_pool.cc b/src/lib/yang/translator_pool.cc
index 05fdec6a8dcc8239137a3325304f252971e8e30e..66a0bf56034ee0afb8c250da84e187f382548da9 100644
--- a/src/lib/yang/translator_pool.cc
+++ b/src/lib/yang/translator_pool.cc
@@ -266,7 +266,7 @@ TranslatorPools::getPoolsIetf(DataNode const& data_node) {
ElementPtr
TranslatorPools::getPoolsKea(DataNode const& data_node) {
- return getList(data_node, "pool", *this,
+ return getList(data_node, "pools", *this,
&TranslatorPool::getPool);
}
@@ -313,7 +313,7 @@ TranslatorPools::setPoolsByAddresses(string const& xpath,
string end_addr;
getAddresses(pref, start_addr, end_addr);
ostringstream prefix;
- prefix << xpath << "/pool[start-address='" << start_addr
+ prefix << xpath << "/pools[start-address='" << start_addr
<< "'][end-address='" << end_addr << "']";
setPool(prefix.str(), pool);
}
diff --git a/src/share/yang/modules/hashes/kea-dhcp4-server@2022-07-27.hash b/src/share/yang/modules/hashes/kea-dhcp4-server@2022-07-27.hash
new file mode 100644
index 0000000000000000000000000000000000000000..50ed7de6faf6d3ef4c5d44c1066bd324ac81f6cf
--- /dev/null
+++ b/src/share/yang/modules/hashes/kea-dhcp4-server@2022-07-27.hash
@@ -0,0 +1 @@
+7a43fa1d619fcb23912340c3abd597ca155668a65b4c26313a72f602e3584fb4
diff --git a/src/share/yang/modules/hashes/kea-types@2019-08-12.hash b/src/share/yang/modules/hashes/kea-types@2019-08-12.hash
index 49d7419eeab478a7ed45ffb5670d3ff840f636e5..bbe1f58304634d055ef834a66dea2dd8c09449a9 100644
--- a/src/share/yang/modules/hashes/kea-types@2019-08-12.hash
+++ b/src/share/yang/modules/hashes/kea-types@2019-08-12.hash
@@ -1 +1 @@
-250dd730716a0f65682d866958718eb5eefc62ff1e0463d9ae8047bc16123995
+af58ddb3d7268d459bd6eb878a460a99eea21aa55312d6d18a5773b5635f38e0
diff --git a/src/share/yang/modules/kea-dhcp4-server@2022-11-30.yang b/src/share/yang/modules/kea-dhcp4-server@2022-11-30.yang
index 3466e314a171714e20a9389078b4118efa47369c..a8d767e37c6efb563fe49fcd695d71b16f1fd9b2 100644
--- a/src/share/yang/modules/kea-dhcp4-server@2022-11-30.yang
+++ b/src/share/yang/modules/kea-dhcp4-server@2022-11-30.yang
@@ -182,7 +182,7 @@ module kea-dhcp4-server {
uses dhcp:t1-percent;
uses dhcp:t2-percent;
uses option-data-list;
- list pool {
+ list pools {
key "start-address end-address";
ordered-by user;
description "Pool list.";
@@ -264,7 +264,7 @@ module kea-dhcp4-server {
grouping client-classes {
description "Client class grouping.";
- list client-class {
+ list client-classes {
key name;
ordered-by user;
description "List of client classes.";
diff --git a/src/share/yang/modules/kea-dhcp6-server@2022-11-30.yang b/src/share/yang/modules/kea-dhcp6-server@2022-11-30.yang
index 57d74d0cbf57178987d86aa5145dfae8c7709b30..a17ca5271ef96df576edefdbf6bb42388ea05cd7 100644
--- a/src/share/yang/modules/kea-dhcp6-server@2022-11-30.yang
+++ b/src/share/yang/modules/kea-dhcp6-server@2022-11-30.yang
@@ -188,7 +188,7 @@ module kea-dhcp6-server {
uses dhcp:t1-percent;
uses dhcp:t2-percent;
uses option-data-list;
- list pool {
+ list pools {
key "start-address end-address";
ordered-by user;
description "Pool list.";
@@ -211,7 +211,7 @@ module kea-dhcp6-server {
uses dhcp:pool-require-client-classes;
uses dhcp:pool-user-context;
}
- list pd-pool {
+ list pd-pools {
key prefix;
ordered-by user;
description "Prefix delegation pool list.";
@@ -299,7 +299,7 @@ module kea-dhcp6-server {
grouping client-classes {
description "Client class grouping.";
- list client-class {
+ list client-classes {
key name;
ordered-by user;
description "List of client classes.";
diff --git a/src/share/yang/modules/kea-types@2019-08-12.yang b/src/share/yang/modules/kea-types@2019-08-12.yang
index a19c18f9e8b04e64633e74e5785370735cbb01f9..bf54c536330123ad4ccced87d56b179da61323af 100644
--- a/src/share/yang/modules/kea-types@2019-08-12.yang
+++ b/src/share/yang/modules/kea-types@2019-08-12.yang
@@ -63,7 +63,7 @@ module kea-types {
grouping hooks-libraries {
description "Hooks libraries grouping.";
- list hook-library {
+ list hooks-libraries {
key library;
description "List of hook library.";
leaf library {
@@ -80,7 +80,7 @@ module kea-types {
grouping loggers {
description "Loggers.";
- list logger {
+ list loggers {
key name;
description "List of loggers.";
leaf name {
@@ -88,7 +88,7 @@ module kea-types {
mandatory true;
description "Name of the logger.";
}
- list output-option {
+ list output_options {
key output;
description "List of output options.";
leaf output {