From: Francis Dupont Date: Tue, 20 Nov 2018 17:09:00 +0000 (+0100) Subject: [65-libyang-simplify-update-models] Added global reservation-mode X-Git-Tag: 75-radius-documentation-needs-an-update_base~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e3e4e23005cc7cfd951cb3f004c7809db75eb45;p=thirdparty%2Fkea.git [65-libyang-simplify-update-models] Added global reservation-mode --- diff --git a/src/lib/yang/models/kea-ctrl-agent.yang b/src/lib/yang/models/kea-ctrl-agent.yang index 970c662eca..a51e6bb75c 100644 --- a/src/lib/yang/models/kea-ctrl-agent.yang +++ b/src/lib/yang/models/kea-ctrl-agent.yang @@ -8,11 +8,11 @@ module kea-ctrl-agent { } import kea-types { prefix kea; - revision-date 2018-09-14; + revision-date 2018-11-20; } import kea-logging { prefix logging; - revision-date 2018-11-16; + revision-date 2018-11-20; } organization "Internet Systems Consortium"; @@ -20,7 +20,7 @@ module kea-ctrl-agent { description "This model defines a YANG data model that can be used to configure and manage a Kea control agent."; - revision 2018-11-19 { + revision 2018-11-20 { description "Initial revision"; reference ""; } diff --git a/src/lib/yang/models/kea-dhcp-ddns.yang b/src/lib/yang/models/kea-dhcp-ddns.yang index 52ae42833a..3e92fc5b7f 100644 --- a/src/lib/yang/models/kea-dhcp-ddns.yang +++ b/src/lib/yang/models/kea-dhcp-ddns.yang @@ -8,11 +8,11 @@ module kea-dhcp-ddns { } import kea-types { prefix kea; - revision-date 2018-09-14; + revision-date 2018-11-20; } import kea-logging { prefix logging; - revision-date 2018-11-16; + revision-date 2018-11-20; } organization "Internet Systems Consortium"; @@ -20,7 +20,7 @@ module kea-dhcp-ddns { description "This model defines a YANG data model that can be used to configure and manage a Kea DHCP-DDNS server."; - revision 2018-11-19 { + revision 2018-11-20 { description "Initial revision"; reference ""; } diff --git a/src/lib/yang/models/kea-dhcp-types.yang b/src/lib/yang/models/kea-dhcp-types.yang index 551eb788cc..2bfc96f8e8 100644 --- a/src/lib/yang/models/kea-dhcp-types.yang +++ b/src/lib/yang/models/kea-dhcp-types.yang @@ -8,14 +8,14 @@ module kea-dhcp-types { } import kea-types { prefix kea; - revision-date 2018-09-14; + revision-date 2018-11-20; } organization "Internet Systems Consortium"; contact "kea-dev@lists.isc.org"; description "This file defines some commonly used Kea DHCP types and groupings."; - revision 2018-11-18 { + revision 2018-11-20 { description "Initial revision"; reference ""; } @@ -522,24 +522,6 @@ module kea-dhcp-types { } } - grouping subnet-reservation-mode { - description "Reservation mode grouping for a subnet."; - uses reservation-mode { - refine reservation-mode { - description "Subnet host reservation mode."; - } - } - } - - grouping network-reservation-mode { - description "Reservation mode grouping for a shared network."; - uses reservation-mode { - refine reservation-mode { - description "Shared network host reservation mode."; - } - } - } - grouping interfaces-re-detect { description "Interfaces re-detect grouping."; leaf re-detect { diff --git a/src/lib/yang/models/kea-dhcp4-server.yang b/src/lib/yang/models/kea-dhcp4-server.yang index 04a5e4126c..fae5328750 100644 --- a/src/lib/yang/models/kea-dhcp4-server.yang +++ b/src/lib/yang/models/kea-dhcp4-server.yang @@ -8,15 +8,15 @@ module kea-dhcp4-server { } import kea-types { prefix kea; - revision-date 2018-09-14; + revision-date 2018-11-20; } import kea-dhcp-types { prefix dhcp; - revision-date 2018-11-18; + revision-date 2018-11-20; } import kea-logging { prefix logging; - revision-date 2018-11-16; + revision-date 2018-11-20; } organization "Internet Systems Consortium"; @@ -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-19 { + revision 2018-11-20 { description "Initial revision"; reference ""; } @@ -185,7 +185,7 @@ module kea-dhcp4-server { description "Subnet host reservations list."; } } - uses dhcp:subnet-reservation-mode; + uses dhcp:reservation-mode; container relay { description "Optional information about relay agent."; uses relay; @@ -308,7 +308,7 @@ module kea-dhcp4-server { uses relay; } uses authoritative; - uses dhcp:network-reservation-mode; + uses dhcp:reservation-mode; uses dhcp:network-client-class; uses dhcp:network-require-client-classes; uses dhcp:valid-lifetime; @@ -384,6 +384,7 @@ module kea-dhcp4-server { } } uses dhcp:sanity-checks; + uses dhcp:reservation-mode; uses reservations { refine host { description "Global host reservations list."; diff --git a/src/lib/yang/models/kea-dhcp6-server.yang b/src/lib/yang/models/kea-dhcp6-server.yang index 5c8d3ae2cf..069ef29f48 100644 --- a/src/lib/yang/models/kea-dhcp6-server.yang +++ b/src/lib/yang/models/kea-dhcp6-server.yang @@ -8,15 +8,15 @@ module kea-dhcp6-server { } import kea-types { prefix kea; - revision-date 2018-09-14; + revision-date 2018-11-20; } import kea-dhcp-types { prefix dhcp; - revision-date 2018-11-18; + revision-date 2018-11-20; } import kea-logging { prefix logging; - revision-date 2018-11-16; + revision-date 2018-11-20; } organization "Internet Systems Consortium"; @@ -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-19 { + revision 2018-11-20 { description "Initial revision"; reference ""; } @@ -209,7 +209,7 @@ module kea-dhcp6-server { description "Subnet host reservations list."; } } - uses dhcp:subnet-reservation-mode; + uses dhcp:reservation-mode; container relay { description "Optional information about relay agent."; uses relay; @@ -312,7 +312,7 @@ module kea-dhcp6-server { description "Optional information about relay agent."; uses relay; } - uses dhcp:network-reservation-mode; + uses dhcp:reservation-mode; uses dhcp:network-client-class; uses dhcp:require-client-classes; uses preferred-lifetime; @@ -412,6 +412,7 @@ module kea-dhcp6-server { } } uses dhcp:sanity-checks; + uses dhcp:reservation-mode; uses reservations { refine host { description "Global host reservations list."; diff --git a/src/lib/yang/models/kea-logging.yang b/src/lib/yang/models/kea-logging.yang index 8e3583c07f..31dd195176 100644 --- a/src/lib/yang/models/kea-logging.yang +++ b/src/lib/yang/models/kea-logging.yang @@ -5,7 +5,7 @@ module kea-logging { import kea-types { prefix kea; - revision-date 2018-09-14; + revision-date 2018-11-20; } organization "Internet Systems Consortium"; @@ -13,7 +13,7 @@ module kea-logging { description "This model defines a YANG data model that can be used to configure and manage logging of a Kea server."; - revision 2018-11-16 { + revision 2018-11-20 { description "Initial revision"; reference ""; } diff --git a/src/lib/yang/models/kea-types.yang b/src/lib/yang/models/kea-types.yang index 2346634ff4..6ac07485a5 100644 --- a/src/lib/yang/models/kea-types.yang +++ b/src/lib/yang/models/kea-types.yang @@ -7,7 +7,7 @@ module kea-types { contact "kea-dev@lists.isc.org"; description "This file defines some commonly used Kea types and groupings."; - revision 2018-09-14 { + revision 2018-11-20 { description "Initial revision"; reference ""; } diff --git a/src/lib/yang/translator_config.cc b/src/lib/yang/translator_config.cc index 128973f5ad..8f183548a6 100644 --- a/src/lib/yang/translator_config.cc +++ b/src/lib/yang/translator_config.cc @@ -87,11 +87,11 @@ TranslatorConfig::getConfigKea4() { result->set("Dhcp4", dhcp); ConstElementPtr loggers = dhcp->get("loggers"); if (loggers) { - dhcp->remove("loggers"); + dhcp->remove("loggers"); - ElementPtr logging = Element::createMap(); - logging->set("loggers", loggers); - result->set("Logging", logging); + ElementPtr logging = Element::createMap(); + logging->set("loggers", loggers); + result->set("Logging", logging); } return (result); } @@ -103,11 +103,11 @@ TranslatorConfig::getConfigKea6() { result->set("Dhcp6", dhcp); ConstElementPtr loggers = dhcp->get("loggers"); if (loggers) { - dhcp->remove("loggers"); + dhcp->remove("loggers"); - ElementPtr logging = Element::createMap(); - logging->set("loggers", loggers); - result->set("Logging", logging); + ElementPtr logging = Element::createMap(); + logging->set("loggers", loggers); + result->set("Logging", logging); } return (result); } @@ -286,6 +286,7 @@ TranslatorConfig::getServerKeaDhcpCommon(const string& xpath) { sanity->set("lease-checks", checks); result->set("sanity-checks", sanity); } + getParam(result, xpath, "reservation-mode"); ConstElementPtr hosts = getHosts(xpath); if (hosts && !hosts->empty()) { result->set("reservations", hosts); @@ -692,6 +693,10 @@ TranslatorConfig::setServerKeaDhcpCommon(const string& xpath, setItem(xpath + "/sanity-checks/lease-checks", checks, SR_ENUM_T); } } + ConstElementPtr hr_mode = elem->get("reservation-mode"); + if (hr_mode) { + setItem(xpath + "/reservation-mode", hr_mode, SR_ENUM_T); + } ConstElementPtr hosts = elem->get("reservations"); if (hosts && !hosts->empty()) { setHosts(xpath, hosts); diff --git a/src/lib/yang/translator_config.h b/src/lib/yang/translator_config.h index 947c278346..faaca35bbe 100644 --- a/src/lib/yang/translator_config.h +++ b/src/lib/yang/translator_config.h @@ -55,6 +55,7 @@ namespace yang { /// , /// , /// "sanity-checks": { }, +/// "reservation-mode": , /// "reservations": [ ], /// , /// "server-tag": , @@ -99,6 +100,7 @@ namespace yang { /// +--rw user-context? string /// +--rw sanity-checks /// +--rw lease-checks? enumeration +/// +--rw reservation-mode? enumeration /// +--rw host* /// +--rw config-control /// +--rw config-database* @@ -189,6 +191,7 @@ namespace yang { /// , /// /// "sanity-checks": { }, +/// "reservation-mode": , /// "reservations": [ ], /// , /// "server-tag": , @@ -230,6 +233,7 @@ namespace yang { /// +--rw user-context? string /// +--rw sanity-checks /// +--rw lease-checks? enumeration +/// +--rw reservation-mode? enumeration /// +--rw host* /// +--rw config-control /// +--rw config-database*