Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2024-02-16T13:28:24Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/1Update NETCONF requirements and design2024-02-16T13:28:24ZTomek MrugalskiUpdate NETCONF requirements and designAs the first step, we need to expand [the requirements](../wikis/designs/netconf-requirements) and [the design](../wikis/designs/netconf-design) pages. These are living documents, so they probably will never be truly done.
Nevertheless,...As the first step, we need to expand [the requirements](../wikis/designs/netconf-requirements) and [the design](../wikis/designs/netconf-design) pages. These are living documents, so they probably will never be truly done.
Nevertheless, the goal of this ticket is to have them sufficiently complete, so the code implementation could start and there's realistic expectation that other parties interested in the code (QA team, external users) could have realistic expectation what they would get.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2Document NETCONF translator commands2022-10-27T12:44:25ZTomek MrugalskiDocument NETCONF translator commandsOnce #1 is done, the next step will be to write down which specific NETCONF structures (from kea-dhcpv4-server and ietf-dhcpv6-server models) would be converted to which JSON commands that Kea could understand.
This is an essential docu...Once #1 is done, the next step will be to write down which specific NETCONF structures (from kea-dhcpv4-server and ietf-dhcpv6-server models) would be converted to which JSON commands that Kea could understand.
This is an essential document for anyone who is interested in integrating kea-netconf with any external tools or systems.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/3Implement kea-netconf skeleton2022-10-27T12:44:25ZTomek MrugalskiImplement kea-netconf skeletonThe first programmatic step will be to implement a skeleton kea-netconf daemon. At the very minimum the code has to:
1. be able to detect sysrepo location and link with it.
2. have a standalone daemon (kea-netconf) that can accept an in...The first programmatic step will be to implement a skeleton kea-netconf daemon. At the very minimum the code has to:
1. be able to detect sysrepo location and link with it.
2. have a standalone daemon (kea-netconf) that can accept an input config file (and do nothing with it yet)
3. the daemon must be able to log something. For the time being, printing out a version number and startup message is enough.
4. there has to be a boilerplate manual page for it.
5. there have to be unit-tests, at least one shell test and at least one gtest based test.Kea1.5-beta1Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/116get rid of interface-id for DHCPv42018-09-19T12:51:11ZFrancis Dupontget rid of interface-id for DHCPv4Defined in the DHCPv4 syntax but only for subnets (not shared networks as in DHCPv6) and unused.Defined in the DHCPv4 syntax but only for subnets (not shared networks as in DHCPv6) and unused.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/4Write basic documentation for netconf2022-10-27T12:44:25ZTomek MrugalskiWrite basic documentation for netconfTo enable early engagement of various people, it is essential to write a simple documentation. It's ok it to be very basic at the beginning, but it must at the very least cover:
- how to compile Kea with netconf
- some basic tutorial ho...To enable early engagement of various people, it is essential to write a simple documentation. It's ok it to be very basic at the beginning, but it must at the very least cover:
- how to compile Kea with netconf
- some basic tutorial how to load YANG models to sysrepo
- how to load configuration to those YANG modelsKea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/5Configuration parser for NETCONF2022-10-27T12:44:25ZTomek MrugalskiConfiguration parser for NETCONFThis task covers writing configuration parser for kea-netconf. This configuration will cover things like:
- which model(s) to subscribe to
- which translators to load
- where send the JSON commands (stdout, unix socket, http socket)
- l...This task covers writing configuration parser for kea-netconf. This configuration will cover things like:
- which model(s) to subscribe to
- which translators to load
- where send the JSON commands (stdout, unix socket, http socket)
- loggingKea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/32Extend DHCP configuration to point to the config backend2018-10-08T13:05:34ZGhost UserExtend DHCP configuration to point to the config backendWe need at least two configuration parameters: *config-database* and *server-tag* for DHCP servers.
See the https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design.
We need at least two configuration parameters: *config-database* and *server-tag* for DHCP servers.
See the https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design.
Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/6Simplify CPL framework to be more suitable for kea-netconf2022-10-27T12:44:25ZTomek MrugalskiSimplify CPL framework to be more suitable for kea-netconfThe CPL framework that was initially designed and developed for D2 and was later used for CA is considered superior to what DHCPv4 and DHCPv6 use. However it has a number of disadvantages that should be mitigated:
- way too many classes...The CPL framework that was initially designed and developed for D2 and was later used for CA is considered superior to what DHCPv4 and DHCPv6 use. However it has a number of disadvantages that should be mitigated:
- way too many classes needed (agent, classes derived derived from controller, process, DCfgContextBase, DCfgMgrBase)
- lack of common class to store logging information (Daemon from libdhcpsrv is used for this, resulting in the need to include libdhcpsrv library everywhere)Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/7Implement libyang library2022-10-27T12:44:25ZTomek MrugalskiImplement libyang libraryThis task covers adding a libyang library. It has at least provide:
- makefile changes to build a new lib
- unit-tests
- translation utilities for netconf primitives (int, string, bool, etc) to JSON and vice versa
- a base class for tra...This task covers adding a libyang library. It has at least provide:
- makefile changes to build a new lib
- unit-tests
- translation utilities for netconf primitives (int, string, bool, etc) to JSON and vice versa
- a base class for translator
- a base class for watcher (a piece of code that exposes a callback that can be called when certain part of netconf tree changes)Kea1.5-beta1Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/8Kea should print out info about opened ctrl socket2022-10-27T12:44:25ZMarcin SiodelskiKea should print out info about opened ctrl socketKea should print out information about control socket __acceptor__ being opened.
This should be printed on info level.
For the original ticket see https://kea.isc.org/ticket/5598Kea should print out information about control socket __acceptor__ being opened.
This should be printed on info level.
For the original ticket see https://kea.isc.org/ticket/5598Kea1.5-beta1Marcin SiodelskiMarcin Siodelski2018-07-12https://gitlab.isc.org/isc-projects/kea/-/issues/9kea-admin, keactrl doesn't report Kea version2022-10-27T12:44:25ZTomek Mrugalskikea-admin, keactrl doesn't report Kea versionThose two tools don't report their version as other components do (neither -v or -V is working).
For original ticket, see https://kea.isc.org/ticket/5411Those two tools don't report their version as other components do (neither -v or -V is working).
For original ticket, see https://kea.isc.org/ticket/5411Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/292Possible issue at exit with dynamic host backend2019-01-11T16:33:20ZFrancis DupontPossible issue at exit with dynamic host backendCf #87: there were some problems (supposedly fixed) with dynamic host backend destruction at server exit. They could need more work (invalid write reported by valgrind) and they definitively require a more robust solution. BTW they are v...Cf #87: there were some problems (supposedly fixed) with dynamic host backend destruction at server exit. They could need more work (invalid write reported by valgrind) and they definitively require a more robust solution. BTW they are variants of the global destructor disaster so very system dependent.Kea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/285Ring default capacity is far too high.2020-08-13T13:10:10ZFrancis DupontRing default capacity is far too high.Current value is 500 which is more than far too high. I propose to use 5 i.e. the same than the minimum value.
UPDATE: The code changes it to 64, not 5.Current value is 500 which is more than far too high. I propose to use 5 i.e. the same than the minimum value.
UPDATE: The code changes it to 64, not 5.kea1.8.0Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/11keactrl test verifying version output for various daemons fails on macOS2022-10-27T12:44:25ZMarcin Siodelskikeactrl test verifying version output for various daemons fails on macOSWhile running unit test on the latest master branch I got the following output:
```
START TEST version-command
Assertion failure: -e keactrl: 1.4.0-git
kea-dhcp4: 1.4.0-git
kea-dhcp6: 1.4.0-git
kea-dhcp-ddns: 1.4.0-git
kea-ctrl-agent: 1...While running unit test on the latest master branch I got the following output:
```
START TEST version-command
Assertion failure: -e keactrl: 1.4.0-git
kea-dhcp4: 1.4.0-git
kea-dhcp6: 1.4.0-git
kea-dhcp-ddns: 1.4.0-git
kea-ctrl-agent: 1.4.0-git != keactrl: 1.4.0-git
kea-dhcp4: 1.4.0-P1
kea-dhcp6: 1.4.0-P1
kea-dhcp-ddns: 1.4.0-P1
kea-ctrl-agent: 1.4.0-P1, for val1=-e keactrl: 1.4.0-git
kea-dhcp4: 1.4.0-git
kea-dhcp6: 1.4.0-git
kea-dhcp-ddns: 1.4.0-git
kea-ctrl-agent: 1.4.0-git, val2=keactrl: 1.4.0-git
kea-dhcp4: 1.4.0-P1
kea-dhcp6: 1.4.0-P1
kea-dhcp-ddns: 1.4.0-P1
kea-ctrl-agent: 1.4.0-P1
Expected keactrl version to report -e, but it reported keactrl:
Expected keactrl version to report 1.4.0-git, but it reported kea-dhcp4:
Expected keactrl version to report 1.4.0-git, but it reported kea-dhcp6:
Expected keactrl version to report 1.4.0-git, but it reported kea-dhcp-ddns:
Expected keactrl version to report 1.4.0-git, but it reported kea-ctrl-agent:
Expected keactrl version to report 1.4.0-git, but it reported keactrl:
Expected keactrl version to report 1.4.0-git, but it reported kea-dhcp4:
Expected keactrl version to report 1.4.0-P1, but it reported kea-dhcp6:
Expected keactrl version to report 1.4.0-P1, but it reported kea-dhcp-ddns:
Expected keactrl version to report 1.4.0-P1, but it reported kea-ctrl-agent:
Expected keactrl version to report 1.4.0-P1, but it reported
FAILED version-command
```
The test needs to be change to be portable with macOS. Also, other OSes, such as BSD must be tested.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/33CB: Add support for 'reload-subnets' command2019-02-19T12:25:11ZGhost UserCB: Add support for 'reload-subnets' commandOnce all other configuration scaling tickets are done (#3579-#3584), a command that triggers the server to reload subnet configuration would be useful.Once all other configuration scaling tickets are done (#3579-#3584), a command that triggers the server to reload subnet configuration would be useful.Kea1.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/12Different CA logger name than documented2023-04-29T20:12:09ZMarcin SiodelskiDifferent CA logger name than documentedThe documented root logger name for CA is 'kea-ctrl-agent' but the actual name in the code is 'ctrl-agent'. This means that an attempt to change CA logging configuration per docs has no effect. One has to use the actual logger name. I su...The documented root logger name for CA is 'kea-ctrl-agent' but the actual name in the code is 'ctrl-agent'. This means that an attempt to change CA logging configuration per docs has no effect. One has to use the actual logger name. I suggest we change it to what is documented and update known issues to indicate that the current name is different than documented.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/13Global Host Reservations Task 3:Add v6 support for new HR_GLOBAL mode2018-08-27T18:00:20ZThomas MarkwalderGlobal Host Reservations Task 3:Add v6 support for new HR_GLOBAL mode1. Add support for HR_GLOBAL mode to kea-dhpd4/subnet parsing
2. Modify v6 AllocEngine::findReservation to utilize new mode
(See Trac #5706)1. Add support for HR_GLOBAL mode to kea-dhpd4/subnet parsing
2. Modify v6 AllocEngine::findReservation to utilize new mode
(See Trac #5706)Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/35local d2 (dhcp-ddns) client config2019-10-30T15:37:54ZGhost Userlocal d2 (dhcp-ddns) client configCurrently the d2 (dhcp-ddns) config is global. The idea allows to make it locally, e.g.., in subnet and client class scopes. Cf Migration #5224.Currently the d2 (dhcp-ddns) config is global. The idea allows to make it locally, e.g.., in subnet and client class scopes. Cf Migration #5224.kea1.7.1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/14Global Host Reservations Task 4: Host Commands should accept global subnet id2018-09-17T12:47:06ZThomas MarkwalderGlobal Host Reservations Task 4: Host Commands should accept global subnet idHost Cmds need to accept a subnet-id value of SUBNET_ID_GLOBAL for either v4 or v6 subnet-ids, to allow manipulation of global reservations.
Replaces http://kea.isc.org/ticket/5707Host Cmds need to accept a subnet-id value of SUBNET_ID_GLOBAL for either v4 or v6 subnet-ids, to allow manipulation of global reservations.
Replaces http://kea.isc.org/ticket/5707Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/15Global Host Reservations Task 5: data migration scripts to convert existing s...2021-11-11T12:02:57ZThomas MarkwalderGlobal Host Reservations Task 5: data migration scripts to convert existing subnet-id values of 0The changes made in 5704 to support global HRs necessitate migrating existing data. Specifically for MySQL and PostgreSQL, any columns with values of 0 for subnet IDs in hosts and options tables, need to replace with NULL, and for Cassan...The changes made in 5704 to support global HRs necessitate migrating existing data. Specifically for MySQL and PostgreSQL, any columns with values of 0 for subnet IDs in hosts and options tables, need to replace with NULL, and for Cassandra, they should be replaced with GLOBAL_ID_UNUSED.
Data migration steps need to be added to the schema upgrade scripts for 1.5.0 to accommodate this.
Replaces http://kea.isc.org/ticket/5708Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/271Trouble building 1.5.0beta1 kea-netconf plugin2018-12-12T23:13:30ZGhost UserTrouble building 1.5.0beta1 kea-netconf pluginDuplicated from my post on the isc forum...
Hi,
I’ve been trying to build this to test Sysrepo integration, and the build fails as follows:
make[2]: Entering directory ‘/root/kea-1.5.0-beta1/src/bin/netconf’
CXX control_socket.lo
CXX ...Duplicated from my post on the isc forum...
Hi,
I’ve been trying to build this to test Sysrepo integration, and the build fails as follows:
make[2]: Entering directory ‘/root/kea-1.5.0-beta1/src/bin/netconf’
CXX control_socket.lo
CXX http_control_socket.lo
CXX stdout_control_socket.lo
CXX unix_control_socket.lo
CXX netconf.lo
In file included from netconf.cc:12:0:
…/…/…/src/bin/netconf/netconf.h:17:10: fatal error: sysrepo-cpp/Session.h: No such file or directory
#include <sysrepo-cpp/Session.h>
^~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
The referenced Session.h is not part of the Kea source. I’m also unable to find the file in the source for sysrepo, netopeer2 or any of the other dependencies.
Any help on how to build greatly appreciated.
Thanks,
IanKea1.5-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/17Remove kea/doc/design and the contents, which all relate to DNS and BIND102018-09-04T19:56:20ZVicky Riskvicky@isc.orgRemove kea/doc/design and the contents, which all relate to DNS and BIND10I would have take a swing at removing this, but I don't know how to. If we want to archive them somewhere else, I could see doing that, but they are just misleading as they are included with Kea and some people might think they are relev...I would have take a swing at removing this, but I don't know how to. If we want to archive them somewhere else, I could see doing that, but they are just misleading as they are included with Kea and some people might think they are relevant and struggle, for example, with the document on inter-process communication.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/42Congestion handling2018-11-08T14:15:12ZGhost UserCongestion handlingI propose two ways to control the receive queue to avoid big backlogs which can happen when servicing is too slow (and the fact clients retransmit of course does not help at all).
First is the POSIX `setsockopt(SO_RCVBUF)` which sets th...I propose two ways to control the receive queue to avoid big backlogs which can happen when servicing is too slow (and the fact clients retransmit of course does not help at all).
First is the POSIX `setsockopt(SO_RCVBUF)` which sets the maximum size in bytes of the socket receive queue. When the queue is full (i.e. an incoming packet is bigger than the maximum minus the current size) new packets are dropped instead added at the end of the queue.
This allows to avoid big backlog but as it drops new packets it is not the best/only solution.
Second idea is to use `ioctl(FIONREAD)` which returns the current size in bytes of the receive queue (very efficient system call BTW). I propose to use it in two ways:
- when it returns a large value (threshold to determine) packets should be simply popped and dropped.
- after servicing a packet it is more efficient to look at if there is another one than to come back to select (a real performance pig). Of course only a limited (another parameter to determine) number of packets should be serviced because the select loop includes other services.
About the last part of the second idea I refer to the AFTR code where I implemented this.
Note there is a big theoretical and practical background on the way to manage queue in high load / congestion situations, e.g RED (Random Early Detection). A good subject for a student...
The earlier issue that covered initial discussion and some experiments is #49. Adding the number for easier reference.Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/43Implement parseCommandWithArguments function in libkea-config2018-11-15T11:05:06ZGhost UserImplement parseCommandWithArguments function in libkea-configIn the review of #5476 Thomas pointed out that it would be useful to have a function in libkea-config, which parses a command and its arguments and expects that the arguments are present and are a map.In the review of #5476 Thomas pointed out that it would be useful to have a function in libkea-config, which parses a command and its arguments and expects that the arguments are present and are a map.Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/84Update KB article AA-01323 with Kea 1.4.0 supported additional DHCPv4 and DHC...2018-12-06T00:43:32ZGhost UserUpdate KB article AA-01323 with Kea 1.4.0 supported additional DHCPv4 and DHCPv6 OptionsKea 1.4 added back RFC7598 options in Trac Item #5514, which suggests these should be included in the knowledge base overview page of supported Options at https://kb.isc.org/article/AA-01323
RFC7598 - DHCPv6 options
* 89 OPTION_S4...Kea 1.4 added back RFC7598 options in Trac Item #5514, which suggests these should be included in the knowledge base overview page of supported Options at https://kb.isc.org/article/AA-01323
RFC7598 - DHCPv6 options
* 89 OPTION_S46_RULE [RFC 7598] -
* 90 OPTION_S46_BR [RFC 7598] -
* 91 OPTION_S46_DMR [RFC 7598] -
* 92 OPTION_S46_V4V6BIND [RFC 7598] -
* 93 OPTION_S46_PORTPARAMS [RFC 7598] -
* 94 OPTION_S46_CONT_MAPE [RFC 7598] -
* 95 OPTION_S46_CONT_MAPT [RFC 7598] -
* 96 OPTION_S46_CONT_LW [RFC 7598] -
A related option should also be mentioned, if supported
111 OPTION_S46_PRIORITY [RFC 8026] - Kea1.5-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/78Extend HA hooks library to synchronize leases by chunks, i.e. multiple fetche...2018-11-05T19:25:30ZGhost UserExtend HA hooks library to synchronize leases by chunks, i.e. multiple fetches of leasesOne of the major use cases for the lease_cmds hooks library is to provide a way to synchronize leases between HA enabled servers. Currently the HA hooks library will fetch the entire lease database which requires the lease_cmds hooks lib...One of the major use cases for the lease_cmds hooks library is to provide a way to synchronize leases between HA enabled servers. Currently the HA hooks library will fetch the entire lease database which requires the lease_cmds hooks library to create a JSON structure of the whole lease database. This eats the CPU and memory. In case of large number of leases in the database it may freeze the server for a long period of time.
In order to mitigate this issue the lease_cmds hooks librart must support fetching limited number of leases, e.g. 1000, 2000 leases etc. The controlling client should be able to specify last fetched leases with the limit and the server should return leases with addresses beyond this last fetched address. That way, the entire lease database may be returned in chunks with client specifying the start of the next chunk.
This ticket is about extending the HA hooks library to utilize this mechanism implemented with #5651 in the lease_cmds.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/80HA: timeout for disabling DHCP service during lease synchronization should be...2018-11-05T19:25:30ZGhost UserHA: timeout for disabling DHCP service during lease synchronization should be controllableThe leases synchronization timeout is now controlled via the 'sync-timeout'. While the synchronization is performed, the DHCP service of the active partner is disabled, but for the hardcoded time of 60 seconds. This should either be the ...The leases synchronization timeout is now controlled via the 'sync-timeout'. While the synchronization is performed, the DHCP service of the active partner is disabled, but for the hardcoded time of 60 seconds. This should either be the same as the timeout for communication over the control channel or should have its own configuration knob. In fact, when we implement the #5652 we can't really set to the same value as the timeout for communication over control channel, because we will be sending multiple commands but the service should be disabled for the entire synchronization.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/81RADIUS hook issue? Duplicated attributes in RADIUS requests after reloading ...2019-01-01T14:16:36ZGhost UserRADIUS hook issue? Duplicated attributes in RADIUS requests after reloading configItay Rozenburg reports to us:
> Greetings Support
>
> 1) I think I found a bug in the radius hook.
>
> When I reload the configuration via rest api,
> The radius requests looks weird,
> You can see Some of the attributes twice ...Itay Rozenburg reports to us:
> Greetings Support
>
> 1) I think I found a bug in the radius hook.
>
> When I reload the configuration via rest api,
> The radius requests looks weird,
> You can see Some of the attributes twice in each request.
> Access-Request (1), id: 0x54, Authenticator: ****
> User-Name Attribute (1), length: 20, Value: xxxyyy
> User-Password Attribute (2), length: 18, Value: ***
> User-Password Attribute (2), length: 18, Value: ***
> Calling-Station-Id Attribute (31), length: 19, Value: aa:bb:cc:dd:ee:ff
> NAS-Identifier Attribute (32), length: 5, Value: kea
> NAS-Identifier Attribute (32), length: 5, Value: kea
> Connect-Info Attribute (77), length: 41, Value: ***xxx***
> Connect-Info Attribute (77), length: 41, Value: ***xxx***
> NAS-Port Attribute (5), length: 6, Value: 1480
> NAS-IP-Address Attribute (4), length: 6, Value: 10.1.1.1
>
> If I reload the process everything looks fine.Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/30Implement control socket for DDNS2019-01-11T16:33:25ZGhost UserImplement control socket for DDNSAfter the design (#3540) is done, we should implement control socket in DDNS server.
D2, our DHCP-DDNS update daemon, does not support control channel. CA does support it and has a section for D2 communication, tries to open a socket et...After the design (#3540) is done, we should implement control socket in DDNS server.
D2, our DHCP-DDNS update daemon, does not support control channel. CA does support it and has a section for D2 communication, tries to open a socket etc, but fails ultimately, because D2 is not able to listen on that socket.
The absolute minimum required are the following commands:
version-get
build-report
shutdown
Since it is unclear whether we'll be able to squeeze this into 1.3, adding this with low priority.Kea1.6https://gitlab.isc.org/isc-projects/kea/-/issues/283perfdhcp: indicated requests rate is not kept during testing2019-01-18T16:02:09ZMichal Nowikowskiperfdhcp: indicated requests rate is not kept during testingDue to accumulating time slips in sending procedure the actual requests rate is lower than indicated.
It can be even ~20% lower for higher rates. Examples: 2700 instead of 3000.Due to accumulating time slips in sending procedure the actual requests rate is lower than indicated.
It can be even ~20% lower for higher rates. Examples: 2700 instead of 3000.Kea1.6Michal NowikowskiMichal Nowikowskihttps://gitlab.isc.org/isc-projects/kea/-/issues/82Improve Kea test capabilities2019-01-25T19:18:24ZGhost UserImprove Kea test capabilitiesKea accepts the "-p" switch to change the port on which it listens. However, there appears to be no way to alter the port to which it sends replies. Similarly perfdhcp accepts the "-L" switch to alter the local port (the port on which ...Kea accepts the "-p" switch to change the port on which it listens. However, there appears to be no way to alter the port to which it sends replies. Similarly perfdhcp accepts the "-L" switch to alter the local port (the port on which it listens for responses? - this is not clear), but there appears to be no way to alter the port to which it sends packets.
Although full testing on the privileged ports using multiple systems would still need to be carried out before release, it would simplify a lot of development testing if Kea and perfdhcp could (with suitable switch settings) communicate via unprivileged ports on the loopback interface.Kea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/87Kea memory leak (radius)2018-12-06T23:26:42ZGhost UserKea memory leak (radius)we have 2 kea servers (1.4.0 P1) that work with one mysql server as the lease database.
host-cache + flex_id + radius hooks loaded.
Only one server is active.
My Users are stable,
About 1330 users and + 50 new users each day.
If I ...we have 2 kea servers (1.4.0 P1) that work with one mysql server as the lease database.
host-cache + flex_id + radius hooks loaded.
Only one server is active.
My Users are stable,
About 1330 users and + 50 new users each day.
If I reload the kea-dhcp4 process the memory goes down to 0.4%.
the host-cache fills up pretty fast to 1330 records, most of my users has lease "renew-timer": 200.
From that point the memory consumption rises about 3% each hour
[root@kea1rvt log]# date
Thu Aug 9 14:09:56 IDT 2018
[root@kea1rvt log]# ps -auxw | grep kea-dhcp4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21929 6.1 5.1 380612 200848 pts/1 S 12:36 5:46 /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
[root@kea1rvt log]# date
Thu Aug 9 14:57:04 IDT 2018
[root@kea1rvt log]# ps -auxw | grep kea-dhcp4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21929 6.1 7.4 468052 288272 pts/1 S 12:36 8:40 /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
[root@kea1rvt log]# date
Thu Aug 9 15:09:16 IDT 2018
[root@kea1rvt log]# ps -auxw | grep kea-dhcp4
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 21929 6.1 8.1 494848 315096 pts/1 R 12:36 9:25 /usr/local/sbin/kea-dhcp4 -c /usr/local/etc/kea/kea-dhcp4.conf
itayKea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/91CB: Create schema and upgrade scripts for Cassandra2019-09-07T03:18:59ZMarcin SiodelskiCB: Create schema and upgrade scripts for CassandraThis ticket covers updating Cassandra schema to facilitate Config Backend feature for 1.5.0 release:
https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#cassandra
I adds new tables, scripts and upgrade scri...This ticket covers updating Cassandra schema to facilitate Config Backend feature for 1.5.0 release:
https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#cassandra
I adds new tables, scripts and upgrade scripts to Cassandra.kea1.7.0https://gitlab.isc.org/isc-projects/kea/-/issues/94CB: Implement MySQLConfigBackendDHCPv62019-02-22T22:59:34ZMarcin SiodelskiCB: Implement MySQLConfigBackendDHCPv6The MySQLConfigBackendDHCPv6 class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designThe MySQLConfigBackendDHCPv6 class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designKea1.6Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/19move address utilities2018-08-31T11:36:51ZFrancis Dupontmove address utilitiesFor yang/netconf which does not rely on libdhcpsrv it is better to move address utilities in asiolink library.For yang/netconf which does not rely on libdhcpsrv it is better to move address utilities in asiolink library.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/1684Captive portal option - RFC 89102022-01-14T09:41:59ZVicky Riskvicky@isc.orgCaptive portal option - RFC 8910**Problem**
Typically used when public wifi access is provided, a captive portal provides 'captures' the client html traffic and redirects it to a web page that provides information, advertising, a log-in or registration feature, or a cl...**Problem**
Typically used when public wifi access is provided, a captive portal provides 'captures' the client html traffic and redirects it to a web page that provides information, advertising, a log-in or registration feature, or a click-to-accept statement of responsibility. Earlier implementations of captive portals involved MITM-type interception of traffic. Current recommended practice is to explicitly provision the captive portal api address to the client via explicit network provisioning (DHCP).
New (2020) [IETF work](https://datatracker.ietf.org/doc/html/rfc8910) has updated the specifications for captive portal signaling, changing the DHCP code point recommended for specifying the URL of the captive portal.
- [x] option 114 for DHCPv4, option 103 for DHCPv6. Note that the DHCPv4 option is new, it used to be 160.
- [ ] Kea should send this option, if configured, whether it is requested or not.
This is a new RFC, and it is likely a lot of clients won't be requesting it immediately.
"Clients that support the Captive Portal DHCP option SHOULD include
the option in the Parameter Request List in DHCPREQUEST messages.
DHCP servers MAY send the Captive Portal option without any explicit
request."
- [ ] Kea should ensure that the option value is a valid URI.
It should not be an IP address (this should be mentioned in the documentation).
Should we enforce the shorter URI limit for DHCPv6 so the same URI will work for both?
"As the maximum length of the URI that can be carried in IPv4 DHCP is 255
bytes, URIs longer than this SHOULD NOT be provisioned by any of the
IPv6 options described in this document. In IPv6-only environments,
this restriction can be relaxed."
- [ ] Include in the documentation the instruction to specify if no captive portal is present with the URI below.
? Perhaps we should make this URI the default, if nothing is configured?
text from the rfc
"Networks with no captive portals may explicitly indicate this
condition by using this option with the IANA-assigned URI for this
purpose. Clients observing the URI value
"urn:ietf:params:capport:unrestricted" may forego time-consuming
forms of captive portal detection."
- [ ] There is a related issue wrt Bootp options for captive portal, because that code point has also changed.
I dk if we should make changes to bootp at this time, because being a legacy service, it is unlikely clients will be updated to understand the new code point. But we should consider it.kea2.1.2Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/95CB: Implement PgSQLConfigBackendDHCPv42022-02-21T14:58:09ZMarcin SiodelskiCB: Implement PgSQLConfigBackendDHCPv4The PgSQLConfigBackendDHCPv4 class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designThe PgSQLConfigBackendDHCPv4 class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designkea2.1.3Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/97CB: Implement CQLConfigBackendDHCPv42019-09-07T03:18:59ZMarcin SiodelskiCB: Implement CQLConfigBackendDHCPv4The CQLConfigBackendDHCPv4 class implements Config Backend for Cassandra as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designThe CQLConfigBackendDHCPv4 class implements Config Backend for Cassandra as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designkea1.7.0https://gitlab.isc.org/isc-projects/kea/-/issues/98CB: Implement CQLConfigBackendDHCPv62019-09-07T03:18:59ZMarcin SiodelskiCB: Implement CQLConfigBackendDHCPv6The CQLConfigBackendDHCPv6 class implements Config Backend for Cassandra as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designThe CQLConfigBackendDHCPv6 class implements Config Backend for Cassandra as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designkea1.7.0https://gitlab.isc.org/isc-projects/kea/-/issues/100CB: Add capability to merge DHCPv6 configuration from database and from a file2019-03-27T14:35:49ZMarcin SiodelskiCB: Add capability to merge DHCPv6 configuration from database and from a filePart of the Config Backend feature is to change the logic of the DHCPv6 server during startup or reconfiguration to first read the partial config from a file and then connect to the database and fetch the rest of the configuration. Both ...Part of the Config Backend feature is to change the logic of the DHCPv6 server during startup or reconfiguration to first read the partial config from a file and then connect to the database and fetch the rest of the configuration. Both configurations have to be merged into a single configuration. This ticket covers such a merge of the data fetched from the database into the CfgMgr. It doesn't cover the changes in the server logic to trigger such merge. This will be done in a separate issue.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/57Fixes as a result of profiling the HTTP code and control channel2018-11-15T12:24:25ZGhost UserFixes as a result of profiling the HTTP code and control channelThere are the following issues pertaining to JSONFeed and Http parsers which per my profiling tests seems to be first candidates for fixing:
* JSONFeed::postBuffer expensive because of making new allocations all the time
* JSONFeed::pop...There are the following issues pertaining to JSONFeed and Http parsers which per my profiling tests seems to be first candidates for fixing:
* JSONFeed::postBuffer expensive because of making new allocations all the time
* JSONFeed::popNextFromBuffer makes many buffer de-allocations
* JSONFeed::innerJSONHandler should not transition if the state remains the same
* HttpResponseParser body handler is inefficient as it reads characters one by one
* Connection::doTransaction should not reinitialize the parser all the time as it triggers expensive reinitialization of the state machineKea1.5-beta2https://gitlab.isc.org/isc-projects/kea/-/issues/131HA hook depends on http library which is not linked with servers.2019-02-20T09:40:10ZFrancis DupontHA hook depends on http library which is not linked with servers.So kea-dhcp4 from the build directory (vs installed) fails to load the HA hook. The solution is to add the http library in the dhcp4 and dhcp6 Makefile.am files. It adds a dependency which is not used in the common case, at the other han...So kea-dhcp4 from the build directory (vs installed) fails to load the HA hook. The solution is to add the http library in the dhcp4 and dhcp6 Makefile.am files. It adds a dependency which is not used in the common case, at the other hand it is not good to dynamic load a Kea standard library with a hook.Kea1.6https://gitlab.isc.org/isc-projects/kea/-/issues/74Confusing Cassandra error: executeMutation(): [applied] is false for statemen...2021-10-27T09:14:25ZGhost UserConfusing Cassandra error: executeMutation(): [applied] is false for statement INSERT_HOSTI tried to add the following host reservation:
```
{
"command": "reservation-add",
"arguments": {
"reservation":
{
"subnet-id":1,
"client-id": "01:0a:0b:0c:0d:0e:0f",
...I tried to add the following host reservation:
```
{
"command": "reservation-add",
"arguments": {
"reservation":
{
"subnet-id":1,
"client-id": "01:0a:0b:0c:0d:0e:0f",
"ip-address": "192.0.2.205",
"next-server": "192.0.2.1",
"server-hostname": "hal9000",
"boot-file-name": "/dev/null",
"option-data": [
{
"name": "domain-name-servers",
"data": "10.1.1.202,10.1.1.203"
},
{
"name": "domain-name-servers",
"data": "10.1.1.202,10.1.1.203"
}
],
"client-classes": [ "isc", "office" ]
}
}
}
```
and got this confusing error message:
```
{ "result": 1, "text": "CqlExchange::executeMutation(): [applied] is false for statement INSERT_HOST" }
```
This error is caused by the fact there is duplicated option (the same option defined twice). Normal user has no chance to understand this error message. It should be more descriptive.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/102CB: Add two step configuration to the DHCPv6 server2019-04-11T12:37:41ZMarcin SiodelskiCB: Add two step configuration to the DHCPv6 serverOnce the CfgMgr can merge local configuration with the configuration fetched from the database, the DHCPv6 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 DHCPv6 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.6https://gitlab.isc.org/isc-projects/kea/-/issues/104CB: Add periodic fetch of the incremental DHCPv6 configuration changes2019-04-11T12:37:42ZMarcin SiodelskiCB: Add periodic fetch of the incremental DHCPv6 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 DHCPv6 server.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/10Need to improve API documentation2022-10-27T12:44:25ZTomek MrugalskiNeed to improve API documentationAs reported by @McNally in https://kea.isc.org/ticket/5422:
On ISC Support ticket #12056, one of our Kea customers
has requested:
..our developers commented to me that they found it difficult to find
the appropriate syntax for ...As reported by @McNally in https://kea.isc.org/ticket/5422:
On ISC Support ticket #12056, one of our Kea customers
has requested:
..our developers commented to me that they found it difficult to find
the appropriate syntax for various API calls.
There's more on the support ticket, but it sounds as though a
general API document would be helpful to them, at least containing
calling specifications and pointers towards whatever other documentation
currently exists.
They recognize that this is not a short-term deliverable but would
find improvement in this area helpful.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/186add kea-netconf daemon to keactrl2018-12-10T21:38:57ZWlodzimierz Wenceladd kea-netconf daemon to keactrlI don't really know if it's planned or not but kea-netconf should be usable from keactrl.I don't really know if it's planned or not but kea-netconf should be usable from keactrl.Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/203sysrepo/netconf documentation improvements2018-12-12T23:14:46ZWlodzimierz Wencelsysrepo/netconf documentation improvementsSome of yang models have to be installed by hand and some of them are installed automatically as dependencies of those manually installed. So it would be nice that users guide would list every model that have to be installed by hand. I t...Some of yang models have to be installed by hand and some of them are installed automatically as dependencies of those manually installed. So it would be nice that users guide would list every model that have to be installed by hand. I think those models are: ietf-dhcpv6-server.yang
kea-dhcp4-server.yang
kea-dhcp6-server.yang
kea-dhcp-ddns.yang
kea-ctrl-agent.yang
ietf-inet-types.yang
ietf-yang-types.yang
for testing:
keatest-module.yang
Also docs is missing simple example how to start kea using sysrepocfg, it says ```Such changes can be done using sysrepocfg tool or remotely using any NETCONF client. For details, please see Sysrepo documentation``` and I really don't like the fact we are sending user to different documentation instead of having couple lines like:
```
sudo sysrepocfg -l 4 -d startup -f xml -i startup-4.xml kea-dhcp4-server
sudo sysrepocfg -l 4 -d running -f xml -i twopools-4.xml kea-dhcp4-server
```
with couple sentences explaining what "running" and "startup" datastores really are.Kea1.5-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/291Check support of sysrepo 0.7.72018-12-13T16:12:50ZFrancis DupontCheck support of sysrepo 0.7.7Clearly for 1.5 final. No problem is expected. The question to update installation docs is open.Clearly for 1.5 final. No problem is expected. The question to update installation docs is open.Kea1.5-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/79HA: Consider adding HA status command to keactrl [ISC-support #14719]2023-05-25T17:19:58ZGhost UserHA: Consider adding HA status command to keactrl [ISC-support #14719]We've got a feature request from a Kea 1.4.0 beta tester. The user is asking whether we could provide a tool to be used locally for checking the server's HA state. We may consider adding this to keactrl. The implementation could simply s...We've got a feature request from a Kea 1.4.0 beta tester. The user is asking whether we could provide a tool to be used locally for checking the server's HA state. We may consider adding this to keactrl. The implementation could simply send the ha-heartbeat command to the local server via unix domain socket and then parse the JSON response.
Related issue #318.kea1.7.6Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/85stat commands missing in `List of available hooks libraries` table2018-12-06T23:24:04ZGhost Userstat commands missing in `List of available hooks libraries` tableThere are 9 entries in the table but 10 hooks described in the `Available Hooks Libraries'` section: the missing hook is `stat_cmds`.There are 9 entries in the table but 10 hooks described in the `Available Hooks Libraries'` section: the missing hook is `stat_cmds`.Kea1.5-beta2https://gitlab.isc.org/isc-projects/kea/-/issues/24script to install yang models2018-09-12T17:29:06ZFrancis Dupontscript to install yang models```pkg-config libsysrepo --variable=SR_REPOSITORY_LOC``` returns the sysrepo repository directory so we can:
- use it in configure to set a autoconf variable to it
- update the script in tools to do the same thing
- provide a scrip...```pkg-config libsysrepo --variable=SR_REPOSITORY_LOC``` returns the sysrepo repository directory so we can:
- use it in configure to set a autoconf variable to it
- update the script in tools to do the same thing
- provide a script in the `models` directory to install it. As it should be run once it is enough.
- update the documentation (i.e. `netconf.xml`)
- port this to kea-yangKea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/25move daemon code out of dhcpsrv library2018-09-10T09:33:46ZFrancis Dupontmove daemon code out of dhcpsrv library`daemon.{h,cc}` defines a few common things: get version, pid file, config file, ...
It should clearly be moved from the dhcpsrv library to somewhere else. A few proposals:
- move it the process library (make sense but add a dependenc...`daemon.{h,cc}` defines a few common things: get version, pid file, config file, ...
It should clearly be moved from the dhcpsrv library to somewhere else. A few proposals:
- move it the process library (make sense but add a dependency to old server code)
- move it to config (or similar) library
- move it to its own library
IMHO the last option is the best one but some can have a concern with an increasing number of libraries.Kea1.5-beta1Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/49During traffic spikes that exceed Kea's throughput capacity, handle backlog m...2018-11-07T05:52:39ZGhost UserDuring traffic spikes that exceed Kea's throughput capacity, handle backlog more effectivelyThe current Kea implementation processes the inbound socket buffer as a simple queue - first in, first out. When the server is under pressure and not handling client packets as fast as they are arriving, a backlog will build up.
If t...The current Kea implementation processes the inbound socket buffer as a simple queue - first in, first out. When the server is under pressure and not handling client packets as fast as they are arriving, a backlog will build up.
If the situation continues for long enough, the client packets that the server is handling will have already timed-out on the client side, so it is pointless to spend time processing them and moreover wasting time on these old packets prevents the server from handling newer packets until they too have timed out. Effectively, it stops responding to active clients because it never gets through the backlog fast enough to reach the most recent inbounds.
Even though the initial spike in traffic may have subsided, the degraded performance can mean that clients change their behaviour, adding retries to the backlog and/or reverting back to initial discovery - thus increasing the backlog of packets to be processed and making recovery unlikely without restarting the server to clear things down.
We need to handle this situation better so that even when swamped, Kea servers are able to process a proportion of recently-received client packets, instead of none of them because it's 'stuck' with the oldest ones instead.
Suggestions being mooted so far suggest either an independent socket reading thread (or process) to manage the inbound traffic and to pull it off the sockets/interfaces on which the Kea server is listening. This will prevent the UDP buffers from overflowing as well as allowing the socket reader to apply better logic to:
- discarding the oldest client packets in favour of the most recently received
- managing the 'waiting' buffers appropriately to the throughput capacity of the server
Maximum per-server throughput will be highly dependent on both configuration and the choice of back-end (e.g database, or memfile, and if database, how and where etc..) - so it would be good to have the I/O handler be tunable too - not discarding too soon for a fast server and so on.
There's no clear operational mitigation strategy for this, other than ensuring sufficient headroom when provisioning so that there are no peaks in client traffic that can overwhelm the server(s) maximum capacity.
(Notably, increasing inbound UDP buffers is likely to make the situation worse rather than better.)Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/31Modify CfgMgr to read subnets from different sources2019-09-02T07:12:00ZGhost UserModify CfgMgr to read subnets from different sourcesRight now CfgMgr reads subnet configuration only from the configuration file. After #3581 and #3582, it will be possible to read it from databases as well.
It is not yet decided whether this will be done every time during packet process...Right now CfgMgr reads subnet configuration only from the configuration file. After #3581 and #3582, it will be possible to read it from databases as well.
It is not yet decided whether this will be done every time during packet processing (faster startup, slower processing) or during reconfiguration (slower startup, faster processing). The decision will be made as part of the #3579 ticket.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/53Problems with maria database, fields in store proc wrong2018-11-21T20:46:59ZGhost UserProblems with maria database, fields in store proc wrongI have just upgraded to Opensuse 15, and since there are problems with boost in previous versions, I upgraded to the 14 beta.
However, with a mysql database, trying to populate the lease4 & lease6 tables fail with...
2018-05-28 11:53:0...I have just upgraded to Opensuse 15, and since there are problems with boost in previous versions, I upgraded to the 14 beta.
However, with a mysql database, trying to populate the lease4 & lease6 tables fail with...
2018-05-28 11:53:09.332 ERROR [kea-dhcp6.alloc-engine/11431] ALLOC_ENGINE_V6_ALLOC_ERROR duid=[00:01:00:01:1e:da:f1:1b:b8:27:eb:8f:fe:67], tid=0x2cec69: error during attempt to allocate an IPv6 address: unable to bind parameters for <INSERT INTO lease6(address, duid, valid_lifetime, expire, subnet_id, pref_lifetime, lease_type, iaid, prefix_len, fqdn_fwd, fqdn_rev, hostname, hwaddr, hwtype, hwaddr_source, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)>, reason: (error code 0)
&
2018-05-28 11:54:01.657 ERROR [kea-dhcp4.alloc-engine/11424] ALLOC_ENGINE_V4_ALLOC_ERROR [hwtype=1 b8:27:eb:da:12:3b], cid=[ff:eb:da:12:3b:00:01:00:01:1e:da:f1:13:b8:27:eb:8f:47:6e], tid=0xde2380dc: error during attempt to allocate an IPv4 address: unable to bind parameters for <INSERT INTO lease4(address, hwaddr, client_id, valid_lifetime, expire, subnet_id, fqdn_fwd, fqdn_rev, hostname, state) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)>, reason: (error code 0)
There seemed to be a similar problem mentioned in the forums, but there does not seem to anything which matches this.
It was mentioned something to do with timers, but I have them now set to:
"reclaim-timer-wait-time": 100,
"flush-reclaimed-timer-wait-time": 250,
"hold-reclaimed-time": 36000,
"max-reclaim-leases": 1000,
"max-reclaim-time": 2500,
"unwarned-reclaim-cycles": 5
...
"valid-lifetime": 36000,
"renew-timer": 9000,
"rebind-timer": 18000,
What is strange though, when I take a tcpdump of the connection, I see a number of packets setting SOME of the bind fields, most seem to be set to the the IP address which kea attempts to assign.
It's as if all the bind fields are corrupted.Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/55legldb_create.* legldb_drop.* scripts in premium repo2018-12-10T21:52:56ZGhost Userlegldb_create.* legldb_drop.* scripts in premium repothere are 6 new databases scripts in premium repo:
* legldb_create.mysql legldb_drop.mysql
* legldb_create.cql legldb_drop.cql
* legldb_create.psql legldb_drop.psql
1. is there a typo in names? shouldn't it be legal_db* ?
2. why do we ...there are 6 new databases scripts in premium repo:
* legldb_create.mysql legldb_drop.mysql
* legldb_create.cql legldb_drop.cql
* legldb_create.psql legldb_drop.psql
1. is there a typo in names? shouldn't it be legal_db* ?
2. why do we need 6 scripts to add/remove one table from db schema? couldn't it be integrated to main kea db schema?
3. those scripts are not being installed - that have to be fixed.Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/338Bump up library version numbers for Kea 1.5.0 final release2018-12-11T19:53:40ZMarcin SiodelskiBump up library version numbers for Kea 1.5.0 final releaseThis is our usual work prior to the release to bump up library version numbers, install new headers and bump up hooks framework version.This is our usual work prior to the release to bump up library version numbers, install new headers and bump up hooks framework version.Kea1.5-finalMarcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/337lease_cmds incorrectly parses lease expiration time provided in the lease-add...2018-12-11T19:20:21ZMarcin Siodelskilease_cmds incorrectly parses lease expiration time provided in the lease-add commandleaseX-add commands allow for specifying a lease expiration time, which can be greater than 0xFFFFFFFF. However the code casts it to uint32_t value which causes an error claiming that the provided value is out of range.leaseX-add commands allow for specifying a lease expiration time, which can be greater than 0xFFFFFFFF. However the code casts it to uint32_t value which causes an error claiming that the provided value is out of range.Kea1.5-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/327Split transmission and reception control buffers2018-12-11T18:35:13ZFrancis DupontSplit transmission and reception control buffers!135 modifies the dhcp library code splitting the transmission and reception control buffers so it is possible to send and receive in parallel. This fix is correct because in the current code the control buffer is shared. Note these cont...!135 modifies the dhcp library code splitting the transmission and reception control buffers so it is possible to send and receive in parallel. This fix is correct because in the current code the control buffer is shared. Note these control buffers are in inet and inet6 packet filters. There is also an unused one in the interface manager.
This issue takes the dhcp library of !135 (after review, comment fix and unused removal).Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/73Investigate latest coverity scan for Kea2019-07-31T18:39:20ZGhost UserInvestigate latest coverity scan for KeaSee etherpad notes from April 5 meeting. There are 42 new issues reported.
The goal of this ticket is to assess the issues, group them and create separate tickets for each group.See etherpad notes from April 5 meeting. There are 42 new issues reported.
The goal of this ticket is to assess the issues, group them and create separate tickets for each group.Kea1.6-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/204checking version of yang models2018-12-11T17:08:44ZWlodzimierz Wencelchecking version of yang modelsDo we plan for a tool/extension that will check version of an installed yang models? Something similar to kea-admin checking db schema.Do we plan for a tool/extension that will check version of an installed yang models? Something similar to kea-admin checking db schema.Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/297Old text about multiple classes guards2018-12-11T11:12:59ZFrancis DupontOld text about multiple classes guardsFor instance from the guide:
If a subnet is associated with some classes, only the clients belonging to any of these classes can use this subnet. If there are no classes specified for a subnet, any client connected to a given shared net...For instance from the guide:
If a subnet is associated with some classes, only the clients belonging to any of these classes can use this subnet. If there are no classes specified for a subnet, any client connected to a given shared network can use this subnet.Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/198User's guide update: JSON section needs a refresh2018-12-11T17:45:23ZTomek MrugalskiUser's guide update: JSON section needs a refreshThe section 5.1.2: JSON syntax (https://oldkea.isc.org/docs/kea-guide.html#json-format) mentions putting all configuration in one file. This is no longer recommended way, as it causes issues with config-write. The text should be rephrase...The section 5.1.2: JSON syntax (https://oldkea.isc.org/docs/kea-guide.html#json-format) mentions putting all configuration in one file. This is no longer recommended way, as it causes issues with config-write. The text should be rephrased to say that entries other than Dhcp4, Dhcp6 may be present (ca, d2, netconf).Kea1.5-finalMarcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/284need dhcp6 example for netconf2018-12-11T20:43:43ZTomek Mrugalskineed dhcp6 example for netconfThe examples in doc/examples/netconf need some cleanup:
- there should be simple-dhcp6.json that demonstrates how to use DHCPv6
- the simple.json should be removed (it is anything but simple: defines all servers, including those that ar...The examples in doc/examples/netconf need some cleanup:
- there should be simple-dhcp6.json that demonstrates how to use DHCPv6
- the simple.json should be removed (it is anything but simple: defines all servers, including those that are not supported - D2 and CA), also defines hooksKea1.5-finalTomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/288RFC8415 released update users guide accordingly2018-12-06T16:03:59ZWlodzimierz WencelRFC8415 released update users guide accordinglyUsers guide mention some of RFCs (e.g. 3315 3633) that are obsolete by new RFC 8415. We need this updated.Users guide mention some of RFCs (e.g. 3315 3633) that are obsolete by new RFC 8415. We need this updated.Kea1.5-finalMarcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/173Kea guide documentation correction needed2018-12-10T16:08:52ZGhost UserKea guide documentation correction neededHere is my setup for DB in **kea-dhcp4.conf **
Case : I have kea server running with below DB config but when my DB crashes[Manually i stopped db for test]. Kea log shows DB connection error and it started retrying for 50 tries as i co...Here is my setup for DB in **kea-dhcp4.conf **
Case : I have kea server running with below DB config but when my DB crashes[Manually i stopped db for test]. Kea log shows DB connection error and it started retrying for 50 tries as i configured but when i DB crash recover [Manually i started db]. kea unable to connect with DB still showing below mentioned error messages and not assigning lease to client !
```
}]
}],
"lease-database": {
"type": "mysql",
"name": "kea",
"user": "root",
"password": "",
"host": "10.25.133.13",
"port": 3306,
"max-reconnect-tries" : 50,
"reconnect-wait-time": 2000,
"connect-timeout": 5000,
"request-timeout": 12000,
"tcp-keepalive": 1,
"tcp-nodelay": true
},
"hosts-database": {
"type": "mysql",
"name": "kea",
"user": "root",
"password": "",
"host": "10.25.133.13",
"port": 3306,
"max-reconnect-tries" : 50,
"reconnect-wait-time": 2000,
"connect-timeout": 5000,
"request-timeout": 12000,
"tcp-keepalive": 1,
"tcp-nodelay": true
},
```
**Once kea started with DB Log output : [1st start ]**
```
DHCPSRV_MYSQL_DB opening MySQL lease database: connect-timeout=5000 host=10.25.133.13 **max-reconnect-tries=50 name=kea port=3306 reconnect-wait-time=2000 request-timeout=12000 tcp-keepalive=1 tcp-nodelay=true type=mysql universe=4 user=root**
2018-10-16 23:26:47.385 INFO [kea-dhcp4.hosts/12919] DHCPSRV_MYSQL_HOST_DB opening MySQL hosts database: connect-timeout=5000 host=10.25.133.13 max-reconnect-tries=50 name=kea port=3306 reconnect-wait-time=2000 request-timeout=12000 tcp-keepalive=1 tcp-nodelay=true type=mysql universe=4 user=root
2018-10-16 23:26:47.398 INFO [kea-dhcp4.ha-hooks/12919] HA_LOCAL_DHCP_DISABLE local DHCP service is disabled while the is in the WAITING state
2018-10-16 23:26:47.398 INFO [kea-dhcp4.ha-hooks/12919] HA_SERVICE_STARTED started high availability service in load-balancing mode as primary server
2018-10-16 23:26:47.399 INFO [kea-dhcp4.dhcp4/12919] DHCP4_STARTED Kea DHCPv4 server version 1.4.0 started
```
**Once DB crashed log output : [DB stopped ] **
```
ERROR [kea-dhcp4.dhcpsrv/12919] DHCPSRV_MYSQL_FATAL_ERROR Unrecoverable MySQL error occurred: unable to execute for <SELECT address, hwaddr, client_id, valid_lifetime, expire, subnet_id, fqdn_fwd, fqdn_rev, hostname, state FROM lease4 WHERE state != ? AND expire < ? ORDER BY expire ASC LIMIT ?>, reason: MySQL server has gone away (error code: 2006).
2018-10-16 23:33:49.235 INFO [kea-dhcp4.dhcpsrv/12919] DHCPSRV_MYSQL_DB opening MySQL lease database: connect-timeout=5000 host=10.25.133.13** max-reconnect-tries=50 name=kea port=3306 reconnect-wait-time=2000 request-timeout=12000 tcp-keepalive=1 tcp-nodelay=true type=mysql universe=4 user=root**
2018-10-16 23:33:49.236 ERROR [kea-dhcp4.dhcp4/12919] DHCP4_DB_RECONNECT_ATTEMPT_FAILED database reconnect failed: Can't connect to MySQL server on '10.25.133.13' (111)
2018-10-16 23:33:49.236 INFO [kea-dhcp4.dhcp4/12919] DHCP4_DB_RECONNECT_ATTEMPT_SCHEDULE** scheduling attempt 2 of 50 in 2000 seconds**
2018-10-16 23:33:49.236 ERROR [kea-dhcp4.dhcpsrv/12919] DHCPSRV_TIMERMGR_CALLBACK_FAILED running handler for timer reclaim-expired-leases caused exception: fatal database errror or connectivity lost
2018-10-16 23:33:53.240 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
```
**Once DB recovered log output : [DB up and running ]
Still kea not connecting with db **
```
2018-10-16 23:35:33.359 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:35:58.390 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:36:23.419 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:36:48.449 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:37:13.479 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:37:38.499 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:38:03.528 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
2018-10-16 23:38:28.557 ERROR [kea-dhcp4.alloc-engine/12919] ALLOC_ENGINE_V4_RECLAIMED_LEASES_DELETE_FAILED deletion of expired-reclaimed leases failed: no current lease manager is available
```
I believe Kea should automatically connect with lease DB once DB came UP/running !
**Is something am missing on conf or bug ?**Kea1.5-finalhttps://gitlab.isc.org/isc-projects/kea/-/issues/86Case sensitivity discrepancy between Option4ClientFqdn and Option6ClientFqdn2018-12-04T16:21:49ZGhost UserCase sensitivity discrepancy between Option4ClientFqdn and Option6ClientFqdnThere is a discrepancy between on Option4ClientFqdn and Option6ClienFqdn when it comes to constructing them from strings. The latter uses a lib::dns::Name() constructor variant which accepts a boolean flag as to whether or not it should...There is a discrepancy between on Option4ClientFqdn and Option6ClienFqdn when it comes to constructing them from strings. The latter uses a lib::dns::Name() constructor variant which accepts a boolean flag as to whether or not it should
"downcase" the string, the former does not do this.
This means a the FQDN sent by a V4 client will have its case preserved while
one sent by a v6 client will not.
We need to determine what the proper behavior should be and proceed accordingly.Kea1.5-finalMarcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/1920MySQL schema update for storing classes in the config backend2021-07-05T09:32:08ZMarcin SiodelskiMySQL schema update for storing classes in the config backendThe [design document](https://gitlab.isc.org/isc-projects/kea/-/wikis/designs/client-classes-in-cb) describes extensions to the existing config backend schema to store client classes. This issue covers the implementation of the schema ch...The [design document](https://gitlab.isc.org/isc-projects/kea/-/wikis/designs/client-classes-in-cb) describes extensions to the existing config backend schema to store client classes. This issue covers the implementation of the schema changes. It is a part of the larger work requested #1167.kea1.9.10Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/89CB: Create MySQL schema and upgrade scripts2018-09-18T06:09:26ZMarcin SiodelskiCB: Create MySQL schema and upgrade scriptsThis ticket covers updating MySQL schema to facilitate Config Backend feature for 1.5.0 release:
https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#mysql
I adds new tables, scripts and upgrade scripts to M...This ticket covers updating MySQL schema to facilitate Config Backend feature for 1.5.0 release:
https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#mysql
I adds new tables, scripts and upgrade scripts to MySQL.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/36define "same subnet"2020-08-29T09:25:33ZGhost Userdefine "same subnet"Define what is "same subnet" i.e. what makes two similar subnets allowed or forbidden.
Obviously same subnet ID should be forbidden.
Same subnet text representation (i.e., `192.168.0.0/24`) is more arguable.
Note this is a design/discus...Define what is "same subnet" i.e. what makes two similar subnets allowed or forbidden.
Obviously same subnet ID should be forbidden.
Same subnet text representation (i.e., `192.168.0.0/24`) is more arguable.
Note this is a design/discussion ticket (no branch, no code, no doc).outstandingFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/40check what happens on empty hostname options2019-01-17T14:36:47ZGhost Usercheck what happens on empty hostname optionsCf ISC DHCP 43786 ticket where a specific handling was added to handle empty host-name (code 12) DHCPv4 options sent by not compliant (but existing in the real world) clients. Verify Kea code and if there is not yet a unit test about it ...Cf ISC DHCP 43786 ticket where a specific handling was added to handle empty host-name (code 12) DHCPv4 options sent by not compliant (but existing in the real world) clients. Verify Kea code and if there is not yet a unit test about it create a new one.Kea1.6Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/58KB article about required classes2018-11-07T00:06:51ZGhost UserKB article about required classesKea1.5-beta1Cathy AlmondCathy Almondhttps://gitlab.isc.org/isc-projects/kea/-/issues/65library for yang <-> json configuration element translators2018-11-05T09:44:05ZGhost Userlibrary for yang <-> json configuration element translatorsNew library with yang <-> json translators for representation of configuration elements.
A priori one fro `src/lib/dhcpsrv/parsers` parse class.New library with yang <-> json translators for representation of configuration elements.
A priori one fro `src/lib/dhcpsrv/parsers` parse class.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/48Add a park point to subnet select callout (RADIUS async access)2023-11-08T10:05:03ZGhost UserAdd a park point to subnet select callout (RADIUS async access)Needed for Radius asynchronous access. Prepared (code reorganized) for DHCPv6 in #5458.Needed for Radius asynchronous access. Prepared (code reorganized) for DHCPv6 in #5458.next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/185Examine IA_NA prefix length values in our code for consistency and usability2023-07-01T08:23:06ZThomas MarkwalderExamine IA_NA prefix length values in our code for consistency and usabilityThe following support ticket: https://support.isc.org/Ticket/Display.html?id=13645, raises an issue with our inconsistent handling of prefix length for IA_NA leases and reservations within the code base.
While the immediate issue raised...The following support ticket: https://support.isc.org/Ticket/Display.html?id=13645, raises an issue with our inconsistent handling of prefix length for IA_NA leases and reservations within the code base.
While the immediate issue raised by the ticket seems to be mitigated by changes made for Global Host Reservations, we should still spend time analyzing our code for both consistency and usability. Primarily
we to decide if, we allow values of both 0 and 128, or only 128.
This may require polling the user community.kea2.4.0Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/50DHCP hook libs should not be loadable by CA,D22021-12-10T09:46:14ZGhost UserDHCP hook libs should not be loadable by CA,D2Currently, it's possible to load hooks libraries both in the CA and in the various services, irrespective of where they are intended to be installed and used.
The ability to install hooks everywhere adds huge flexibility to Kea DHCP and...Currently, it's possible to load hooks libraries both in the CA and in the various services, irrespective of where they are intended to be installed and used.
The ability to install hooks everywhere adds huge flexibility to Kea DHCP and is a wonderful feature, but at the same time, it demonstrates one variant of Murphy's law quite beautifully - if something can be installed in the wrong place, then it will be..
Then, looking ahead to the future possibility that we might one day have hooks that could be genuinely installed on both the CA and on one or more services, so that the administrator can choose where to send the commands to be executed - this is simply not possible at the moment because of the order of precedence that is being applied:
In section 16.1, describing the reason why you need to specify 'service', is written:
https://kea.isc.org/docs/kea-guide.html#ctrl-channel-syntax
> *service* is a list of the servers at which the control command is targetted. In the example above, the control command is targetted at the DHCPv4 server. In most cases, the CA will simply forward this command to the DHCPv4 server for processing via unix domain socket. Sometimes, the command including a service value may also be processed by the CA, if the CA is running a hooks library which handles such command for the given server. As an example, the hooks library attached to the CA may perform some operations on the database (like adding host reservations, modifying leases etc.). An advantage of performing DHCPv4 specific administrative operations in the CA rather than forwarding it to the DHCPv4 server is the ability to perform these operations without disrupting the DHCPv4 service (DHCPv4 server doesn't have to stop processing DHCP messages to apply changes to the database). Nevertheless, these situations are rather rare and, in most cases, when the service parameter contains a name of the service the commands are simply forwarded by the CA. The forwarded command includes the service parameter but this parameter is ignored by the receiving server. This parameter is only meaningful to the CA.
This sounds really good and useful, and I can imagine future use cases where you might design a multi-purpose hook that could run either from the CA or from a specific service - perhaps database manipulation as suggested, or something to do with stats?
But here's where the restrictiveness bites - because:
https://kea.isc.org/docs/kea-guide.html#agent-overview
> The CA processes received commands according to the following algorithm:
> - Pass command into any installed hooks (regardless of service value(s)). If the command is handled by a hook, return the response.
> - If the service specifies one more or services, the CA will forward the command to specified services and return the accumulated responses.
> - If service is not specified or is an empty list, the CA will handle the command if it supports it.
That first action in the order of precedence prevents any command that could be executed either on the CA via an installed hook, OR on another service, from *ever* being forwarded to the specified service.
(This first action in the order of precedence is also why ticket https://kea.isc.org/ticket/5613#ticket is important - because any hooks libraries loaded by mistake on both the CA and the service for which they were intended, will consume any commands sent to the CA that should be forwarded - very confusing and frustrating for new hooks users).kea2.1.2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/56premium config/build fixes and cleanups2019-02-04T19:24:35ZGhost Userpremium config/build fixes and cleanupsSet `SHARE_DIR` (cf #5639 3. **bug**)
Made freeradius checks conditional on the radius hook existence.
Find an usage or remove config.setup
Move `m4_sinclude` calls to top-level (it is an illusion to believe they can be conditional)
...Set `SHARE_DIR` (cf #5639 3. **bug**)
Made freeradius checks conditional on the radius hook existence.
Find an usage or remove config.setup
Move `m4_sinclude` calls to top-level (it is an illusion to believe they can be conditional)
Cleanup `Makefile.in`
Investigate if distcheck with and without autoreconf works (aka Marcin's test). If not either fix and document as not working.Kea1.6https://gitlab.isc.org/isc-projects/kea/-/issues/75RADIUS documentation needs an update2018-11-27T13:35:28ZGhost UserRADIUS documentation needs an updateI've spotted couple small issues in section 14.4.8:
- It still mentions --with-tier2
- STEP 2 the last sentence misses word "download": To and compile this version, please use the following steps:
- The last sentence in Step 3 says tha...I've spotted couple small issues in section 14.4.8:
- It still mentions --with-tier2
- STEP 2 the last sentence misses word "download": To and compile this version, please use the following steps:
- The last sentence in Step 3 says that boost has no explicit make install step. But it has b2 install, so that remark doesn't make much sense.
Also, need to provide links to the bug fixes Francis reported back to FreeRADIUS.Kea1.5-beta2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/20update addr_utilities.h comments2018-09-19T08:27:45ZFrancis Dupontupdate addr_utilities.h commentsaddr_utilities.h (now in asiolink) has some negative comments which no longer stand, e.g.:
@todo It currently works for v6 only and will throw if v4 address is passed.
when v4 support was implemented a long time ago...addr_utilities.h (now in asiolink) has some negative comments which no longer stand, e.g.:
@todo It currently works for v6 only and will throw if v4 address is passed.
when v4 support was implemented a long time ago...Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/45fromJSON does not handle Unicode escapes.2018-12-11T15:24:31ZGhost UserfromJSON does not handle Unicode escapes.The corresponding code is missing but can be copied from flex scanners.
Note Unicode escapes are used too to encode control characters so are not limited to real Unicode input.The corresponding code is missing but can be copied from flex scanners.
Note Unicode escapes are used too to encode control characters so are not limited to real Unicode input.Kea1.5-finalFrancis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/29cryptolink random generator2018-11-07T04:29:27ZFrancis Dupontcryptolink random generatorAdd in the cryptolink library support for random generation (cf trac 3474).Add in the cryptolink library support for random generation (cf trac 3474).Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/61errors in kea-admin script and related scripts2018-11-07T09:15:57ZGhost Usererrors in kea-admin script and related scriptsReported via a Kea support customer:
Found annoying error in kea-admin, the $prefix environment variable is set but not exported so it cannot be used by scripts in $prefix/share/kea/scripts/mysql/*.sh.
Also there are errors in $pre...Reported via a Kea support customer:
Found annoying error in kea-admin, the $prefix environment variable is set but not exported so it cannot be used by scripts in $prefix/share/kea/scripts/mysql/*.sh.
Also there are errors in $prefix/share/kea/scripts/admin-utils.sh at lines 25 and 39, where the --host="${db_host}" parameter is missing so the mysql commands are always attempted towards the local database even if -h or --host parameter is used in kea-admin calls.
I suspect the same problems could be in other backends as well but I didn't check them.
He attached his proposed corrections to admin-utils.sh and kea-admin.Kea1.5-beta1Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/28Config backend: implement basic class hierarchy2019-01-19T20:41:55ZMarcin SiodelskiConfig backend: implement basic class hierarchyThis ticket is created while the design is still in progress and is mostly meant to create a PoC for the class config backend class hierarchy. It will be later turned into the actual/final implementation when the design is ready and appr...This ticket is created while the design is still in progress and is mostly meant to create a PoC for the class config backend class hierarchy. It will be later turned into the actual/final implementation when the design is ready and approved.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/62Missing header files in installation directories and bump up lib version numb...2018-11-28T16:40:11ZGhost UserMissing header files in installation directories and bump up lib version numbers for Kea 1.5.0-beta2We appear not to be installing the various *_message.h files when doing a "make install".We appear not to be installing the various *_message.h files when doing a "make install".Kea1.5-beta2Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/63kea-dhcp4 server needs to support configurable client hostname sanitization2018-09-06T12:34:16ZGhost Userkea-dhcp4 server needs to support configurable client hostname sanitizationThe Infoblox SOW requires the ability to sanitize client host name values, sent by DHCPv4 clients, prior to using them to form the FQDN for DNS updates. Specifically, there should be two configuration parameters:
1. A regular expressio...The Infoblox SOW requires the ability to sanitize client host name values, sent by DHCPv4 clients, prior to using them to form the FQDN for DNS updates. Specifically, there should be two configuration parameters:
1. A regular expression (e.g. [A-za-z0-9]-) which describes the allowed characters
2. A replacement for characters that are disallowed (e.g. _ by -)
Does not apply to v6, or to v4 FQDN option values, as per RFC they cannot contain non-compliant characters.Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/64a new hook to manage client class 'class_cmds'2018-11-05T16:48:10ZGhost Usera new hook to manage client class 'class_cmds'For yang/netconf and config backend we need a way to manage client-classes so a 'class_cmds' which provides the usual function: adding, querying (aka get) and deleting client classes from the running configuration.
Open questions:
- wh...For yang/netconf and config backend we need a way to manage client-classes so a 'class_cmds' which provides the usual function: adding, querying (aka get) and deleting client classes from the running configuration.
Open questions:
- where to put it? a priori support package
- what to do with dependent expressions? If a class is just removed this can lead to a configuration which cannot be reloaded so a priori expressions of following classes should be checked against dangling references.
- do we need a change/update? as the class order is critical IMHO we should provide one.
Note that class-list should simply return the list of configured class names. Add should append the new class to the end.Kea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/67Need a mechanism to output binary expressions as hexadecimal strings2019-09-02T07:12:00ZGhost UserNeed a mechanism to output binary expressions as hexadecimal stringsA prospective user attempted to use the following expression for a value of a Radius attribute:
{
"name": "Password"
"expr": "pkt4.mac"
}
The value produced by pkt4.mac, is a series of binary bytes, which cannot be
expressed in a...A prospective user attempted to use the following expression for a value of a Radius attribute:
{
"name": "Password"
"expr": "pkt4.mac"
}
The value produced by pkt4.mac, is a series of binary bytes, which cannot be
expressed in a Radius authorization file. The radius server actually errors out stating the values do not match. We need a way to convert an expression result to a string literal such as:
"0xXXXXX" or "xx:xx:xx"
We could do it as perhaps a function:
hexString(pkt4.mac)
This would be useful beyond this particular case involving Radius.
As an aside using the same expression for User Name or Connection Id work because we convert it to a string, under the covers.Kea1.5-beta1Stephen MorrisStephen Morrishttps://gitlab.isc.org/isc-projects/kea/-/issues/68Global Host Reservations Task 3:Add v6 support for new HR_GLOBAL mode2018-08-27T11:35:31ZGhost UserGlobal Host Reservations Task 3:Add v6 support for new HR_GLOBAL mode1. Add support for HR_GLOBAL mode to kea-dhpd4/subnet parsing
2. Modify v6 AllocEngine::findReservation to utilize new mode1. Add support for HR_GLOBAL mode to kea-dhpd4/subnet parsing
2. Modify v6 AllocEngine::findReservation to utilize new modeKea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/69Global Host Reservations Task 4: Host Commands should accept global subnet id2018-11-07T17:52:34ZGhost UserGlobal Host Reservations Task 4: Host Commands should accept global subnet idHost Cmds need to accept a subnet-id value of SUBNET_ID_GLOBAL for either v4 or v6 subnet-ids, to allow manipulation of global reservations.Host Cmds need to accept a subnet-id value of SUBNET_ID_GLOBAL for either v4 or v6 subnet-ids, to allow manipulation of global reservations.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/70Global Host Reservations Task 5: data migration scripts to convert existing s...2018-11-07T11:38:39ZGhost UserGlobal Host Reservations Task 5: data migration scripts to convert existing subnet-id values of 0The changes made in 5704 to support global HRs necessitate migrating existing data. Specifically for MySQL and PostgreSQL, any columns with values of 0 for subnet IDs in hosts and options tables, need to replace with NULL, and for Cassa...The changes made in 5704 to support global HRs necessitate migrating existing data. Specifically for MySQL and PostgreSQL, any columns with values of 0 for subnet IDs in hosts and options tables, need to replace with NULL, and for Cassandra, they should be replaced with GLOBAL_ID_UNUSED.
Data migration steps need to be added to the schema upgrade scripts for 1.5.0 to accommodate this.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/83Update HA design with the ability to hold state2018-08-27T17:14:26ZGhost UserUpdate HA design with the ability to hold stateWe're going to implement a hold in a waiting state capability in HA.
As a first step, we need to to update the [requirements](../wikis/HARequriements) and the [design](../wikis/HADesign). This ticket covers this update.We're going to implement a hold in a waiting state capability in HA.
As a first step, we need to to update the [requirements](../wikis/HARequriements) and the [design](../wikis/HADesign). This ticket covers this update.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/92Move common classes pertaining to databases from libkea-dhcpsrv to their own ...2018-12-06T23:10:33ZMarcin SiodelskiMove common classes pertaining to databases from libkea-dhcpsrv to their own librariesConfiguration Backend structure described here: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#configuration-backend-structure calls for moving some of the existing classes from libkea-dhcpsrv to new lib...Configuration Backend structure described here: https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-design#configuration-backend-structure calls for moving some of the existing classes from libkea-dhcpsrv to new libraries. For example: DatabaseConnection, DbLogger should go to libkea-database. This ticket covers such refactoring.Kea1.5-beta1Thomas MarkwalderThomas Markwalderhttps://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 Markwalderhttps://gitlab.isc.org/isc-projects/kea/-/issues/66IETF NOC requested Authoritative flag in Kea2019-01-03T16:01:06ZGhost UserIETF NOC requested Authoritative flag in KeaDuring discussions with IETF network team, they raised a question to have a configuration knob in Kea to let it know it's not authoritative.
The goal is to have two running instances without each NAKing the other's packets.During discussions with IETF network team, they raised a question to have a configuration knob in Kea to let it know it's not authoritative.
The goal is to have two running instances without each NAKing the other's packets.Kea1.5-beta1https://gitlab.isc.org/isc-projects/kea/-/issues/107Import YANG DHCPv4 model from kea-yang repo2018-09-13T09:43:34ZTomek MrugalskiImport YANG DHCPv4 model from kea-yang repoThis ticket covers importing DHCPv4 model from kea-yang repository.
This should be done as soon as possible, so QA and other interested parties can look at it and prepare.This ticket covers importing DHCPv4 model from kea-yang repository.
This should be done as soon as possible, so QA and other interested parties can look at it and prepare.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/18lib process unable to handle more than one configuration (staging and running)2018-09-30T19:38:12ZFrancis Dupontlib process unable to handle more than one configuration (staging and running)According to trac3543 review the lib process lacks a versioning feature as dhcpsrv cfgmgr provides.According to trac3543 review the lib process lacks a versioning feature as dhcpsrv cfgmgr provides.Kea1.5-beta1Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/23gitlab HOWTO2018-10-19T11:50:39ZFrancis Dupontgitlab HOWTOThis to discuss gitlab HOWTO. No Kea code expected!
The howto is documented [here](../wikis/gitlab-howto)This to discuss gitlab HOWTO. No Kea code expected!
The howto is documented [here](../wikis/gitlab-howto)Kea1.5-beta1Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/93CB: Implement MySQLConfigBackendDHCPv4 class2018-10-30T15:53:39ZMarcin SiodelskiCB: Implement MySQLConfigBackendDHCPv4 classThe MySQLConfigBackend class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designThe MySQLConfigBackend class implements Config Backend for MySQL as described in https://gitlab.isc.org/isc-projects/kea/wikis/designs/configuration-in-db-designKea1.5-beta1Marcin SiodelskiMarcin Siodelskihttps://gitlab.isc.org/isc-projects/kea/-/issues/263Changes that came out during sanity checks of 1.5.0-beta and should be applie...2018-11-26T20:26:18ZWlodzimierz WencelChanges that came out during sanity checks of 1.5.0-beta and should be applied before 1.5.0Please add commands here about glitches you found during sanity checks so it wont be forgot during 1.5.0Please add commands here about glitches you found during sanity checks so it wont be forgot during 1.5.0Kea1.5-beta2Marcin SiodelskiMarcin Siodelski