Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2019-03-29T15:07:32Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/490DHCPv4 server must interpret unspecified subnet and shared network parameters...2019-03-29T15:07:32ZMarcin SiodelskiDHCPv4 server must interpret unspecified subnet and shared network parameters fetched from the DBThe DHCPv4 server fetches the subnets and shared networks from the database and merges them into the current configuration. For all subnet and network specific values that are marked "unspecified" it must use the higher level values, e.g...The DHCPv4 server fetches the subnets and shared networks from the database and merges them into the current configuration. For all subnet and network specific values that are marked "unspecified" it must use the higher level values, e.g. globals. This work depends on #487. For details see: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#encoding-other-unspecified-parametersKea1.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/487Modify subnet and shared network objects to hold information about unspecifie...2019-02-28T14:09:40ZMarcin SiodelskiModify subnet and shared network objects to hold information about unspecified valuesThe values of the Subnet and Network objects should be encapsulated in the `OptionalValue` template to be able to mark some of the parameters as unspecified if they are not set in the CB commands that set new subnet and shared network. S...The values of the Subnet and Network objects should be encapsulated in the `OptionalValue` template to be able to mark some of the parameters as unspecified if they are not set in the CB commands that set new subnet and shared network. See https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#encoding-other-unspecified-parameters for the details.
Such change also requires that the subnet and shared network parsers are modified to mark values as unspecified if they are not explicitly set in the command.Kea1.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/464Kea DHCPv4 not able to send vendor options if client doesn't send vivso2019-02-19T12:04:48ZTomek MrugalskiKea DHCPv4 not able to send vendor options if client doesn't send vivsoA customer reported a problem that Kea is unable to send back vivso sub-options. Kea sends only the top-level vivso option with correct vendor-id, but is not able to send back any sub-options.
The problem has been investigated and this ...A customer reported a problem that Kea is unable to send back vivso sub-options. Kea sends only the top-level vivso option with correct vendor-id, but is not able to send back any sub-options.
The problem has been investigated and this is caused by the Genexis clients that do not send vivso option itself. That way, the server is not able to figure out what vendor-id to use.
In ideal world, Genexis client would send vivso with enterprise value set to 25167. But they don't and we need to tweak Kea to be able to work around that.Kea1.6Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/424Update cb_cmds commands to refuse reservations in remote-subnet4-set2019-02-27T10:35:30ZFrancis DupontUpdate cb_cmds commands to refuse reservations in remote-subnet4-setIf there is a reservations entry in the subnet definition:
- throw if it is not a list
- ~~if it is not empty warn and remove it before parsing~~
- if it is not empty return an error
Please edit this and remove one of the choices whe...If there is a reservations entry in the subnet definition:
- throw if it is not a list
- ~~if it is not empty warn and remove it before parsing~~
- if it is not empty return an error
Please edit this and remove one of the choices when the list if not empty. IMHO the last one is better: drastic but do not suggest reservations were added to the database.
Kea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/406Update cb_cmds with commands to retrieve configuration data for DHCPv42019-11-26T10:34:09ZMarcin SiodelskiUpdate cb_cmds with commands to retrieve configuration data for DHCPv4We need to update the cb_cmds hooks library to support commands to retrieve configuration information from the database via the configuration backend for subnets, shared networks, global parameters, options and option definitions. The fo...We need to update the cb_cmds hooks library to support commands to retrieve configuration information from the database via the configuration backend for subnets, shared networks, global parameters, options and option definitions. The following are the examples of the corresponding backend commands: `getSubnet4`, `getModifiedSubnets4` etc.Kea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/405Update cb_cmds with commands to delete configuration data for DHCPv42019-01-25T22:47:56ZMarcin SiodelskiUpdate cb_cmds with commands to delete configuration data for DHCPv4The cb_cmds must be updated to support commands to delete subnets, shared networks, options, option definitions and global parameters from the database via the configuration backends, e.g. `deleteSubnet4`, `deleteAllSubnets4` etc.The cb_cmds must be updated to support commands to delete subnets, shared networks, options, option definitions and global parameters from the database via the configuration backends, e.g. `deleteSubnet4`, `deleteAllSubnets4` etc.Kea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/402Merge DHCPv4 global parameters fetched from the CB into the configuration2019-02-21T18:38:27ZMarcin SiodelskiMerge DHCPv4 global parameters fetched from the CB into the configuration`SrvConfig::merge` must be updated to merge global parameters into existing staging or current configuration.`SrvConfig::merge` must be updated to merge global parameters into existing staging or current configuration.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/401Merge DHCPv4 options fetched from the CB into the configuration2019-03-18T19:36:36ZMarcin SiodelskiMerge DHCPv4 options fetched from the CB into the configuration`SrvConfig::merge` must be updated to merge options into existing staging or current configuration.`SrvConfig::merge` must be updated to merge options into existing staging or current configuration.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/400Merge DHCPv4 option definitions fetched from the CB into the configuration2019-02-28T13:28:03ZMarcin SiodelskiMerge DHCPv4 option definitions fetched from the CB into the configuration`SrvConfig::merge` must be updated to merge DHCPv4 option definitions into existing staging or current config.`SrvConfig::merge` must be updated to merge DHCPv4 option definitions into existing staging or current config.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/399Merge DHCPv4 shared networks fetched from the CB into the configuration2019-02-20T16:40:51ZMarcin SiodelskiMerge DHCPv4 shared networks fetched from the CB into the configuration`SrvConfig::merge` must be updated to merge DHCPv4 shared networks into existing staging or current config.`SrvConfig::merge` must be updated to merge DHCPv4 shared networks into existing staging or current config.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/394Recalculate statistics when server configuration is changed as a result of a ...2019-04-10T08:55:27ZMarcin SiodelskiRecalculate statistics when server configuration is changed as a result of a commandWhile reviewing !197 we found a general issue that statistics needs to be recalculated when incremental changes are applied to the configuration. The specific case discussed in !197 was that when new subnet is added to the database and t...While reviewing !197 we found a general issue that statistics needs to be recalculated when incremental changes are applied to the configuration. The specific case discussed in !197 was that when new subnet is added to the database and the server detects this change, it will fetch the subnet data and merge the subnet into the configuration it is currently running. Because, it bypasses the staging/commit phase, the statistics is not recalculated.
We also checked that subnet_cmds doesn't deal with this problem either. We may need to find some generic solution for it.Kea1.6https://gitlab.isc.org/isc-projects/kea/-/issues/363#13966: DHCP Option start sequence2019-03-11T12:50:56ZVicky Riskvicky@isc.org#13966: DHCP Option start sequenceSome clients require Option 53 first and don't accept options presented in numerical order the way they are in Kea 1.5.0. ISC DHCP sends option 53 first and so this has become an established, although non-standard, expectation.
After di...Some clients require Option 53 first and don't accept options presented in numerical order the way they are in Kea 1.5.0. ISC DHCP sends option 53 first and so this has become an established, although non-standard, expectation.
After discussion in the Kea support meeting, everyone thinks we should just change the default behavior in the base Kea code to support this (non-standard) client requirement. Thomas has written a patch for this (below) which was shared with the support customer requesting this. We should review, merge and test this and include the change in the next Kea release.
----------
diff --git a/src/lib/dhcp/libdhcp++.cc b/src/lib/dhcp/libdhcp++.cc
index ced705dd29..a9f956eda8 100644
--- a/src/lib/dhcp/libdhcp++.cc
+++ b/src/lib/dhcp/libdhcp++.cc
@@ -790,11 +790,19 @@ LibDHCP::packOptions4(isc::util::OutputBuffer& buf,
const OptionCollection& options) {
OptionPtr agent;
OptionPtr end;
+
+ auto x = options.find(DHO_DHCP_MESSAGE_TYPE);
+ if (x != options.end()) {
+ x->second->pack(buf);
+ }
+
for (OptionCollection::const_iterator it = options.begin();
it != options.end(); ++it) {
- // RAI and END options must be last.
+ // TYPE is already done, RAI and END options must be last.
switch (it->first) {
+ case DHO_DHCP_MESSAGE_TYPE:
+ break;
case DHO_DHCP_AGENT_OPTIONS:
agent = it->second;
break;Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/103CB: Add periodic fetch of the incremental DHCPv4 configuration changes2021-10-25T16:03:58ZMarcin SiodelskiCB: Add periodic fetch of the incremental DHCPv4 configuration changesThe Config Backend design: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#kea-configuration-backend-design calls for implementing a periodic fetch of configuration changes in the database. If there are c...The Config Backend design: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#kea-configuration-backend-design calls for implementing a periodic fetch of configuration changes in the database. If there are changes detected these changes are applied to the CfgMgr. This ticket covers implementing such mechanism in the DHCPv4 server.Kea1.6https://gitlab.isc.org/isc-projects/kea/-/issues/101CB: Add two step configuration to the DHCPv4 server2019-01-30T21:18:12ZMarcin SiodelskiCB: Add two step configuration to the DHCPv4 serverOnce the CfgMgr can merge local configuration with the configuration fetched from the database, the DHCPv4 server configuration and re-configuration procedure must be modified to first load configuration from the file and then from the d...Once the CfgMgr can merge local configuration with the configuration fetched from the database, the DHCPv4 server configuration and re-configuration procedure must be modified to first load configuration from the file and then from the database. The detailed state diagram is depicted here: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#configuration-state-diagram but this ticket excludes the bootstrap phase.Kea1.6Thomas MarkwalderThomas Markwalder