Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2024-03-28T20:32:29Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/3324Syntax Error when configuring High Availability2024-03-28T20:32:29ZAndrew BradleySyntax Error when configuring High AvailabilityI am attempting to configure high availability on 2 kea instances. Here are the machine specs:
PVE
OS: Ubuntu 22.04 LTS
Kea version: 2.0.2
Error encountered:
root@dhcp0001:/etc/kea# kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
Syntax check f...I am attempting to configure high availability on 2 kea instances. Here are the machine specs:
PVE
OS: Ubuntu 22.04 LTS
Kea version: 2.0.2
Error encountered:
root@dhcp0001:/etc/kea# kea-dhcp4 -t /etc/kea/kea-dhcp4.conf
Syntax check failed with: /etc/kea/kea-dhcp4.conf:11.5-16: got unexpected keyword "parameters" in Dhcp4 map.
configuration file contents:
```
{
"Dhcp4": {
"hooks-libraries": [
{
"library": "/usr/lib/x86_64-linux-gnu/kea/hooks/libdhcp_lease_cmds.so"
},
{
"library": "/usr/local/lib/kea/hooks/libdhcp_ha.so"
}
],
"parameters": {
"high-availability": [
{
"this-server-name": "kea-dhcp02",
"mode": "hot-standby",
"heartbeat-delay": 10000,
"max-response-delay": 60000,
"max-ack-delay": 5000,
"max-unacked-clients": 5,
"sync-timeout": 60000,
"peers": [
{
"name": "dhcp0001",
"url": "http://10.5.1.107:8000/",
"role": "primary",
"auto-failover": true
},
{
"name": "dhcp0002",
"url": "http://10.2.1.121:8000/",
"role": "standby",
"auto-failover": true
},
{
"name": "kea-dhcp03",
"url": "http://172.16.1.12:8000/",
"basic-auth-user": "kea",
"basic-auth-password": "kea123",
"role": "backup",
"auto-failover": false
}
]
},
{
"interfaces-config": {
"interfaces": [
"ens18"
]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea/kea4-ctrl-socket"
},
"lease-database": {
"type": "memfile",
"lfc-interval": 3600
},
"expired-leases-processing": {
"reclaim-timer-wait-time": 10,
"flush-reclaimed-timer-wait-time": 25,
"hold-reclaimed-time": 3600,
"max-reclaim-leases": 100,
"max-reclaim-time": 250,
"unwarned-reclaim-cycles": 5
},
"renew-timer": 900,
"rebind-timer": 1800,
"valid-lifetime": 3600,
"max-valid-lifetime": 7200,
"GLOBAL RESERVATIONS": {
"host-reservation-identifiers": [
"hw-address"
],
"reservations-global": true,
"reservations-in-subnet": false,
"reservations-out-of-pool": false,
"reservations": [],
"END GLOBAL RESERVATIONS": "subnet4",
"id": 1,
"subnet": "192.168.72.0/24",
"pools": [
{
"pool": "192.168.72.150 - 192.168.72.200"
}
],
"option-data": [
{
"name": "routers",
"data": "192.168.72.1"
},
{
"name": "domain-name-servers",
"data": "8.8.8.8, 1.1.1.1"
},
{
"name": "domain-name",
"data": "protek.net"
}
]
},
"id": 2,
"subnet": "172.31.1.0/25",
"pools": [
{
"pool": "172.31.1.50 - 172.31.1.100"
}
],
"option-data": [
]
}
],
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/var/log/kea-dhcp4.log",
"pattern": "%-5p %m\n",
"maxsize": 1048576,
"maxver": 8
}
],
"severity": "INFO",
"debuglevel": 50
}
]
}
}
}
```
I have been banging my head against the wall debugging for days, and finally have the formatting correct, only to encounter unexpected keyword errors now. I have dug through the Dhcp4 parse log for the proper keyword, but honestly can't make heads or tails of what's being required here. Can someone give me a hand with this, please?
Thank[Kea_Conf_03_28_24.txt](/uploads/94c1e443ddb1746429bd742da65be6e6/Kea_Conf_03_28_24.txt)https://gitlab.isc.org/isc-projects/kea/-/issues/3323Fix undefined behaviors reported by UBSan2024-03-28T09:49:32ZAndrei Pavelandrei@isc.orgFix undefined behaviors reported by UBSanThree types of UBs are reported at https://reports.kea.isc.org/tests_status/ut-ubsan.html. I think all of them are worth fixing.
- `runtime error: constructor call on misaligned address * for type '*', which requires * byte alignment`
-...Three types of UBs are reported at https://reports.kea.isc.org/tests_status/ut-ubsan.html. I think all of them are worth fixing.
- `runtime error: constructor call on misaligned address * for type '*', which requires * byte alignment`
- `runtime error: load of value *, which is not a valid value for type '*'`
- `runtime error: member call on misaligned address * for type '*', which requires * byte alignment`https://gitlab.isc.org/isc-projects/kea/-/issues/3315hooks should use their own IOService instance and register it with the main I...2024-03-28T14:54:01ZRazvan Becheriuhooks should use their own IOService instance and register it with the main IOServicerelated to https://gitlab.isc.org/isc-projects/kea/-/issues/3308
to properly load and run IOService poll so that configuration errors are detected before configuration is applied and to unload hooks and safely call all close callbacks, ...related to https://gitlab.isc.org/isc-projects/kea/-/issues/3308
to properly load and run IOService poll so that configuration errors are detected before configuration is applied and to unload hooks and safely call all close callbacks, a "local" IOService instance should be used by each hook. this guarantees that there can be no handlers referencing objects created in the hook that are called after hook unload.
hooks that use main io service:
premium:
* gss_tsig
* forensic_log
* lease_query
* ping_check
* radius
core:
* high_availability
* mysql_cb
* pbsql_cb
* run_script
all hooks requiring IOService should do the following:
```plaintext
int unload() {
if (getMainIOService()) {
getMainIOService()->unregisterExternalIOService(getIOService());
}
getIOService()->stop();
getIOService()->restart();
try {
getIOService()->poll();
} catch (...) {
}
...
}
int dhcp4_srv_configured(CalloutHandle& handle) {
handle.getArgument("io_context", getMainIOService());
if (!getMainIOService()) {
// Should not happen!
handle.setStatus(isc::hooks::CalloutHandle::NEXT_STEP_DROP);
const string error("Error: io_context is null");
handle.setArgument("error", error);
return (1);
}
...
getMainIOService()->registerExternalIOService(getIOService());
...
}
int dhcp6_srv_configured(CalloutHandle& handle) {
handle.getArgument("io_context", getMainIOService());
if (!getMainIOService()) {
// Should not happen!
handle.setStatus(isc::hooks::CalloutHandle::NEXT_STEP_DROP);
const string error("Error: io_context is null");
handle.setArgument("error", error);
return (1);
}
...
getMainIOService()->registerExternalIOService(getIOService());
...
}
void
IOService::registerExternalIOService(IOServicePtr io_service) {
external_io_services_.push_back(io_service);
}
void
IOService::unregisterExternalIOService(IOServicePtr io_service) {
auto it = std::find(external_io_services_.begin(), external_io_services_.end(), io_service);
if (it != external_io_services_.end()) {
external_io_services_.erase(it);
}
}
void
IOService::pollExternalIO() {
for (auto& io_service : external_io_services_) {
io_service->poll();
}
}
```
built on top of #3281
I confirm it fixes the crash in #3308https://gitlab.isc.org/isc-projects/kea/-/issues/3314RBAC: Omitting configuration option results in logged error2024-03-26T21:44:52ZDarren AnkneyRBAC: Omitting configuration option results in logged errorThe configuration directive `"response-filters"` seems to be de facto required whereas the ARM seems to imply that this parameter should be optional as it shows examples where the parameter is not present (see the extensive example). It...The configuration directive `"response-filters"` seems to be de facto required whereas the ARM seems to imply that this parameter should be optional as it shows examples where the parameter is not present (see the extensive example). It doesn't actually say whether the parameter is required or optional, however.
Omitting the directive causes this error:
```
[kea-ctrl-agent.callouts/401411.129873316435840] HOOKS_CALLOUT_EXCEPTION exception thrown by callout on hook response registered by library with index 1 (callout address 0x761e7c475880): unable to find callout context associated with the current library index (1) (callout duration: 0.047 ms)
```
The error does not seem to cause any harm as the operations still seem to be performed. This can fill up the logs though if there is a lot of API access (such as in the case of Stork).
Adding the directive to the roles configuration(s) removes the error.
[SF1816](https://isc.lightning.force.com/lightning/r/Case/500S6000007Ho67IAC/view)Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/3313Bump up version in configure.ac to 2.5.8-git2024-03-26T19:09:46ZMarcin GodzinaBump up version in configure.ac to 2.5.8-gitBump up version in configure.ac.Bump up version in configure.ac.kea2.5.8Marcin GodzinaMarcin Godzinahttps://gitlab.isc.org/isc-projects/kea/-/issues/3312D2 can enounters write errors sending to DNS2024-03-28T14:59:45ZThomas MarkwalderD2 can enounters write errors sending to DNSDuring tests for #3295 which used a single bind9 DNS server I discoverd that under enough load for a long enough period of time D2 begins to encounter errors writing to the DNS server:
2024-03-26 15:00:22.965 ERROR [kea-dhcp-ddns.asiodn...During tests for #3295 which used a single bind9 DNS server I discoverd that under enough load for a long enough period of time D2 begins to encounter errors writing to the DNS server:
2024-03-26 15:00:22.965 ERROR [kea-dhcp-ddns.asiodns/4711.140284993357696] ASIODNS_SEND_DATA error 101 sending data using UDP to 175.16.1.1(53)
Error code 101 is Network Unreachable.
When this occurs, excuting "nsupdate" from the command line of D2's host produces similar result:
```
tmark@ubuserver:kea $ nsupdate -v $HOME/n.txt
; Communication with 175.16.1.1#53 failed: operation canceled
could not reach any name server
```
I do not, at this time, know the root cause of these write failures. Excuting
an nsupdate from another VM is successful.
In addition to the write failures themselves, I believe there is an error in how IOFetch handles these errors. It appears that the fetch is allowed to proceed to executing a read after the send has failed, rather that calling IOFetch::stop() as is done for read TIME_OUTs. There seems little point executing a read that will only timeout. This has the affect of causing D2 to do 3 send(fail)/read(timeout) cycles.
Bottom line is there are two questions:
1. What causes the Network Unreachable errors?
2. Should IOFetch() fail on send failures (perhaps by callng stop()) rather than proceed to read after failed send?
The testing referred to above was done with:
1. Centos 7 VM running perfdhcp:
perfdhcp -4 -r 20 -R 10000000 -p 600 -l enp0s10 -W 5000000
2. Centos 7 VM running BIND9 9.11.2:
```rndc -c /opt/bind9/bind-9.11.2/local/servers/42620/rndc.conf status
version: BIND 9.11.2 <id:0a2b929>
running on cthird: Linux x86_64 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017
boot time: Tue, 26 Mar 2024 13:00:27 GMT
last configured: Tue, 26 Mar 2024 13:00:27 GMT
configuration file: /opt/bind9/bind-9.11.2/local/servers/42620/named.conf
CPUs found: 4
worker threads: 4
UDP listeners per interface: 3
number of zones: 6 (0 automatic)
debug level: 100
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is ON
recursive clients: 0/900/1000
tcp clients: 0/150
server is up and running
```lsb_release -a
3. Ubuntu VM 22.02 running kea-dhcp4 and kea-dhcp-ddns, configs attached:
[kea-d2.conf](/uploads/1ec60a23a57c33f03ee4621d6a15c048/kea-d2.conf)
[kea-ddns4.conf](/uploads/7300d3f06194bd7b2310daaed278d722/kea-ddns4.conf)
```https://gitlab.isc.org/isc-projects/kea/-/issues/3311kea-dhcp4 and 6: WARNING: MYSQL_OPT_RECONNECT is deprecated and will be remov...2024-03-25T21:07:26ZHarry G. Coinkea-dhcp4 and 6: WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.On both dhcp 4 and 6, over many upgrades in the past month this warning remains:
kea-dhcp4: WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
Likely on the next major db client upgrade, mysql and maria...On both dhcp 4 and 6, over many upgrades in the past month this warning remains:
kea-dhcp4: WARNING: MYSQL_OPT_RECONNECT is deprecated and will be removed in a future version.
Likely on the next major db client upgrade, mysql and mariadb will no longer answer kea requests.
Probably worth fixing 'real soon now', before conditions of time pressure arise from total failure.https://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/3309Sanity checks for Kea 2.5.7 rc12024-03-26T06:25:10ZMarcin GodzinaSanity checks for Kea 2.5.7 rc1We are now at step SANITY CHECKS of Kea 2.5.7 rc1.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-co...We are now at step SANITY CHECKS of Kea 2.5.7 rc1.
Please verify the tarballs and packages according to [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks) and according to your imagination.
Before starting, please state what you are checking in a thread/discussion (not as comment).
When you finish a check, state in the same thread/discussion what the result is.
This way we know what is covered upfront and we can avoid repeating ourselves.
#### Tarballs on repo.isc.org
* `/data/shared/sweng/kea/releases/2.5.7-rc1`
* `/data/shared/sweng/kea/releases/premium-2.5.7-rc1`
* `/data/shared/sweng/kea/releases/subscription-2.5.7-rc1`
* `/data/shared/sweng/kea/releases/enterprise-2.5.7-rc1`
```
SHA256 (kea-2.5.7.tar.gz) = 7a3a05ca11b5fe8c4e72a31169b6bed94368c4a7af6d388c86321da96568a1d4
SHA256 (kea-enterprise-2.5.7.tar.gz) = f61c1636df974c4531060d93218baf569b77a50f944882558593be8737984911
SHA256 (kea-premium-2.5.7.tar.gz) = 5c82b56a3e338f5f664a04fd1c271e0a8ff2dfd610dee0416dbfca8ee4f830a4
SHA256 (kea-subscription-2.5.7.tar.gz) = 42aa2106fb0595d23976807988a2f4b546f5bad718efdffce2af9b6bdd867aba
```
#### Packages on packages.aws.isc.org
* [APK: 2.5.7-r20240322162202](https://packages.aws.isc.org/#browse/search/raw=format%3Draw%20AND%20name.raw%3D*r20240322162202.apk)
* [deb: 2.5.7-isc20240322162202](https://packages.aws.isc.org/#browse/search/apt=format%3Dapt%20AND%20version%3D2.5.7-isc20240322162202)
* [RPM: 2.5.7-isc20240322162202.\[os\]](https://packages.aws.isc.org/#browse/search/yum=format%3Dyum%20AND%20version%3D2.5.7-isc20240322162202*)
You can find the name for all the packages attached as build artifacts in the pkg job: https://jenkins.aws.isc.org/job/kea-dev/job/pkg/1460/
Instructions for installing packages are at point 9 of [chapter `4. Sanity Checks` of the release procedure](https://gitlab.isc.org/isc-private/qa-dhcp/-/wikis/Kea/Release-Process#user-content-4-sanity-checks).kea2.5.72024-03-25https://gitlab.isc.org/isc-projects/kea/-/issues/3307Changes for Kea 2.5.7 release2024-03-22T15:55:28ZMarcin GodzinaChanges for Kea 2.5.7 release
- [x] added release entry to ChangeLogs
- [x] regenerated BNF grammar
- [x] regenerated message headers
- [x] regenerated parsers
- [x] reordered messages in alphabetical order
- [x] updated copyright years
- [x] added release entry to ChangeLogs
- [x] regenerated BNF grammar
- [x] regenerated message headers
- [x] regenerated parsers
- [x] reordered messages in alphabetical order
- [x] updated copyright yearskea2.5.7Marcin GodzinaMarcin Godzina2024-03-27https://gitlab.isc.org/isc-projects/kea/-/issues/3306Changes for Kea 2.5.7 release2024-03-22T15:26:13ZMarcin GodzinaChanges for Kea 2.5.7 release
- [x] added release entry to ChangeLogs
- [x] regenerated BNF grammar
- [x] regenerated message headers
- [x] regenerated parsers
- [x] reordered messages in alphabetical order
- [x] updated copyright years
- [x] added release entry to ChangeLogs
- [x] regenerated BNF grammar
- [x] regenerated message headers
- [x] regenerated parsers
- [x] reordered messages in alphabetical order
- [x] updated copyright yearskea2.5.72024-03-27https://gitlab.isc.org/isc-projects/kea/-/issues/3305config test should also run poll after loading hooks2024-03-22T14:46:13ZRazvan Becheriuconfig test should also run poll after loading hooksthe fix in https://gitlab.isc.org/isc-projects/kea/-/issues/2692 does not consider testing the configuration when using -T as command line parameterthe fix in https://gitlab.isc.org/isc-projects/kea/-/issues/2692 does not consider testing the configuration when using -T as command line parameterhttps://gitlab.isc.org/isc-projects/kea/-/issues/3304bump up lib versions for 2.5.72024-03-22T14:53:31ZRazvan Becheriubump up lib versions for 2.5.7kea2.5.7Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/3303db-delay with reservations database "imagines" database connection2024-03-22T21:44:42ZMarcin Godzinadb-delay with reservations database "imagines" database connectionAfter kea#3300 fix, there is still a problem left:
When using the reservations database, Kea detects that there is no database and states that it is the first of 5 retries.
Then reports `database connection lost` and immediately reports ...After kea#3300 fix, there is still a problem left:
When using the reservations database, Kea detects that there is no database and states that it is the first of 5 retries.
Then reports `database connection lost` and immediately reports `database connection recovered.` (line 35 in log) (but the database is shut down) and proceeds like it has a database (so it serves traffic, etc.)
reproducable on v4, v6, MySQL and postgr
[kea-dhcp4.conf](/uploads/8ab1eb9ca661f49dba54190969c1d532/kea-dhcp4.conf)
[kea.log](/uploads/1016f040cd96d876517feb57fe8e342b/kea.log)kea2.5.7Marcin GodzinaMarcin Godzinahttps://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.0https://gitlab.isc.org/isc-projects/kea/-/issues/3301Add missing YANG nodes before the 2.6.0 release2024-03-21T15:03:05ZAndrei Pavelandrei@isc.orgAdd missing YANG nodes before the 2.6.0 releaseMissing YANG nodes:
- `ddns-conflict-resolution-mode`
- `retry-on-startup`Missing YANG nodes:
- `ddns-conflict-resolution-mode`
- `retry-on-startup`kea2.6.0https://gitlab.isc.org/isc-projects/kea/-/issues/3300Database connection retry/delay causes infinite loop2024-03-22T14:22:46ZMarcin GodzinaDatabase connection retry/delay causes infinite loopThis MR that started it: https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2238
db_retry_legallog and db_retry_reservation system tests are failing - Kea goes into an indefinite loop trying to reconnect to the database without de...This MR that started it: https://gitlab.isc.org/isc-projects/kea/-/merge_requests/2238
db_retry_legallog and db_retry_reservation system tests are failing - Kea goes into an indefinite loop trying to reconnect to the database without delay
(Failing Tests on Jenkins https://jenkins.aws.isc.org/job/kea-dev/job/tarball-system-tests/1168/)
A problem appears when retrying the connection to reservation or legallog db. At first glance, the lease db connection is unaffected.
Config to reproduce (of course, change paths. You do not have to change the DB setting - there should be no DB running to connect to)
[kea-dhcp4.conf](/uploads/72df474f98af62208baeeb6b618a4c54/kea-dhcp4.conf)
Part of the Log from the test
[kea__1_.log](/uploads/f4297c0cf1520f4cee7f6b9f6da0a0d3/kea__1_.log)kea2.5.7Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/3299Improve MT RADIUS unit tests2024-03-26T18:31:40ZAndrei Pavelandrei@isc.orgImprove MT RADIUS unit testsImprove RADIUS unit tests:
- no goal: write tests for session history: instead implement #414
- MT: see below
- async access added new ways to have a query to be dropped: add these cases
- find a way to detect accounting exchange te...Improve RADIUS unit tests:
- no goal: write tests for session history: instead implement #414
- MT: see below
- async access added new ways to have a query to be dropped: add these cases
- find a way to detect accounting exchange termination (e.g. a class counter of pending exchanges)
RADIUS could have more thorough MT unit tests:
- Start thread pool for accounting by calling the `dhcp*_srv_configured` callout. Currently it is only called for auth. Waiting for work to finish in accounting is not as trivial for auth. Auth uses the unparking for that. (see last general point)
- In both access and accounting, start a second thread pool that simulates the core Kea thread pool / DHCP clients.
- Convert more (all?) ST unit tests to MT. Currently there are only 4 MT unit tests: (v4 + v6) x (access + accounting).kea2.5.8https://gitlab.isc.org/isc-projects/kea/-/issues/3298Make test utility class MemHostDataSource thread-safe2024-03-21T15:02:10ZAndrei Pavelandrei@isc.orgMake test utility class MemHostDataSource thread-safe`MemHostDataSource` is used in certain unit tests.
RADIUS MT unit tests required `MemHostDataSource` to be thread-safe, so the `TestHostCache` that derives it overrode all its methods and added a `lock_guard` to each.
To avoid this boi...`MemHostDataSource` is used in certain unit tests.
RADIUS MT unit tests required `MemHostDataSource` to be thread-safe, so the `TestHostCache` that derives it overrode all its methods and added a `lock_guard` to each.
To avoid this boilerplate code, ideally, `MemHostDataSource` should be made thread-safe itself.
This was not done at the time due to lack of time before the release.
When this is done, remember to remove the overridden methods from `TestHostCache`:
- `premium/src/hooks/dhcp/radius/tests/access_unittests.cc`
- `premium/src/hooks/dhcp/radius/tests/accounting_unittests.cc`
@fdupont says
> Note the mutex must be at most protected.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/3297Perfmon-Hook-Task-5 Add Event Stack Processing2024-03-28T20:25:49ZThomas MarkwalderPerfmon-Hook-Task-5 Add Event Stack ProcessingComplete Hook Task 5: Add Event Stack Processing - Process event stacks into MonitoredDuration updates, implement report timer, and alarm processing
See https://gitlab.isc.org/isc-projects/kea/-/wikis/Designs/performance-monitor#perfm...Complete Hook Task 5: Add Event Stack Processing - Process event stacks into MonitoredDuration updates, implement report timer, and alarm processing
See https://gitlab.isc.org/isc-projects/kea/-/wikis/Designs/performance-monitor#perfmon-hook-taskskea2.5.8Thomas MarkwalderThomas Markwalder