Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2022-04-25T13:00:37Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/687Add the sender's address to kea-ctrl-agent log messages [ISC-support #14906]2022-04-25T13:00:37ZCathy AlmondAdd the sender's address to kea-ctrl-agent log messages [ISC-support #14906]As requested in [Support RT #14906](https://support.isc.org/Ticket/Display.html?id=14906)
(And also, this sounds like a really useful idea).
The requestor of this feature says:
For us, the source ip address is an important piece of in...As requested in [Support RT #14906](https://support.isc.org/Ticket/Display.html?id=14906)
(And also, this sounds like a really useful idea).
The requestor of this feature says:
For us, the source ip address is an important piece of information.
We would like to see in the kea-ctrl-agent log messages the received command together with the source ip address - something like this:
Jun 20 10:21:52 myserver.example.com kea-ctrl-agent[58456]: 2019-06-20 10:21:52.771 INFO [kea-ctrl-agent.commands/58456] COMMAND_RECEIVED Received command 'config-get’ from 192.0.2.25
From my perspective as an operator, it is a great advantage if the log messages contain all information related to the context.
We would like to see the source address without switching to the debug level.
How do you see this request? Is this an improvement that other users also would appreciate?kea2.1.5Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/364Describe the Kea process for selecting a subnet/address and assigning options2020-08-06T22:11:39ZVicky Riskvicky@isc.orgDescribe the Kea process for selecting a subnet/address and assigning optionsIt would be very helpful to have a clear and explicit write up, and/or a diagram showing what information is evaluated, in what order, in the process of determining what address will be offered to a client, and how the options are assign...It would be very helpful to have a clear and explicit write up, and/or a diagram showing what information is evaluated, in what order, in the process of determining what address will be offered to a client, and how the options are assigned.
While there will be exceptions that complicate this, what we are looking for first is, what is the default process for a new offer for a DHCPv4 client?kea1.8.0Vicky Riskvicky@isc.orgVicky Riskvicky@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/issues/2627Dynamic DNS in options are not in example DHCPv4 configuration file2023-07-31T13:34:54ZMichael CasadevallDynamic DNS in options are not in example DHCPv4 configuration file**Describe the bug**
Options relating to DDNS in DHCPv4 are not present in the included examples. To get DDNS working with Kea, I had to manually look up and add options like this
```
"dhcp-ddns": {
"enable-updates": true,
...**Describe the bug**
Options relating to DDNS in DHCPv4 are not present in the included examples. To get DDNS working with Kea, I had to manually look up and add options like this
```
"dhcp-ddns": {
"enable-updates": true,
},
"ddns-qualifying-suffix": "ddns.restless.systems",
```
DDNS is methoded in other places, but none of the actual config stanzas appear to be in the file, nor is there a conscience guide showing which flags need to be set, as well as having clients. Furthermore, default behavior is not well documented. For instance, without ddns-qualifying-suffix, my client sent a hostname of "kali", and Kea DHCP attempted to do a UPDATE with that hostname as is.
That could easily leave to unexpected behavior, and security concerns and should be clearly documented.
**Expected behavior**
- Clearer documentation on what must be set in DHCP4 (and 6) for DDNS
- Better documentation on default behaviors
**Environment:**
- Kea version: which release? if it's compiled from git, which revision. Use kea-dhcp4 -V to find out.
- OS: [e.g. Ubuntu 16.04 x64]
- Which features were compiled in (in particular which backends)
- If/which hooks where loaded in
**Environment:**
- Kea version: 2.2.0, compiled from tarball on site
- Ubuntu 22.04.1
**Additional Information**
This was done as part of a livestream learning how to use Kea, documenting this behavior.
**Contacting you**
GitLab is fine, can provide more ways if needed.next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/2480Documentation - Update KB Article Understanding Client Classification2023-07-31T13:34:54ZPeter DaviesDocumentation - Update KB Article Understanding Client Classification**Update KB Article Understanding Client Classification**
The early-global-reservations-lookup for classed was implemented in release 2.1.4 see #2249
This optionally changes the phases of subnet selection and host reservation.
It need...**Update KB Article Understanding Client Classification**
The early-global-reservations-lookup for classed was implemented in release 2.1.4 see #2249
This optionally changes the phases of subnet selection and host reservation.
It needs to be explained in the KB article:
https://kb.isc.org/docs/understanding-client-classificationnext-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/2218error in build-in help of configure script2022-01-12T14:19:35ZMarcin Godzinaerror in build-in help of configure scriptIn _./configure -h_ script, some optional packages have PATH described as optional, and some don't despite being optional.
For example:
`--with-mysql=PATH path to the MySQL 'mysql_config' script (MySQL is
...In _./configure -h_ script, some optional packages have PATH described as optional, and some don't despite being optional.
For example:
`--with-mysql=PATH path to the MySQL 'mysql_config' script (MySQL is
used for the DHCP database)`
has an optional path, but it is not described as such.
And other packages are described as optional like:
`--with-libyang[=PATH] optional path to the libyang installation directory`
I would advise checking all as if they are optional.
Kea version 2.1.1kea2.1.2Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2083max-response-delay in ARM examples is often equal to heartbeat-delay which w...2022-07-11T16:14:10ZThomas Markwaldermax-response-delay in ARM examples is often equal to heartbeat-delay which we consider as wrongWe recommend the max-response-delay be a multiple of heartbeat-delay, yet in our HA example config snippets in the ARM they are frequently the same, customers are following the examples not the text.
```
max-response-delay - specifies a...We recommend the max-response-delay be a multiple of heartbeat-delay, yet in our HA example config snippets in the ARM they are frequently the same, customers are following the examples not the text.
```
max-response-delay - specifies a duration in milliseconds since the last successful communication with the partner, after which the server assumes that communication with the partner is interrupted. This duration should be greater than the heartbeat-delay. Usually it is greater than the duration of multiple heartbeat-delay values. When the server detects that communication is interrupted, it may transition to the partner-down state (when max-unacked-clients is 0) or trigger the failure-detection procedure using the values of the two parameters below. The default value of this parameter is 60000 ms.
```kea2.2.0 - a new stable branchRazvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/1983remove all links to old jenkins from documentation2021-08-05T15:13:56ZWlodzimierz Wencelremove all links to old jenkins from documentationold jenkins just went behind VPN; quick qrep show
```
wlodek@wlodek-mac-p:kea (1941) $ grep -rn "jenkins.isc.org" .
./prem/src/hooks/dhcp/class_cmds/class_cmds.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
...old jenkins just went behind VPN; quick qrep show
```
wlodek@wlodek-mac-p:kea (1941) $ grep -rn "jenkins.isc.org" .
./prem/src/hooks/dhcp/class_cmds/class_cmds.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/class_cmds/class_cmds.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/forensic_log/libdhcp_legal_log.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/forensic_log/libdhcp_legal_log.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/forensic_log/libdhcp_legal_log.dox:323:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html#hooksdgTutorial">
./prem/src/hooks/dhcp/radius/radius.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/radius/radius.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/host_cmds/host_cmds.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/host_cmds/host_cmds.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/flex_id/libdhcp_flex_id.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/flex_id/libdhcp_flex_id.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/host_cache/host_cache.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/host_cache/host_cache.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/cb_cmds/cb_cmds.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/cb_cmds/cb_cmds.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/subnet_cmds/subnet_cmds.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/subnet_cmds/subnet_cmds.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/dhcp/lease_query/lease_query.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/dhcp/lease_query/lease_query.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./prem/src/hooks/d2/gss_tsig/gss_tsig.dox:16:understood <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./prem/src/hooks/d2/gss_tsig/gss_tsig.dox:18:href="https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html">
./.gitlab/issue_templates/release_checklist.md:18:1. [ ] Check [Performance Test Results](https://jenkins.isc.org/job/kea-dev/job/performance/KeaPerformanceReport/) in Jenkins for drops in performance.
./kea-1.9.9-git/CONTRIBUTING.md:43:take a look at the [Jenkins build farm](https://jenkins.isc.org/).
./kea-1.9.9-git/src/hooks/dhcp/stat_cmds/stat_cmds.dox:19:href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea Developer's Guide</a> and in
./kea-1.9.9-git/src/hooks/dhcp/lease_cmds/lease_cmds.dox:19:href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea Developer's Guide</a> and in
./kea-1.9.9-git/src/hooks/dhcp/flex_option/flex_option.dox:19:the <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./kea-1.9.9-git/src/hooks/dhcp/bootp/bootp.dox:19:the <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./kea-1.9.9-git/src/hooks/dhcp/run_script/run_script.dox:19:the <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./CONTRIBUTING.md:97:take a look at the [Jenkins build farm](https://jenkins.isc.org/).
./doc/sphinx/man/kea-ctrl-agent.8.rst:72:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/keactrl.8.rst:104:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-dhcp-ddns.8.rst:67:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-admin.8.rst:116:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-dhcp4.8.rst:73:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-dhcp6.8.rst:73:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-shell.8.rst:102:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-lfc.8.rst:104:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/man/kea-netconf.8.rst:65:version is available at https://jenkins.isc.org/job/Kea_doc/doxygen/.
./doc/sphinx/arm/agent.rst:27:Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/>`__.
./doc/sphinx/arm/install.rst:180:Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/>`__ contains more
./doc/sphinx/arm/install.rst:414:<https://jenkins.isc.org/job/Kea_doc/doxygen/de/d9a/crossCompile.html>`__.
./doc/sphinx/arm/install.rst:437: Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/>`__.
./doc/sphinx/arm/dhcp6-srv.rst:3479:`here <https://jenkins.isc.org/job/kea-dev/job/performance/KeaPerformanceReport/>`_.
./doc/sphinx/arm/dhcp6-srv.rst:6548:<https://jenkins.isc.org/job/Kea_doc/doxygen/d2/d96/ctrlSocket.html>`__
./doc/sphinx/arm/hooks.rst:48:Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html>`__.
./doc/sphinx/arm/hooks.rst:241:<https://jenkins.isc.org/job/Kea_doc/doxygen/df/d46/hooksdgDevelopersGuide.html>`__.
./doc/sphinx/arm/hooks.rst:554:<https://jenkins.isc.org/job/Kea_doc/doxygen/d8/db2/libdhcp_user_chk.html>`__
./doc/sphinx/arm/hooks.rst:557:<https://jenkins.isc.org/job/Kea_doc/doxygen/index.html#hooksFramework>`__ should give users
./doc/sphinx/arm/ddns.rst:285:Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/d2/d96/ctrlSocket.html>`__
./doc/sphinx/arm/ctrl-channel.rst:229:`Using Control Channel <https://jenkins.isc.org/job/Kea_doc/doxygen/d2/d96/ctrlSocket.html#ctrlSocketClient>`__
./doc/sphinx/arm/dhcp4-srv.rst:3995:`here <https://jenkins.isc.org/job/kea-dev/job/performance/KeaPerformanceReport/>`_.
./doc/sphinx/arm/dhcp4-srv.rst:6587:<https://jenkins.isc.org/job/Kea_doc/doxygen/d2/d96/ctrlSocket.html>`__
./doc/sphinx/arm/congestion-handling.rst:74:`Kea Developer's Guide <https://jenkins.isc.org/job/Kea_doc/doxygen/index.html>`__.)
./src/hooks/dhcp/stat_cmds/stat_cmds.dox:19:href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea Developer's Guide</a> and in
./src/hooks/dhcp/lease_cmds/lease_cmds.dox:19:href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea Developer's Guide</a> and in
./src/hooks/dhcp/flex_option/flex_option.dox:19:the <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./src/hooks/dhcp/bootp/bootp.dox:19:the <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
./src/hooks/dhcp/run_script/run_script.dox:19:the <a href="https://jenkins.isc.org/job/Kea_doc/doxygen/">Kea
```kea1.9.11Wlodzimierz WencelWlodzimierz Wencelhttps://gitlab.isc.org/isc-projects/kea/-/issues/1559doc: picking the right redundancy solution (HA vs shared database)2024-03-21T12:23:39ZTomek Mrugalskidoc: picking the right redundancy solution (HA vs shared database)Once the situation with MySQL group replication improves (see #1411, #593 and #980) and we get more experience with running Kea with a cluster, we should document this a possible alternative for HA.
Support and sales are vitally interes...Once the situation with MySQL group replication improves (see #1411, #593 and #980) and we get more experience with running Kea with a cluster, we should document this a possible alternative for HA.
Support and sales are vitally interested in this. Hence the customer label.
At various times it was commented that the decision tree for recently added in host reservation docs is very useful. Regardless if this ends up as a KB article or part of Kea ARM, there should be a decision tree helping the reader to navigate through available options.next-stable-3.0https://gitlab.isc.org/isc-projects/kea/-/issues/1547custom option examples2022-11-02T15:10:19ZTomek Mrugalskicustom option examplesWe should improve the custom option examples. Here are some requests:
1. [custom option 191](https://lists.isc.org/pipermail/kea-users/2019-November/002570.html)We should improve the custom option examples. Here are some requests:
1. [custom option 191](https://lists.isc.org/pipermail/kea-users/2019-November/002570.html)backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1452Document installing FreeRADIUS from packages2023-07-17T13:58:20ZTomek MrugalskiDocument installing FreeRADIUS from packagesSee the background for this report in [support#16875](https://support.isc.org/Ticket/Display.html?id=16875).
In essence, the error observed was:
```
HOOKS_OPEN_ERROR failed to open hook library /usr/lib64/kea/hooks/libdhcp_radius.so: /...See the background for this report in [support#16875](https://support.isc.org/Ticket/Display.html?id=16875).
In essence, the error observed was:
```
HOOKS_OPEN_ERROR failed to open hook library /usr/lib64/kea/hooks/libdhcp_radius.so: /usr/lib64/kea/hooks/libdhcp_radius.so: undefined symbol: rc_acct_async
DHCP4_PARSER_FAIL failed to create or run parser for configuration element hooks-libraries: hooks libraries failed to validate - library or libraries in error are: /usr/lib64/kea/hooks/libdhcp_radius.so(/etc/kea/kea-dhcp4.conf:10:5)
```
However, the underlying problem is that incorrect FreeRADIUS version was installed. It was a plain FreeRADIUS, without Francis' patch. This should be better explained in the docs. Something along "if you see this error, please install the patched FreeRADIUS version".kea2.4.0Wlodzimierz WencelWlodzimierz Wencelhttps://gitlab.isc.org/isc-projects/kea/-/issues/1153Rewrite the client classification documentation in Kea ARM2022-11-02T15:10:17ZMarcin SiodelskiRewrite the client classification documentation in Kea ARMClient classification is a complex topic. We started simple but over the years we have added more and more feature to client classification. While reviewing the most recent addition to client classification in #1139 we found that certain...Client classification is a complex topic. We started simple but over the years we have added more and more feature to client classification. While reviewing the most recent addition to client classification in #1139 we found that certain paragraphs are unclear. For example, see this thread: https://gitlab.isc.org/isc-projects/kea/-/merge_requests/686#note_115873. We think it may be now good time to rewrite the documentation about the client classification and perhaps add some diagrams explaining how it all works together.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1055Describe supported OSes2020-03-20T13:57:38ZTomek MrugalskiDescribe supported OSesBIND has this very nice [PLATFORMS.md](https://gitlab.isc.org/isc-projects/bind9/blob/master/PLATFORMS.md) file. We have part of that information available in the ARM, but it's fragmented and incomplete.
We should:
- create page on wiki...BIND has this very nice [PLATFORMS.md](https://gitlab.isc.org/isc-projects/bind9/blob/master/PLATFORMS.md) file. We have part of that information available in the ARM, but it's fragmented and incomplete.
We should:
- create page on wiki (or in kea sources) This should be easily modifiable by everyone involved (devs, qa, Vicky)
- move the information from ARM there (and have pointer in ARM)
- add a section about the systems we actually test on
- having the same approach as bind (supported/mostly supported/known to be broken) is a very good modelkea1.7.6Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/1024Manipulate HA status2020-01-30T16:30:42ZPeter DaviesManipulate HA status---
name: Manipulate HA status
about: #15517: HA states / force failover
---
The request is for the ability to, via a hook libraries, remotely force a state change on an HA enabled server.
This functionality is required be able to manua...---
name: Manipulate HA status
about: #15517: HA states / force failover
---
The request is for the ability to, via a hook libraries, remotely force a state change on an HA enabled server.
This functionality is required be able to manually change the active server in a HA pair.kea1.7.4Peter DaviesPeter Davieshttps://gitlab.isc.org/isc-projects/kea/-/issues/1000Author (in the Kea ARM or as a Wiki piece or KB article), better guidance on ...2022-08-31T09:25:33ZCathy AlmondAuthor (in the Kea ARM or as a Wiki piece or KB article), better guidance on HA and HA + backup configurationsThis is follow-on from customer questions and requests for advice on setting up and managing resilient Kea HA environments.
See discussions and material in [Support ticket #15378](https://support.isc.org/Ticket/Display.html?id=15378) an...This is follow-on from customer questions and requests for advice on setting up and managing resilient Kea HA environments.
See discussions and material in [Support ticket #15378](https://support.isc.org/Ticket/Display.html?id=15378) and [Support ticket #15334](https://support.isc.org/Ticket/Display.html?id=15334).
Although the concepts of how to configure HA as load-balancing or primary/standby as well as 'and you can add a backup server too) are covered in the Kea Administrator Reference Manual, there's no overall discussion about different strategies for deploying resilient server configurations, how to test, monitor, what to consider, and what to actually do, in case of a failure scenario.
It would be excellent to have a document (or paper, or series of KB articles) that cover things like:
- Different resilient configurations
- Pros and Cons of each
- Implications for routers/relays
- Disaster scenarios and recovery from them - including what to do with relays, routers, server addressing, route advertisements (for wheeling in a replacement server at another location)
- How to promote a backup server to primary/sole server if the HA pair 'vanish'
- How to change HA server states manually (in a controlled manner, with guaranteed state change) for maintenance/upgrades
- How to test your HA environment
- Where/how anycast might fit in
- Where/how load-balancers fit in - and specific considerations for those
- Server environment replication - entire VMs
- Lease file replication
- Multiple Kea servers sharing the same leases back-end
- Multiple Kea servers sharing the same reservations back-end
- All the 'what if?'s
And so on...kea2.3.0Peter DaviesPeter Davieshttps://gitlab.isc.org/isc-projects/kea/-/issues/875Propose a better allocation strategy2023-04-06T11:13:40ZTomek MrugalskiPropose a better allocation strategyKea 1.6 and earlier always used the same allocation strategy: pick the first address/prefix, look into the DB whether it's available. If not move to the next address/prefix and try again. That works very well when the pool is mostly empt...Kea 1.6 and earlier always used the same allocation strategy: pick the first address/prefix, look into the DB whether it's available. If not move to the next address/prefix and try again. That works very well when the pool is mostly empty, but is very inefficient when the pool is mostly full as it requires many lookups.
Even with multi-threading, we would just do the same inefficient thing over and over again, just faster. The ultimate solution to this problem is to decrease the number of lookups.
The [performance proposals for 1.7](https://gitlab.isc.org/isc-private/kea/wikis/performance1.7) list several ideas what could be done about it:
- keep free leases in the DB. That way we could do a single SELECT to return the first free/expired lease.
- alternative proposal calls for lease cache. We could do a single query and return all free leases in a pool. This would work great for single single-threaded instance, but it's unclear how to maintain this cache consistency among multiple threads or even worse multiple Kea instances connected to the same DB.
- stored procedure to return empty lease. This should improve the DB round trip time, but at the end of the day we would just repeat the same inefficient algorithm: when the pool is mostly full, the stored procedure would take a lot of time to complete.
Related ticket: #1126.current-stable-2.4https://gitlab.isc.org/isc-projects/kea/-/issues/504docs: it should be described what cfg fields are available on which level and...2021-06-23T11:10:05ZMichal Nowikowskidocs: it should be described what cfg fields are available on which level and structureE.g. rebind-timer. It can be global, it can be in subnet, it can be in shared network, maybe it can be in pool.
It is not described in the docs explicitly. It would be good to have a list of all config fields with locations where they ar...E.g. rebind-timer. It can be global, it can be in subnet, it can be in shared network, maybe it can be in pool.
It is not described in the docs explicitly. It would be good to have a list of all config fields with locations where they are allowed.
Another found examples: valid-lifetime, renew-timer.kea1.9.9Tomek MrugalskiTomek Mrugalskihttps://gitlab.isc.org/isc-projects/kea/-/issues/205improve Kea guide2018-11-07T16:08:53ZMichal Nowikowskiimprove Kea guide- update list of distros which are used for Kea testing- update list of distros which are used for Kea testingKea1.5-beta1https://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/3310Documentation should include more examples with IPv6 addresses in URLs2024-03-25T12:34:33ZFrancis DupontDocumentation should include more examples with IPv6 addresses in URLsThe reason is the syntax is no so trivial... I suggest to add at least one in ARM (hooks-ha.rst) and in kea6 examples.The reason is the syntax is no so trivial... I suggest to add at least one in ARM (hooks-ha.rst) and in kea6 examples.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/3302Is Host Cache required for RADIUS?2024-03-28T16:15:48ZFrancis DupontIs Host Cache required for RADIUS?The Host Cache was designed for RADIUS in order to not perform an access/auth exchange with the RADIUS server for each query: when the query comes from an already seen client (same RADIUS idenfier) the answer from the RADIUS server is av...The Host Cache was designed for RADIUS in order to not perform an access/auth exchange with the RADIUS server for each query: when the query comes from an already seen client (same RADIUS idenfier) the answer from the RADIUS server is available from the host cache. This was critical when both were designed because the access/auth exchange was synchronous (i.e. blocking until the answer is received) and single threaded (i.e. blocking the whole DHCP service). Perhaps it is less true today but the host cache is in memory when RADIUS exchanges are over the network so far slower, and the Host Cache also handles negative answers so covers (excepting for the bug described in #3269) all cases.
The Host Cache has a second function for RADIUS: when the RADIUS server returns an address (vs a pool name which is translated into a client class name directly added to the query object) a host entry for this reserved address is inserted in the Host Cache. The idea is the host lookup will be able to find it. This is not essential: the host entry can be attached to the callout handle associated to the query and got back latter as the current code does for the [re]selected subnet.kea2.6.0