]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[65-libyang-simplify-update-models] Checkpoint: removed option-data-list (more to...
authorFrancis Dupont <fdupont@isc.org>
Mon, 19 Nov 2018 18:33:32 +0000 (19:33 +0100)
committerFrancis Dupont <fdupont@isc.org>
Thu, 22 Nov 2018 22:13:47 +0000 (17:13 -0500)
21 files changed:
src/lib/yang/models/kea-dhcp-types.yang
src/lib/yang/models/kea-dhcp4-server.yang
src/lib/yang/models/kea-dhcp6-server.yang
src/lib/yang/tests/translator_option_data_unittests.cc
src/lib/yang/tests/yang_configs.h
src/lib/yang/translator_class.cc
src/lib/yang/translator_class.h
src/lib/yang/translator_config.cc
src/lib/yang/translator_config.h
src/lib/yang/translator_host.cc
src/lib/yang/translator_host.h
src/lib/yang/translator_option_data.cc
src/lib/yang/translator_option_data.h
src/lib/yang/translator_pd_pool.cc
src/lib/yang/translator_pd_pool.h
src/lib/yang/translator_pool.cc
src/lib/yang/translator_pool.h
src/lib/yang/translator_shared_network.cc
src/lib/yang/translator_shared_network.h
src/lib/yang/translator_subnet.cc
src/lib/yang/translator_subnet.h

index 27511aeaf675d93f554174b8ebe772a3d0deb158..6fbd3ebc927e28448c0761037a0199e5de094287 100644 (file)
@@ -15,7 +15,7 @@ module kea-dhcp-types {
   contact "kea-dev@lists.isc.org";
   description "This file defines some commonly used Kea DHCP types and
                groupings.";
-  revision 2018-11-13 {
+  revision 2018-11-14 {
     description "Initial revision";
     reference "";
   }
index a5746a96a1a463b695e5fe352a2f132ec7b0d9a5..c60a5a6b56e91c41a3df42b431e2c1b13d87db8c 100644 (file)
@@ -12,7 +12,7 @@ module kea-dhcp4-server {
   }
   import kea-dhcp-types {
     prefix dhcp;
-    revision-date 2018-11-13;
+    revision-date 2018-11-14;
   }
   import kea-logging {
     prefix logging;
@@ -24,7 +24,7 @@ module kea-dhcp4-server {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea DHCPv4 server.";
 
-  revision 2018-11-13 {
+  revision 2018-11-14 {
     description "Initial revision";
     reference "";
   }
@@ -259,27 +259,24 @@ module kea-dhcp4-server {
 
   grouping option-data-list {
     description "Option data list grouping.";
-    container option-data-list {
-      description "Option data list.";
-      list option-data {
-        key "code space";
-        description "Option data entry.";
-        leaf code {
-          type uint8;
-          mandatory true;
-          description "Option code.";
-        }
-        leaf space {
-          type string;
-          mandatory true;
-          description "Option space.";
-        }
-        uses dhcp:option-data-name;
-        uses dhcp:option-data-data;
-        uses dhcp:option-data-csv-format;
-        uses dhcp:option-data-always-send;
-        uses dhcp:option-data-user-context;
+    list option-data {
+      key "code space";
+      description "Option data entry.";
+      leaf code {
+        type uint8;
+        mandatory true;
+        description "Option code.";
+      }
+      leaf space {
+        type string;
+        mandatory true;
+        description "Option space.";
       }
+      uses dhcp:option-data-name;
+      uses dhcp:option-data-data;
+      uses dhcp:option-data-csv-format;
+      uses dhcp:option-data-always-send;
+      uses dhcp:option-data-user-context;
     }
   }
 
index 8423a938c1f09372a6d7a8142669ac60821da567..3bdda1cd59434dd6af85a11398a4e12c49d33218 100644 (file)
@@ -12,7 +12,7 @@ module kea-dhcp6-server {
   }
   import kea-dhcp-types {
     prefix dhcp;
-    revision-date 2018-11-13;
+    revision-date 2018-11-14;
   }
   import kea-logging {
     prefix logging;
@@ -24,7 +24,7 @@ module kea-dhcp6-server {
   description "This model defines a YANG data model that can be
                used to configure and manage a Kea DHCPv6 server.";
 
-  revision 2018-11-13 {
+  revision 2018-11-14 {
     description "Initial revision";
     reference "";
   }
@@ -265,27 +265,24 @@ module kea-dhcp6-server {
 
   grouping option-data-list {
     description "Option data list grouping.";
-    container option-data-list {
-      description "Option data list.";
-      list option-data {
-        key "code space";
-        description "Option data entry.";
-        leaf code {
-          type uint16;
-          mandatory true;
-          description "Option code.";
-        }
-        leaf space {
-          type string;
-          mandatory true;
-          description "Option space.";
-        }
-        uses dhcp:option-data-name;
-        uses dhcp:option-data-data;
-        uses dhcp:option-data-csv-format;
-        uses dhcp:option-data-always-send;
-        uses dhcp:option-data-user-context;
+    list option-data {
+      key "code space";
+      description "Option data entry.";
+      leaf code {
+        type uint16;
+        mandatory true;
+        description "Option code.";
+      }
+      leaf space {
+        type string;
+        mandatory true;
+        description "Option space.";
       }
+      uses dhcp:option-data-name;
+      uses dhcp:option-data-data;
+      uses dhcp:option-data-csv-format;
+      uses dhcp:option-data-always-send;
+      uses dhcp:option-data-user-context;
     }
   }
 
index 7067b0fbb012950049dfa24ceeba910205898447..e95030a7634d02563691f17f96122d49116b25e7 100644 (file)
@@ -45,7 +45,7 @@ TEST_F(TranslatorOptionDataListTest, getEmpty) {
     useModel(KEA_DHCP4_SERVER);
 
     // Get the option data list and check if it is empty.
-    const string& xpath = "/kea-dhcp4-server:config/option-data-list";
+    const string& xpath = "/kea-dhcp4-server:config";
     ConstElementPtr options;
     EXPECT_NO_THROW(options = t_obj_->getOptionDataList(xpath));
     ASSERT_TRUE(options);
@@ -59,7 +59,7 @@ TEST_F(TranslatorOptionDataListTest, get) {
     useModel(KEA_DHCP6_SERVER);
 
     // Create the option code 100.
-    const string& xpath = "/kea-dhcp6-server:config/option-data-list";
+    const string& xpath = "/kea-dhcp6-server:config";
     const string& xoption = xpath + "/option-data[code='100'][space='dns']";
     const string& xformat = xoption + "/csv-format";
     const string& xdata = xoption + "/data";
@@ -98,7 +98,7 @@ TEST_F(TranslatorOptionDataListTest, setEmpty) {
     useModel(KEA_DHCP4_SERVER);
 
     // Set empty list.
-    const string& xpath = "/kea-dhcp4-server:config/option-data-list";
+    const string& xpath = "/kea-dhcp4-server:config";
     ConstElementPtr options = Element::createList();
     EXPECT_NO_THROW(t_obj_->setOptionDataList(xpath, options));
 
@@ -120,7 +120,7 @@ TEST_F(TranslatorOptionDataListTest, set) {
     useModel(KEA_DHCP6_SERVER);
 
     // Set one option data.
-    const string& xpath = "/kea-dhcp6-server:config/option-data-list";
+    const string& xpath = "/kea-dhcp6-server:config";
     ElementPtr options = Element::createList();
     ElementPtr option = Element::createMap();
     option->set("code", Element::create(100));
@@ -145,19 +145,17 @@ TEST_F(TranslatorOptionDataListTest, set) {
     string expected =
         "kea-dhcp6-server:config (container)\n"
         " |\n"
-        " -- option-data-list (container)\n"
+        " -- option-data (list instance)\n"
         "     |\n"
-        "     -- option-data (list instance)\n"
-        "         |\n"
-        "         -- code = 100\n"
-        "         |\n"
-        "         -- space = dns\n"
-        "         |\n"
-        "         -- data = 12121212\n"
-        "         |\n"
-        "         -- csv-format = false\n"
-        "         |\n"
-        "         -- always-send = false\n";
+        "     -- code = 100\n"
+        "     |\n"
+        "     -- space = dns\n"
+        "     |\n"
+        "     -- data = 12121212\n"
+        "     |\n"
+        "     -- csv-format = false\n"
+        "     |\n"
+        "     -- always-send = false\n";
     EXPECT_EQ(expected, tree->to_string(100));
 
     // Check it validates.
index 8711bfb129883ff4749bc3b22d79fbf553dd4a02..cfefbf228e73dbb5e8f54a782ec2b58336c5c6ba 100644 (file)
@@ -294,23 +294,21 @@ const YRTree subnetOptionsTreeKeaDhcp4 = {
       SR_LIST_T, true },
     { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/id",
       "111", SR_UINT32_T, false },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list",
-      "", SR_CONTAINER_T, false },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list/"
+    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/"
       "option-data[code='100'][space='dns']", "", SR_LIST_T, true },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list/"
+    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/"
       "option-data[code='100'][space='dns']/code",
       "100", SR_UINT8_T, false },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list/"
+    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/"
       "option-data[code='100'][space='dns']/space",
       "dns", SR_STRING_T, false },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list/"
+    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/"
       "option-data[code='100'][space='dns']/data",
       "12121212", SR_STRING_T, true },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list/"
+    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/"
       "option-data[code='100'][space='dns']/csv-format",
       "false", SR_BOOL_T, true },
-    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/option-data-list/"
+    { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/"
       "option-data[code='100'][space='dns']/always-send",
       "false", SR_BOOL_T, true },
     { "/kea-dhcp4-server:config/subnet4/subnet4[id='111']/pools",
@@ -357,30 +355,27 @@ const YRTree subnetOptionsTreeKeaDhcp6 = {
       "prefix", "2001:db8::1:0/112", SR_STRING_T, true },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
       "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list", "", SR_CONTAINER_T, false },
-    { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
-      "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list/option-data[code='100'][space='dns']",
+      "option-data[code='100'][space='dns']",
       "", SR_LIST_T, true },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
       "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list/option-data[code='100'][space='dns']/code",
+      "option-data[code='100'][space='dns']/code",
       "100", SR_UINT16_T, false },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
       "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list/option-data[code='100'][space='dns']/space",
+      "option-data[code='100'][space='dns']/space",
       "dns", SR_STRING_T, false },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
       "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list/option-data[code='100'][space='dns']/data",
+      "option-data[code='100'][space='dns']/data",
       "12121212", SR_STRING_T, true },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
       "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list/option-data[code='100'][space='dns']/csv-format",
+      "option-data[code='100'][space='dns']/csv-format",
       "false", SR_BOOL_T, true },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/pools/"
       "pool[start-address='2001:db8::1:0'][end-address='2001:db8::1:ffff']/"
-      "option-data-list/option-data[code='100'][space='dns']/always-send",
+      "option-data[code='100'][space='dns']/always-send",
       "false", SR_BOOL_T, true },
     { "/kea-dhcp6-server:config/subnet6/subnet6[id='111']/subnet",
       "2001:db8::/48", SR_STRING_T, true }
index 5774a794b423ca3cfb54943a3e01a6db44ebfe7a..ad75dd6b41d6700c8ff8ebe13b92badbfbde5ad0 100644 (file)
@@ -64,7 +64,7 @@ TranslatorClass::getClassKea(const string& xpath) {
     if (required) {
         result->set("only-if-required", required);
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && (options->size() > 0)) {
         result->set("option-data", options);
     }
@@ -126,7 +126,7 @@ TranslatorClass::setClassKea(const string& xpath, ConstElementPtr elem) {
     }
     ConstElementPtr options = elem->get("option-data");
     if (options) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
         created = true;
     }
     if (model_ == KEA_DHCP4_SERVER) {
index 15de324531dffdf3f3857ac0fb73a4407ae5cbba..d74852eafa41340e8d85b82e35ef8be55a9ae787 100644 (file)
@@ -38,7 +38,7 @@ namespace yang {
 ///    +--rw name                string
 ///    +--rw test?               string
 ///    +--rw only-if-required?   boolean
-///    +--rw option-data-list    option-data*
+///    +--rw option-data*
 ///    +--rw option-def-list     option-def*
 ///    +--rw next-server?        inet:ipv4-address
 ///    +--rw server-hostname?    string
index a05bcd3c2dd98f5c35f009372383510d9cbb4b91..d3d08901e17731a6f7b0389bb2f6e8fb024cd84d 100644 (file)
@@ -243,7 +243,7 @@ TranslatorConfig::getServerKeaDhcpCommon(const string& xpath) {
     if (defs && !defs->empty()) {
         result->set("option-def", defs);
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && !options->empty()) {
         result->set("option-data", options);
     }
@@ -536,7 +536,7 @@ TranslatorConfig::setServerKeaDhcpCommon(const string& xpath,
     }
     ConstElementPtr options = elem->get("option-data");
     if (options && !options->empty()) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
     }
     ConstElementPtr hook_libs = elem->get("hooks-libraries");
     if (hook_libs) {
index b3a09d3d6f8dd831c5dbaf8160fcc6c986a02274..48a3c307855d74199646af1f093c14305c416005 100644 (file)
@@ -82,7 +82,7 @@ namespace yang {
 /// +--rw host-reservation-identifiers*  enumeration
 /// +--rw client-classes                 client-class*
 /// +--rw option-def-list                option-def*
-/// +--rw option-data-list               option-data*
+/// +--rw option-data*
 /// +--rw hook-library*
 ///    +--rw library                     string
 ///    +--rw parameters?                 string
index 4c4a0ad34f0f146cae210d33f9e367939759d43f..7b21c161ae4d94bfe6a4e3d2a3dc2c5ab4183816 100644 (file)
@@ -74,7 +74,7 @@ TranslatorHost::getHostKea(const string& xpath) {
             result->set("prefixes", prefixes);
         }
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && (options->size() > 0)) {
         result->set("option-data", options);
     }
@@ -148,7 +148,7 @@ TranslatorHost::setHostKea(const string& xpath, ConstElementPtr elem) {
     }
     ConstElementPtr options = elem->get("option-data");
     if (options && (options->size() > 0)) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
     }
     ConstElementPtr classes = elem->get("client-classes");
     if (classes && (classes->size() > 0)) {
index e1f611546510b72617189e99871685a2bf69952a..066183da53dd6c049618a9d3e1b10eee30f473d5 100644 (file)
@@ -57,7 +57,7 @@ namespace yang {
 /// +--rw identifier-type          enumeration
 /// +--rw identifier               string
 /// +--rw hostname?                string
-/// +--rw option-data-list         option-data*
+/// +--rw option-data*
 /// +--rw client-classes*          string
 /// +--rw user-context?            string
 /// (DHCPv4 only)
index 0fb64f445a29fa1462a3611882984cff5b17665e..644cf794693096090c0147fdc651d6275bb9036b 100644 (file)
@@ -153,7 +153,7 @@ TranslatorOptionDataList::getOptionDataList(const string& xpath) {
 ConstElementPtr
 TranslatorOptionDataList::getOptionDataListKea(const string& xpath) {
     ElementPtr result = Element::createList();
-    S_Iter_Value iter = getIter(xpath + "/*");
+    S_Iter_Value iter = getIter(xpath + "/option-data");
     if (!iter) {
         // Can't happen.
         isc_throw(Unexpected, "getOptionDataListKea: can't get iterator: "
index eeb104d3cc4c3b2c63ae28ef82cb69de78b17d49..69c444e6ac76735647a46a54a3211911b0cc14f8 100644 (file)
@@ -54,18 +54,17 @@ namespace yang {
 /// @endcode
 /// @code
 ///  /kea-dhcp6-server:config (container)
-///  /kea-dhcp6-server:config/option-data-list (container)
-///  /kea-dhcp6-server:config/option-data-list/
+///  /kea-dhcp6-server:config/
 ///     option-data[code='100'][space='dns'] (list instance)
-///  /kea-dhcp6-server:config/option-data-list/
+///  /kea-dhcp6-server:config/
 ///     option-data[code='100'][space='dns']/code = 100
-///  /kea-dhcp6-server:config/option-data-list/
+///  /kea-dhcp6-server:config/
 ///     option-data[code='100'][space='dns']/space = dns
-///  /kea-dhcp6-server:config/option-data-list/
+///  /kea-dhcp6-server:config/
 ///     option-data[code='100'][space='dns']/data = 12121212
-///  /kea-dhcp6-server:config/option-data-list/
+///  /kea-dhcp6-server:config/
 ///     option-data[code='100'][space='dns']/csv-format = false
-///  /kea-dhcp6-server:config/option-data-list/
+///  /kea-dhcp6-server:config/
 ///     option-data[code='100'][space='dns']/always-send = false
 /// @endcode
 
index a93568a324155065ec7e767b0ba499183bc13761..716f8c3e7c77fe5cbac113789e438c268135c49b 100644 (file)
@@ -160,7 +160,7 @@ TranslatorPdPool::getPdPoolKea(const string& xpath) {
     if (delegated) {
         result->set("delegated-len", delegated);
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && (options->size() > 0)) {
         result->set("option-data", options);
     }
@@ -258,7 +258,7 @@ TranslatorPdPool::setPdPoolKea(const string& xpath, ConstElementPtr elem) {
     }
     ConstElementPtr options = elem->get("option-data");
     if (options && (options->size() > 0)) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
         created = true;
     }
     ConstElementPtr guard = elem->get("client-class");
index 353049e3e6dccf728d48dd79bbac941e37cd4d6e..5ae4d7667566fd0240fd3e1a1ff5de3f71f3f8ab 100644 (file)
@@ -52,7 +52,7 @@ namespace yang {
 ///  +--rw prefix?                  inet:ipv6-prefix
 ///  +--rw delegated-len?           uint8
 ///  +--rw excluded-prefix?         inet:ipv6-prefix
-///  +--rw option-data-list         option-data*
+///  +--rw option-data*
 ///  +--rw client-class?            string
 ///  +--rw require-client-classes*  string
 ///  +--rw user-context?            string
index 199487a1533ab48bae6020b6edc02e0216c12eda..b4ae2654befb6cbcddd05684b7c9e8e35db124fe 100644 (file)
@@ -108,7 +108,7 @@ TranslatorPool::getPoolKea(const string& xpath) {
               << end_addr->stringValue();
         result->set("pool", Element::create(range.str()));
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && (options->size() > 0)) {
         result->set("option-data", options);
     }
@@ -217,7 +217,7 @@ TranslatorPool::setPoolKea(const string& xpath, ConstElementPtr elem) {
     // Skip start-address and end-address as are the keys.
     ConstElementPtr options = elem->get("option-data");
     if (options && (options->size() > 0)) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
         created = true;
     }
     ConstElementPtr guard = elem->get("client-class");
index 85ce580ebe1cf2bc1d686020f46c950097b6fe3b..ffc1086bcd6054f0a1aac525fce9d3d67800f13e 100644 (file)
@@ -52,7 +52,7 @@ namespace yang {
 /// +--rw prefix?                  inet:ipv[46]-prefix
 /// +--rw start-address            inet:ipv[46]-address
 /// +--rw end-address              inet:ipv[46]-address
-/// +--rw option-data-list         option-data*
+/// +--rw option-data*
 /// +--rw client-class?            string
 /// +--rw require-client-classes*  string
 /// +--rw user-context?            string
index e9936f9ecc46efc443129d22a20e7517c2d68d9f..8372841b79e066fe1fe865170f0d21907dbbff81 100644 (file)
@@ -87,7 +87,7 @@ TranslatorSharedNetwork::getSharedNetworkKea(const string& xpath,
     if (rebind) {
         result->set("rebind-timer", rebind);
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && (options->size() > 0)) {
         result->set("option-data", options);
     }
@@ -201,7 +201,7 @@ TranslatorSharedNetwork::setSharedNetworkKea(const string& xpath,
     }
     ConstElementPtr options = elem->get("option-data");
     if (options && (options->size() > 0)) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
     }
     ConstElementPtr interface = elem->get("interface");
     if (interface) {
index b836f034047a1b52c6d73f80e11b3bb174f14f37..c07d7fc8db299856c3e4a5672b8c666ab89eb3e1 100644 (file)
@@ -68,7 +68,7 @@ namespace yang {
 ///  +--rw valid-lifetime?           uint32
 ///  +--rw renew-timer?              uint32
 ///  +--rw rebind-timer?             uint32
-///  +--rw option-data-list          option-data*
+///  +--rw option-data*
 ///  +--rw interface?                string
 ///  +--rw client-class?             string
 ///  +--rw require-client-classes*   string
index 526f1410df9c23b5ef80b634e0f70b3506ab517c..e047aa9ddfd5173e4859609638923feddd908b10 100644 (file)
@@ -112,7 +112,7 @@ TranslatorSubnet::getSubnetKea(const string& xpath) {
     if (rebind) {
         result->set("rebind-timer", rebind);
     }
-    ConstElementPtr options = getOptionDataList(xpath + "/option-data-list");
+    ConstElementPtr options = getOptionDataList(xpath);
     if (options && (options->size() > 0)) {
         result->set("option-data", options);
     }
@@ -285,7 +285,7 @@ TranslatorSubnet::setSubnetKea(const string& xpath, ConstElementPtr elem) {
     }
     ConstElementPtr options = elem->get("option-data");
     if (options && (options->size() > 0)) {
-        setOptionDataList(xpath + "/option-data-list", options);
+        setOptionDataList(xpath, options);
     }
     ConstElementPtr pools = elem->get("pools");
     if (pools && (pools->size() > 0)) {
index 609052eb856d12201bf8c78ee646feee50c74989..f8062dd38d90f6de208a0af031fb5b95c6e0b5e6 100644 (file)
@@ -89,7 +89,7 @@ namespace yang {
 ///  +--rw valid-lifetime?           uint32
 ///  +--rw renew-timer?              uint32
 ///  +--rw rebind-timer?             uint32
-///  +--rw option-data-list          option-data*
+///  +--rw option-data*
 ///  +--rw pools                     pool*
 ///  +--rw subnet                    inet:ip-prefix
 ///  +--rw interface?                string