ISC Open Source Projects issueshttps://gitlab.isc.org/groups/isc-projects/-/issues2023-03-09T14:40:53Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/2758Supplementing DHCP Offers with additional Options (like PXE / 66 and 67)2023-03-09T14:40:53ZHippie HackerSupplementing DHCP Offers with additional Options (like PXE / 66 and 67)Is there information on configuring Proxy DHCP with ISC Kia or DHCPD?
It is a useful feature when wanting to supplement an existing DHCP service and provide the required, but often not configured options 66 and 67.
The DHCP Proxy is be...Is there information on configuring Proxy DHCP with ISC Kia or DHCPD?
It is a useful feature when wanting to supplement an existing DHCP service and provide the required, but often not configured options 66 and 67.
The DHCP Proxy is be used by services running from a laptop or phone connected to the local ethernet to assist in PXE bootstrap network nodes without needing to configure the local DHCP service.
I couldn't find it in the docs for Kia or DHCPD, but DNSMasq seems to provide the most simple implementation for this use case.
DNSmasq provides configuration within the dhcp-range option:
From https://thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html :
> --dhcp-range=::,constructor:eth0
> The optional <mode> keyword may be static which tells dnsmasq to enable DHCP for the network specified, but not to dynamically allocate IP addresses: only hosts which have static addresses given via --dhcp-host or from /etc/ethers will be served. A static-only subnet with address all zeros may be used as a "catch-all" address to enable replies to all Information-request packets on a subnet which is provided with stateless DHCPv6, ie --dhcp-range=::,static
> For IPv4, the <mode> may be **proxy** in which case dnsmasq will provide proxy-DHCP on the specified subnet. (See --pxe-prompt and --pxe-service for details.)
```
From https://wiki.archlinux.org/title/dnsmasq#Proxy_DHCP
> Proxy DHCP
> In case there is already a DHCP server running on the network and you want to interoperate with it, dnsmasq can be set to behave as a "proxy DHCP", therefore only serving the #PXE server specific information to the client. This mode is only available with IPv4. Use the following syntax, providing the existing DHCP server address:
> dhcp-range=192.168.0.1,proxy
A full example configuration used to augment existing DHCP to supply kernel boot arguments to raspberry pis.
```
port=0
dhcp-range=192.168.1.0,proxy
pxe-service=0,"Raspberry Pi Boot"
enable-tftp
tftp-root=/tftpboot
```
The use case normally means responding with a second DHCP OFFER at the same time as the locally authoritative DHCP server but including the following options https://www.rfc-editor.org/rfc/rfc2132.html :
> 9.4 TFTP server name
> This option is used to identify a TFTP server when the 'sname' field
> in the DHCP header has been used for DHCP options.
> 9.5 Bootfile name
> This option is used to identify a bootfile when the 'file' field in
> the DHCP header has been used for DHCP options.outstandinghttps://gitlab.isc.org/isc-projects/bind9/-/issues/3864Investigate the hot-keys problem2023-02-14T11:03:50ZOndřej SurýInvestigate the hot-keys problem### Hot Keys
Sharded data structures are somewhat vulnerable to hot keys. I.e. a single key which is frequently operated on. In this case there will be high contention on the shard for which this key belongs to. This can be mitigated by...### Hot Keys
Sharded data structures are somewhat vulnerable to hot keys. I.e. a single key which is frequently operated on. In this case there will be high contention on the shard for which this key belongs to. This can be mitigated by introducing a non-determinstic sharding function which places hot keys in more than 1 shard. This solution does complicate things though, and introduces a probabilistic component to the data structure (e.g. look ups may result in the key not being found, when in fact it is actually in another shard. This trade off is generally acceptable in cache scenarios, where failed look ups just result in the key being re-populated).
Source: http://quinnftw.com/sharding-to-reduce-mutex-contention/
(This seems like something that might be happening in the tree structure like DNS itself for the portions of the hierarchy close to the "trunk".)https://gitlab.isc.org/isc-projects/stork/-/issues/976Please publish the stork image to a registry2023-02-14T16:32:03ZJinna KiisuoPlease publish the stork image to a registryRight now the stork image is not published on the isc-projects registry. Please publish the image so that it's easier to use the Open Source version.
Building it myself I have to jump through hoops:
```
STORK_CS_VERSION="*" docker build...Right now the stork image is not published on the isc-projects registry. Please publish the image so that it's easier to use the Open Source version.
Building it myself I have to jump through hoops:
```
STORK_CS_VERSION="*" docker build -f docker/images/stork.Dockerfile .
```
.. and contend with weird build issues:
```
=> ERROR [server-builder 1/1] RUN rake build:server_only_dist 1.9s
*snip*
#0 1.713 /app/tools/golang/goswagger generate server -m server/gen/models -s server/gen/restapi --exclude-main --name Stork --regenerate-configureapi --spec /app/api/swagger.yaml --template stratoscale
#0 1.832 runtime: mlock of signal stack failed: 12
#0 1.832 runtime: increase the mlock limit (ulimit -l) or
#0 1.832 runtime: update your kernel to 5.3.15+, 5.4.2+, or 5.5+
#0 1.832 fatal error: mlock failed
```
.. And still need to manually rebuild newer versions myself.
I'd imagine it would also be helpful for your own efforts if there's a canonical published image.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/2756Missing option to control mask size ipv6 address2023-03-09T14:40:15ZheidarsigMissing option to control mask size ipv6 addressAccording to https://www.ripe.net/publications/docs/ripe-690#4-1-1---64-prefix-from-a-dedicated-pool-of-ipv6-prefixes recommended config is to assign /64 address to wan interface and then /56 pd behind it, but in KEA dhcp6 the option to ...According to https://www.ripe.net/publications/docs/ripe-690#4-1-1---64-prefix-from-a-dedicated-pool-of-ipv6-prefixes recommended config is to assign /64 address to wan interface and then /56 pd behind it, but in KEA dhcp6 the option to control the size of mask is missing subnet/pool.outstandinghttps://gitlab.isc.org/isc-projects/kea/-/issues/2755Cache essential standard option definitions2023-06-20T12:30:08ZFrancis DupontCache essential standard option definitionsIn a lot of place in the code we fetch the definition of a standard option. This raises two points:
- it is not very efficient even the number of standard options is both small and bound for v4
- each time it is not possible to assume ...In a lot of place in the code we fetch the definition of a standard option. This raises two points:
- it is not very efficient even the number of standard options is both small and bound for v4
- each time it is not possible to assume the pointer to the option defition is not null
The idea is to create some static methods in lindhcp++ returning a static pointer to the definition. The initialization code checks that there is no missing definitions. Both more efficient and safer...next-stable-2.6https://gitlab.isc.org/isc-projects/bind9/-/issues/3861suspicious test results with 'reuseport no'2023-02-09T19:03:13ZPetr Špačekpspacek@isc.orgsuspicious test results with 'reuseport no'### Summary
This is suspicion, not a clear-cut bug.
### BIND version used
- ~"Affects v9.18": v9_18_11
Other versions were not tested.
### Steps to reproduce
- use 16-thread machine
- I was testing in AWS VM type c5n.4xlarge for s...### Summary
This is suspicion, not a clear-cut bug.
### BIND version used
- ~"Affects v9.18": v9_18_11
Other versions were not tested.
### Steps to reproduce
- use 16-thread machine
- I was testing in AWS VM type c5n.4xlarge for server and c5n.xlarge for client machine
- configure `reuseport no;` and "refuse everything"
- use dnsperf 2.11 [+ JSON output MR](https://github.com/pspacek/dnsperf/tree/json_output):
- `-Q 100000 -S1 -O suppress=timeout,unexpected -c 256 -q 65535 -t 1 -l 60 -O verbose-interval-stats -O json -O latency-histogram`
- query file with single line: `z123.test. SOA` - it should result in REFUSED because we don't have any such zone
- cycle through 10 dnsperf runs without restarting server
- hope that it reproduces erratic behavior; in my experiments it happens at least in in ~ 1/10 runs, sometimes more
### What is the current *bug* behavior?
**Sometimes** the server has high latency. Dunno why. I was testing against echo server and it did not exhibit this behavior.
![histogram-raw.svg](/uploads/e20182379751faeabcd967567e2978f9/histogram-raw.svg)
### What is the expected *correct* behavior?
Even performance.
### Relevant configuration files
[refused.conf](/uploads/f7255a304baba60c8dff5d02058b7e4d/refused.conf)
### Relevant logs and/or screenshots
Nothing suspicious.https://gitlab.isc.org/isc-projects/bind9/-/issues/3858Deprecate (or improve/replace) the fetches-per-zone option2023-12-19T09:21:45ZOndřej SurýDeprecate (or improve/replace) the fetches-per-zone optionThe `fetches-per-zone` is a measure to prevent abuse of the nameservers.
### How we pick a bucket?
When fetch (`fctx`) is created, the `fctx->domain` is initialized with a domain name that could be:
#### Argument passed by the called
...The `fetches-per-zone` is a measure to prevent abuse of the nameservers.
### How we pick a bucket?
When fetch (`fctx`) is created, the `fctx->domain` is initialized with a domain name that could be:
#### Argument passed by the called
`domain` passed by the caller - from `dns_adb`/`fetch_name` when `start_at_name` is set and from `ns_query`/`ns_query_recurse()`
No example here, we can (sort of) ignore this case.
#### In the forward-only mode
The `.` when we are in **forward-only** mode - there's only a single counter!
With QNAME Minimization On and Off
```
increasing counter for '.' in the '0x7fed97e3e000/www.google.com/A' to 1 (allowed 1 spilled 0)
increasing counter for '.' in the '0x7fed97a26800/com/DS' to 2 (allowed 2 spilled 0)
increasing counter for '.' in the '0x7fed97a25400/google.com/DS' to 3 (allowed 3 spilled 0)
decreasing counter for '.' in the '0x7fed97a26800/com/DS' to 2 (allowed 3 spilled 0)
increasing counter for '.' in the '0x7fed97226800/com/DNSKEY' to 3 (allowed 4 spilled 0)
decreasing counter for '.' in the '0x7fed97226800/com/DNSKEY' to 2 (allowed 4 spilled 0)
decreasing counter for '.' in the '0x7fed97a25400/google.com/DS' to 1 (allowed 4 spilled 0)
dropping counter for '.' in the '0x7fed97e3e000/www.google.com/A' to 0 (allowed 4 spilled 0)
```
#### Everything else
Whatever `dns_view_findzonecut()` returns. This includes **forward-first** configurations.
Example with QNAME minimization:
```
increasing counter for '.' in the '0x7f4b9983e000/www.google.com/A' to 1 (allowed 1 spilled 0)
increasing counter for '.' in the '0x7f4b9b81a000/_.com/A' to 2 (allowed 2 spilled 0)
decreasing counter for '.' in the '0x7f4b9b81a000/_.com/A' to 1 (allowed 2 spilled 0)
increasing counter for 'com' in the '0x7f4b9b81a000/_.com/A' to 1 (allowed 1 spilled 0)
dropping counter for 'com' in the '0x7f4b9b81a000/_.com/A' to 0 (allowed 1 spilled 0)
dropping counter for '.' in the '0x7f4b9983e000/www.google.com/A' to 0 (allowed 2 spilled 0)
increasing counter for 'com' in the '0x7f4b9983e000/www.google.com/A' to 1 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7f4b9b81a000/_.google.com/A' to 2 (allowed 2 spilled 0)
decreasing counter for 'com' in the '0x7f4b9b81a000/_.google.com/A' to 1 (allowed 2 spilled 0)
increasing counter for 'google.com' in the '0x7f4b9b81a000/_.google.com/A' to 1 (allowed 1 spilled 0)
dropping counter for 'google.com' in the '0x7f4b9b81a000/_.google.com/A' to 0 (allowed 1 spilled 0)
dropping counter for 'com' in the '0x7f4b9983e000/www.google.com/A' to 0 (allowed 2 spilled 0)
increasing counter for 'google.com' in the '0x7f4b9983e000/www.google.com/A' to 1 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7f4b9b81c800/google.com/DS' to 1 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7f4b99027800/com/DNSKEY' to 2 (allowed 2 spilled 0)
decreasing counter for 'com' in the '0x7f4b99027800/com/DNSKEY' to 1 (allowed 2 spilled 0)
dropping counter for 'com' in the '0x7f4b9b81c800/google.com/DS' to 0 (allowed 2 spilled 0)
dropping counter for 'google.com' in the '0x7f4b9983e000/www.google.com/A' to 0 (allowed 1 spilled 0)
```
Example without QNAME minimization:
```
increasing counter for '.' in the '0x7fc30803e000/www.google.com/A' to 1 (allowed 1 spilled 0)
dropping counter for '.' in the '0x7fc30803e000/www.google.com/A' to 0 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7fc30803e000/www.google.com/A' to 1 (allowed 1 spilled 0)
dropping counter for 'com' in the '0x7fc30803e000/www.google.com/A' to 0 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7fc30803e000/www.google.com/A' to 1 (allowed 1 spilled 0)
dropping counter for 'com' in the '0x7fc30803e000/www.google.com/A' to 0 (allowed 1 spilled 0)
increasing counter for 'google.com' in the '0x7fc30803e000/www.google.com/A' to 1 (allowed 1 spilled 0)
dropping counter for 'google.com' in the '0x7fc30803e000/www.google.com/A' to 0 (allowed 1 spilled 0)
increasing counter for 'google.com' in the '0x7fc30803e000/www.google.com/A' to 1 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7fc307c28c00/google.com/DS' to 1 (allowed 1 spilled 0)
increasing counter for 'com' in the '0x7fc307c27800/com/DNSKEY' to 2 (allowed 2 spilled 0)
decreasing counter for 'com' in the '0x7fc307c27800/com/DNSKEY' to 1 (allowed 2 spilled 0)
dropping counter for 'com' in the '0x7fc307c28c00/google.com/DS' to 0 (allowed 2 spilled 0)
dropping counter for 'google.com' in the '0x7fc30803e000/www.google.com/A' to 0 (allowed 1 spilled 0)
```
NOTE: The similar effect here has the `fetches-per-server` - but `fetches-per-server` is more fine-grained.BIND 9.21.xhttps://gitlab.isc.org/isc-projects/kea/-/issues/2751cross-compile: required library versions are not found2023-02-09T14:36:39Zcaglarkarahancross-compile: required library versions are not foundI built kea-dhcp with using gcc version 7.5.0 compiler in Ubuntu 20.04. And I want to use the executable files in debian evironment with version 9 (strecth). In that case, I got a below error. As I knew that the lastest version of GCC in...I built kea-dhcp with using gcc version 7.5.0 compiler in Ubuntu 20.04. And I want to use the executable files in debian evironment with version 9 (strecth). In that case, I got a below error. As I knew that the lastest version of GCC in debian 9 is 6.3.
```
/opt/bin/kea-dhcp4: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/lib/libkea-dhcp_ddns.so.29)
/opt/bin/kea-dhcp4: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/lib/libkea-cfgclient.so.36)
/opt/bin/kea-dhcp4: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/lib/libkea-dhcp++.so.54)
/opt/bin/kea-dhcp4: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/lib/libkea-asiolink.so.40)
/opt/bin/kea-dhcp4: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/lib/libkea-http.so.42)
/opt/bin/kea-dhcp4: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by /opt/lib/liblog4cplus-2.0.so.3)
```
Are there any suggestion at compilation time or application startup?outstandinghttps://gitlab.isc.org/isc-projects/bind9/-/issues/3844Redesign RBTDB cache cleaning2023-10-31T11:26:25ZOndřej SurýRedesign RBTDB cache cleaningCurrent cache cleaning has two mechanisms in the RBTDB:
1. TTL-based cleaning implemented using `isc_heap` unit
2. LRU-based cleaning implemented using `isc_list` unit
### TTL-based cleaning
The TTL-based cleaning is just a priority q...Current cache cleaning has two mechanisms in the RBTDB:
1. TTL-based cleaning implemented using `isc_heap` unit
2. LRU-based cleaning implemented using `isc_list` unit
### TTL-based cleaning
The TTL-based cleaning is just a priority queue that uses TTL (`header->rdh_ttl`) to sort the nodes. There are two triggers:
#### Cleaning when adding data
This is triggered during adding new rdataset to the cache - the node is write locked, the tree is locked only when we are adding delegation type, adding to the auxiliary NSEC tree or the cache is overmem.
If we are overmem, the overmem cleaning is triggered (see below).
In all cases, we lookup the top element from the heap (with lowest TTL) and call `expire_header()` on header that has TTL (adjusted with stale-TTL) lower than now (adjusted by 5 minutes (`RBTDB_VIRTUAL`).
#### Cleaning when overmem
The overmem purge is also called when adding new data and it tries to purge at most two headers from a bucket that we are not currently in.
First, it does single TTL-based cleaning - only the `now` time is adjusted by 5 minutes (`RBTDB_VIRTUAL`) and then in goes to LRU-based cleaning.
If it doesn't find two headers in the current bucket it goes to the next bucket.
### Not-really an expire
We also "expire", but not really remove headers from `add32()` with following comment `/* The new rdataset is better. Expire the ncache entry. */`; but it only does mark header as ancient, and sets the TTL to 0 - and in one more place when `rbtversion == 0`.https://gitlab.isc.org/isc-projects/kea/-/issues/2747unrecognized compiler flags2023-09-26T14:30:24ZAndrei Pavelandrei@isc.orgunrecognized compiler flagsCompiling Kea with the GNU compiler (`g++`) mentions an unrecognized flag because it's not compatible with said compiler:
```
cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence ...Compiling Kea with the GNU compiler (`g++`) mentions an unrecognized flag because it's not compatible with said compiler:
```
cc1plus: note: unrecognized command-line option ‘-Wno-unused-private-field’ may have been intended to silence earlier diagnostics
```
This flag is added in a Makefile. There are a few others like this.
Some include it inside the scope of `if USE_GXX`. I would instead remove these flags from Makefiles. Including a flag only for a library is arbitrary. If it should be included, it should either be for the entire repo, or not at all.
People who want to enable custom flags can use the `CXXFLAGS` environment variable which should be set before running `./configure`.
```
export CXXFLAGS="-Wno-unused-private-field"
./configure
```backloghttps://gitlab.isc.org/isc-projects/bind9/-/issues/3843Remove options allowing source ports to be specified2024-03-29T11:21:48ZMichał KępieńRemove options allowing source ports to be specifiedWith the options allowing source ports to be specified being deprecated
in 9.18 & 9.19/9.20, all the code associated with those options should
subsequently be completely removed in the 9.21/9.22 cycle, as previously
announced on *bind-us...With the options allowing source ports to be specified being deprecated
in 9.18 & 9.19/9.20, all the code associated with those options should
subsequently be completely removed in the 9.21/9.22 cycle, as previously
announced on *bind-users*:
https://lists.isc.org/pipermail/bind-users/2023-January/107165.html
The following features are going to be marked as ancient and made
non-functional:
* specifying `port` in the following statements:
- `query-source`
- `query-source-v6`
- `transfer-source`
- `transfer-source-v6`
- `notify-source`
- `notify-source-v6`
- `parental-source`
- `parental-source-v6`
* the following statements as a whole:
- `use-v4-udp-ports`
- `use-v6-udp-ports`
- `avoid-v4-udp-ports`
- `avoid-v6-udp-ports`
See #3781 for the corresponding option deprecation issue.Not plannedMichał KępieńMichał Kępień2024-07-01https://gitlab.isc.org/isc-projects/stork/-/issues/968Empty last reloaded timestamp for CA daemon2023-02-07T14:29:07ZSlawek FigielEmpty last reloaded timestamp for CA daemonThe issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348419).
The "Last Reloaded At" property of the "Daemon Information" section on the application page is emp...The issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348419).
The "Last Reloaded At" property of the "Daemon Information" section on the application page is empty for the CA daemon.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/967Prevent resetting application tab on click the refresh button2023-02-07T14:25:57ZSlawek FigielPrevent resetting application tab on click the refresh buttonThe issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348418).
After clicking the "Refresh App" button on the application page, the active tab is reset.The issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348418).
After clicking the "Refresh App" button on the application page, the active tab is reset.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/965The role change doesn't affect the current user session2023-02-07T14:24:22ZSlawek FigielThe role change doesn't affect the current user sessionThe issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348410).
The role change is not immediately affecting the current session. The old permissions are valid un...The issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348410).
The role change is not immediately affecting the current session. The old permissions are valid until logout.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/964Prevent taking away super-admin role for the last super-admin2023-02-07T14:17:37ZSlawek FigielPrevent taking away super-admin role for the last super-adminThe issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348409):
I took away the super admin role for the last user with this role. It shouldn't be possible.The issue was found during 1.9.0 sanity checks by @slawek - [Source](https://gitlab.isc.org/isc-projects/stork/-/issues/962#note_348409):
I took away the super admin role for the last user with this role. It shouldn't be possible.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/963Replace existing device on a HR, obtain the same address2023-07-26T12:42:39ZVicky Riskvicky@isc.orgReplace existing device on a HR, obtain the same addressSeveral users have reported on the ([Kea-users mailing list](https://lists.isc.org/pipermail/kea-users/2023-January/003847.html)) that they want to be able to replace a device, with a new device, but on the same host reservation, and hav...Several users have reported on the ([Kea-users mailing list](https://lists.isc.org/pipermail/kea-users/2023-January/003847.html)) that they want to be able to replace a device, with a new device, but on the same host reservation, and have the new device get the address that the old device had. The solution is to delete the lease for the old device, but this is quite a complicated process.
If we could automate this for admins via Stork, that would be great. The idea would be, when the admin updates a reservation to change or add the device details, to show if there is an existing lease for that reservation, and ask if they would like to delete the existing lease for that reservation, and then do that step first, before updating the reservation, so when the new device is added, it will get the ip just released by deleting the old lease.
This is considered a 'feature' of ISC DHCP that Kea lacks (because Kea is 'stricter').backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/2744Support standard DHCPv4 option `rfc3442-classless-static-routes` for kea-dhcp42023-09-28T13:40:20ZKaihang ZhangSupport standard DHCPv4 option `rfc3442-classless-static-routes` for kea-dhcp4Hi, all!
IIUC, the standard DHCPv4 option `static-routes` of current kea-dhcp4 (2.3.5) is classful static routes, the VLSM (Variable Length Subnet Mask) and CIDR are not supported.
Is there any plan to support DHCPv4 option `classless-...Hi, all!
IIUC, the standard DHCPv4 option `static-routes` of current kea-dhcp4 (2.3.5) is classful static routes, the VLSM (Variable Length Subnet Mask) and CIDR are not supported.
Is there any plan to support DHCPv4 option `classless-static-routes`? Or any workaround to support VLSM and CIDR for current kea-dhcp4?outstandinghttps://gitlab.isc.org/isc-projects/stork/-/issues/956REST API calls to add a subnet2023-05-23T13:18:24ZMarcin SiodelskiREST API calls to add a subnetThere are several REST API calls to create new subnet (similar to the calls we have for the host reservations). Specifically, we need: `createSubnetAdd`, `commitSubnetAdd`. Internally they will make calls to the config manager's function...There are several REST API calls to create new subnet (similar to the calls we have for the host reservations). Specifically, we need: `createSubnetAdd`, `commitSubnetAdd`. Internally they will make calls to the config manager's functions: `BeginSubnetAdd`, `ApplySubnetAdd` and `Commit`.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/955Schedule host reservation creation and/or update2023-01-31T14:43:54ZMarcin SiodelskiSchedule host reservation creation and/or updateIt is possible to specify new host reservation or update an existing reservation in Stork. However, it is currently impossible to schedule adding or updating a host reservation at specified time in the future. Config manager is designed ...It is possible to specify new host reservation or update an existing reservation in Stork. However, it is currently impossible to schedule adding or updating a host reservation at specified time in the future. Config manager is designed to facilitate such a use case but the backend and UI logic for host reservations is missing. This ticket implements such a capability.backloghttps://gitlab.isc.org/isc-projects/stork/-/issues/954Fetch DHCP option definitions from the Kea servers and use them to specify op...2024-02-12T17:06:34ZMarcin SiodelskiFetch DHCP option definitions from the Kea servers and use them to specify optionsStork can use standard DHCP option definitions in the options form and in the backend to convert options from Kea to Stork format. However, Stork doesn't fetch custom option definitions from the Kea instances. Stork should fetch such opt...Stork can use standard DHCP option definitions in the options form and in the backend to convert options from Kea to Stork format. However, Stork doesn't fetch custom option definitions from the Kea instances. Stork should fetch such option definitions and use them aside standard option definitions in the form and in the backend. Creating custom option definitions is out of scope for this ticket.backlog