Kea issueshttps://gitlab.isc.org/isc-projects/kea/-/issues2023-03-03T08:52:38Zhttps://gitlab.isc.org/isc-projects/kea/-/issues/323Warning message "the interface x is down" is incomplete. (GH#95)2023-03-03T08:52:38ZVicky Riskvicky@isc.orgWarning message "the interface x is down" is incomplete. (GH#95)<This was first reported as Github issue #95, by brubbel, on July 19, 2018>
(Note: This was tested on Kea 1.1.0, but I see that this issue is still present in the latest 1.4.0 version.)
At startup, Kea may produce the following warning ...<This was first reported as Github issue #95, by brubbel, on July 19, 2018>
(Note: This was tested on Kea 1.1.0, but I see that this issue is still present in the latest 1.4.0 version.)
At startup, Kea may produce the following warning message:
DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: the interface x is down or has no usable IPv4 addresses configured
I checked interface x of course, but it was [UP] and had an IPv4 address assigned.
It turns out (from reading the source) that Kea expects interface x also being in the [RUNNING] state.
I suggest to change the warning message into "has no usable IPv4 address or is missing flags [UP] and/or [RUNNING]."
As a related question: why does isc-dhcp allow and kea-dhcp does not allow starting a server on an interface without the IFF_RUNNING flag set?
In any case, kea 1.1.0 does not work when the interface is not [RUNNING] when it was started, even when it becomes [RUNNING] afterwards. When the state goes from running->not running->running: all ok.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/52kea-dhcp4 can't offer ip reserved.2022-11-02T15:08:43ZGhost Userkea-dhcp4 can't offer ip reserved.subnet : 192.168.0.0/24
reservation1 : mac(aa:aa:aa:aa:aa:aa) ip(192.168.0.11)
reservation2 : mac(bb:bb:bb:bb:bb:bb) ip(192.168.0.12)
reservation1 has router option(3) 192.168.0.3
reservation2 has no options.
I used mysql for hosts res...subnet : 192.168.0.0/24
reservation1 : mac(aa:aa:aa:aa:aa:aa) ip(192.168.0.11)
reservation2 : mac(bb:bb:bb:bb:bb:bb) ip(192.168.0.12)
reservation1 has router option(3) 192.168.0.3
reservation2 has no options.
I used mysql for hosts reservation.
kea-dhcp4 responses to reservation1 but fail to response to reservation2 somtimes.
The Failure log is 'preparing on-wire-format of the packet to be sent failed DHCPv4 Option4AddrLst 3 is too big.At most 255 bytes are supported.'
In packets debug log, kea-dhcp4 try to response to reserve2 with router option(value is 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 0.0.0.0 ....... maybe 2048~4096byte)backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/3188Support hot plugging network interfaces2024-02-01T10:52:48ZJakub OkońskiSupport hot plugging network interfaces---
name: Feature request
about: Suggest an idea for this project
---
I'm migrating to kea from the previous ISC DHCP4 server and I noticed a difference in behavior. Kea refuses to start if an interface declared in `interfaces-config` i...---
name: Feature request
about: Suggest an idea for this project
---
I'm migrating to kea from the previous ISC DHCP4 server and I noticed a difference in behavior. Kea refuses to start if an interface declared in `interfaces-config` is not present when Kea starts.
I want to be able to declare subnets & definitions for a USB adapter that I sometimes hotplug to the gateway. Without support from Kea, I'd need to keep two different configs and reload Kea at appropriate times. I assume it's also going to fail when a network interface it's listening on disappears.next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/3162Kea does not look at all IP addresses on an interface when attempting to matc...2023-11-23T14:57:47Zmpratik-aristaKea does not look at all IP addresses on an interface when attempting to match incoming packet with subnetSay that Kea has started a DHCPv4 server instance and the interface (on which Kea is listening) has multiple IP addresses configured on it (say using `sudo ip addr add ADDR/MASK dev IFACE`). Now if Kea receives a packet from a directly c...Say that Kea has started a DHCPv4 server instance and the interface (on which Kea is listening) has multiple IP addresses configured on it (say using `sudo ip addr add ADDR/MASK dev IFACE`). Now if Kea receives a packet from a directly connected client on the interface, the Kea code appears to fetch the first available address on the interface, specifically the code here -> https://gitlab.isc.org/isc-projects/kea/-/blob/master/src/lib/dhcp/iface_mgr.cc#L225. This IP address is then used during subnet selection.
In the example (which is also our setup) below, the interface on which kea is listening is vlan42. The primary IP address configured on the interface is 152.44.134.1/16 (configured earlier) and the secondary IP Address configured on the interface is 169.254.4.3/16 (configured later). I see the following traces ->
```
2023-11-09 12:27:39.167 DEBUG [kea-dhcp4.dhcpsrv/23369.139809668667520] DHCPSRV_PRINT_ATTR Attribute: iface.address = 152.44.134.1 (I added this log where I printed the IP address that Kea selected for subnet matching)
2023-11-09 12:27:39.167 DEBUG [kea-dhcp4.packets/23369.139809668667520] DHCP4_SUBNET_SELECTION_FAILED [hwtype=1 56:83:3f:7a:76:07], cid=[no info], tid=0xb02e9d17: failed to select subnet for the client
2023-11-09 12:27:39.167 DEBUG [kea-dhcp4.bad-packets/23369.139809668667520] DHCP4_PACKET_DROP_0002 [hwtype=1 56:83:3f:7a:76:07], cid=[no info], tid=0xb02e9d17, from interface vlan42: no suitable subnet configured for a direct client
```
I verified that Kea successfully adds both the primary and secondary IP address in the Netlink::ipaddrs_get function for vlan42. My expectation was that Kea would look at all the IP addresses active on the interface and then check if any subnet configured in the Kea config file matches these IPs
The Kea config only had a subnet associated with the secondary IP 169.254.4.3/16 so understandably the packet could not be matched to any subnet. We want to be able to provide addresses from the subnet 169.254.0.0 to the clients who are sending their Discover packets on vlan42.
Steps to reproduce the behavior:
1. Run Kea dhcpv4 with the attached config and configure an interface with two IP addresses so that Kea is listening on this interface using both these IPs.
2. Let a directly connected client does A send a Discover packet to the interface that Kea listens on
3. The server will not be able to provide an IP back to the client as it will not match a subnet.
4. This same behavior is seen regardless of whether I add the following block of code.
```
"interfaces-config": {
"interfaces": [
"vlan42/169.254.4.3"
]
}
```
Expected behavior:
The client would have obtained IP address 169.254.5.5 (first available IP from the subnet 169.254.0.0/16 as specified in the Kea config file) since the IP address is getting added to the interface's address list.
We used Kea-2.0.0 for this experiment[kea-dhcp4-default.conf.rtf](/uploads/b771e974c2c29aa7357bbc6e4e9de553/kea-dhcp4-default.conf.rtf)next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/3144redetect-interfaces command2024-02-08T14:35:31ZTomek Mrugalskiredetect-interfaces commandThe idea is to tell Kea to redetect network interfaces. There's `re-detect` flag in `interfaces-config` that can be used in `config-set`. But this requires a general heavy-weight reconfiguration of the whole server.
The idea here is tha...The idea is to tell Kea to redetect network interfaces. There's `re-detect` flag in `interfaces-config` that can be used in `config-set`. But this requires a general heavy-weight reconfiguration of the whole server.
The idea here is that Kea could be told that some new interfaces appeared or disappeared (VLAN, PPP, some other tunnel etc.) and Kea should redetect them. For an added bonus, there should be a way to tell Kea to open sockets on those new interfaces. This can be done either by telling Kea to open the on any newly detected interfaces or perhaps return a list of interfaces and have a dedicated call `open-socket` or something similar? Anyway, this would be useful to have a mini-design for.
This problem is not new and there are many requests in this problem space:
- A [nicely described use case in #3040](https://gitlab.isc.org/isc-projects/kea/-/issues/3040#note_414899)
- #1084
- #3062
- possibly couple morenext-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/3102Possible bug for not pure option containers2023-10-13T23:32:53ZFrancis DupontPossible bug for not pure option containersHere the word pure means empty type, and container an option with sub-options. This ticket is from a dicussion in #2881 which fixed pure option containers.
The goal is to verify that toElement o parse gives back cvs-format and data entr...Here the word pure means empty type, and container an option with sub-options. This ticket is from a dicussion in #2881 which fixed pure option containers.
The goal is to verify that toElement o parse gives back cvs-format and data entries. If it is not the case Option::toBinary should be extended with a new parameter to not include sub-options.next-stable-2.6Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/3100Support array of OPT_RECORD_TYPE for Option definition2024-01-09T11:40:57ZPiotrek ZadrogaSupport array of OPT_RECORD_TYPE for Option definitionWhile working on #3074 it occurred to me that it would be very useful to be able to define new Option as an array of OPT_RECORD_TYPE.
We could consider implementing that in Kea.While working on #3074 it occurred to me that it would be very useful to be able to define new Option as an array of OPT_RECORD_TYPE.
We could consider implementing that in Kea.next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/3062Any interface created while retrying sockets are used unfiltered2024-02-08T14:35:31ZEfe Can İçözAny interface created while retrying sockets are used unfiltered
**Describe the bug**
While retrying an interface that didn't met the socket requirements in `IfaceMgr::openSockets4` yet, if new interfaces registered to system Kea DHCP4 server listens those interfaces even they are not listed in conf...
**Describe the bug**
While retrying an interface that didn't met the socket requirements in `IfaceMgr::openSockets4` yet, if new interfaces registered to system Kea DHCP4 server listens those interfaces even they are not listed in configuration file.
**To Reproduce**
Steps to reproduce the behavior:
1. Set a dummy interface and ensure that it's down.
`ip link add dummy0 type dummy`
`ip addr add 192.168.1.1/24 dev dummy0`
`ip link set dummy0 down`
2. Run Kea dhcp4 server with the following config
{
"Dhcp4": {
"valid-lifetime": 4000,
"renew-timer": 1000,
"rebind-timer": 2000,
"interfaces-config": {
"interfaces": [ "dummy0/192.168.1.1" ],
"service-sockets-max-retries": 1000,
"service-sockets-retry-wait-time": 1000
},
"lease-database": {
"type": "memfile",
"persist": true,
"name": "/var/lib/dhcp4.leases"
},
"subnet4": [
{
"subnet": "192.168.1.0/24",
"interface": "dummy0",
"pools": [
{
"pool": "192.168.1.4 - 192.168.1.254",
}
]
}
]
}
}
3. At this point Kea will print `DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: the interface dummy0 is down` messages.
4. Add another interface with
`ip link add dummy1 type dummy`
`ip addr add 10.10.1.1/24 dev dummy1`
`ip link set dummy1 up`
5. Set dummy0 online to let Kea run
`ip link set dummy1 up`
6. Check open sockets by Kea
`netstat -tulpan | grep kea` which is
udp 0 0 192.168.1.1:67 0.0.0.0:* 694387/kea-dhcp4
udp 0 0 10.10.1.1:67 0.0.0.0:* 694387/kea-dhcp4
**Expected behavior**
Server should only listen _dummy0_ interface.
**Environment:**
- Kea version: 2.2.0
- OS: Ubuntu 22.04.3 x64
**Additional Information**
This issue happened also on our custom yocto build on imx8qxp with aarch64next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/3040failure to start up with ppp interfaces2024-02-08T14:35:31ZJaco Kroonfailure to start up with ppp interfaces2023-08-31 23:34:48.506 WARN [kea-dhcp6.dhcpsrv/27456.140590317625408] DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: Failed to open multicast socket on interface ppp0, reason: Failed to open link-local socket on interface ppp0: Failed...2023-08-31 23:34:48.506 WARN [kea-dhcp6.dhcpsrv/27456.140590317625408] DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: Failed to open multicast socket on interface ppp0, reason: Failed to open link-local socket on interface ppp0: Failed to bind socket 20 to fe80::e/port=547: Cannot assign requested address
```
26: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1350 qdisc tbf state UNKNOWN group default qlen 3
inet6 fe80::14e4:139f:8862:3dfd peer fe80::e/128 scope link
valid_lft forever preferred_lft forever
```
Obviously we should bind to the local link-local, not the remote one.
kea 2.4.0. 2.5.1 segfaults on my configuration:
```
{
"Dhcp6": {
"interfaces-config": {
"interfaces": [ "ppp0" ]
},
"control-socket": {
"socket-type": "unix",
"socket-name": "/run/kea/kea6-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": 1000,
"rebind-timer": 2000,
"preferred-lifetime": 3000,
"valid-lifetime": 4000,
"option-data": [
{
"name": "dns-servers",
"data": "2c0f:f720::..., 2c0f:f720::..."
}
],
"subnet6": [
{
"subnet": "2c0f:f720:fcf0::/44",
"pd-pools": [
{
"prefix": "2c0f:f720:fcf0::",
"prefix-len": 44,
"delegated-len": 56
}
]
}
],
"loggers": [
{
"name": "kea-dhcp6",
"output_options": [
{
"output": "/var/log/kea/kea-dhcp6.log"
}
],
"severity": "DEBUG",
"debuglevel": 99
}
]
}
}
```
Strace from a re-run (so socket number is different):
```
bind(19, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 0
getsockname(19, {sa_family=AF_NETLINK, nl_pid=6688, nl_groups=00000000}, [12]) = 0
sendto(19, [{nlmsg_len=20, nlmsg_type=RTM_GETLINK, nlmsg_flags=NLM_F_REQUEST|NLM_F_DUMP, nlmsg_seq=1, nlmsg_pid=0}, {ifi_family=AF_PACKET, ...}], 20, 0, {sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, 12) = 20
recvmsg(19, {msg_name={sa_family=AF_NETLINK ...
ifa_index=if_nametoindex("ppp0")}, [[{nla_len=20, nla_type=IFA_LOCAL}, **inet_pton(AF_INET6, "fe80::14e4:139f:8862:3dfd")], [{nla_len=20, nla_type=IFA_ADDRESS}, inet_pton(AF_INET6, "fe80::e")],** [{nla_len=20, nla_type=IFA_CACHEINFO}, {ifa_prefered=4294967295, ifa_valid=4294967295, cstamp=168714876, tstamp=168714876}], [{nla_len=8, nla_type=IFA_FLAGS}, IFA_F_PERMANENT]]], [{nlmsg_len=72, nlmsg_type=RTM_NEWADDR, nlmsg_flags=NLM_F_MULTI, nlmsg_seq=2, nlmsg_pid=6688}, {ifa_family=AF_INET6, ifa_prefixlen=64, ifa_flags=IFA_F_PERMANENT, ifa_scope=RT_SCOPE_LINK,
...
close(19) = 0
socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC, 0) = 19
ioctl(19, SIOCGIFINDEX, {ifr_name="ppp0", ifr_ifindex=26}) = 0
close(19) = 0
socket(AF_INET6, SOCK_DGRAM, IPPROTO_IP) = 19
fcntl(19, F_SETFD, FD_CLOEXEC) = 0
setsockopt(19, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
setsockopt(19, SOL_SOCKET, SO_REUSEPORT, [1], 4) = 0
setsockopt(19, SOL_IPV6, IPV6_V6ONLY, [1], 4) = 0
bind(19, {sa_family=AF_INET6, sin6_port=htons(547), sin6_flowinfo=htonl(0), inet_pton(AF_INET6, "**fe80::e**", &sin6_addr), sin6_scope_id=if_nametoindex("ppp0")}, 28) = -1 EADDRNOTAVAIL (Cannot assign requested address)
close(19) = 0
```next-stable-2.6https://gitlab.isc.org/isc-projects/kea/-/issues/3037Kea / hostapd conflict2023-09-21T17:55:21ZThomas KöllerKea / hostapd conflictI am currently migrating my DHCP server setup from dhcpd to kea. While doing so, I came across a problem that so far I have been unable to solve.
There are three network interfaces on my system that are relevant here, namely lan_wifi (3...I am currently migrating my DHCP server setup from dhcpd to kea. While doing so, I came across a problem that so far I have been unable to solve.
There are three network interfaces on my system that are relevant here, namely lan_wifi (3), lan_ether (4), and a bridge interface br_lan (6), of which these two are slaves:
```
[thomas@sarkovy ~]$ networkctl list
IDX LINK TYPE OPERATIONAL SETUP
1 lo loopback carrier unmanaged
2 enp38s0 ether off unmanaged
3 lan_wifi ether enslaved configured
4 lan_ether ether enslaved configured
5 eth_cable ether routable configured
6 br_lan bridge routable configured
6 links listed.
```
In my existing dhcpd-based setup, there is an instance of the hostapd daemon running on the lan_wifi interface:
```
[root@sarkovy kea]# lsof -i udp:67
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
hostapd 18322 root 5u IPv4 288312 0t0 UDP *:bootps
dhcpd 19279 dhcpd 8u IPv4 312588 0t0 UDP *:bootps
```
Both these daemons apparently co-exist just fine. If, however, I try to replace dhcpd with kea-dhcp4, a conflict arises:
```
Aug 31 11:57:18 sarkovy kea-dhcp4[19308]: 2023-08-31 11:57:18.970 WARN [kea-dhcp4.dhcpsrv/19308.140339384615296] DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: Failed to open socket on interface br_lan, reason: failed to bind fallback socket to address 192.168.0.1, port 67, reason: Address already in use - is another DHCP server running?
Aug 31 11:57:18 sarkovy kea-dhcp4[19308]: 2023-08-31 11:57:18.970 INFO [kea-dhcp4.dhcp4/19308.140339384615296] DHCP4_OPEN_SOCKETS_FAILED maximum number of open service sockets attempts: 0, has been exhausted without success
```
I have to stop hostapd in order to be able to start kea-dhcp4. Unfortunately, I need both of them. My kea configuration includes the following "interfaces-config" section:
```
"interfaces-config": {
"interfaces": [ "br_lan/192.168.0.1" ],
"dhcp-socket-type": "raw",
"service-sockets-require-all": true
},
```
Is there anything I can do to resolve this conflict?backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/3017[kea_2.4.0]New monitor interface added in kea conf but dhcp4 server can't det...2023-11-28T09:30:37Zchen sijie[kea_2.4.0]New monitor interface added in kea conf but dhcp4 server can't detect the new added interface---
name: Bug report
about: Create a report to help us improve
---
If you believe your bug report is a security issue (e.g. a packet that can kill the server), DO NOT REPORT IT HERE. Please use https://www.isc.org/community/report-bug/...---
name: Bug report
about: Create a report to help us improve
---
If you believe your bug report is a security issue (e.g. a packet that can kill the server), DO NOT REPORT IT HERE. Please use https://www.isc.org/community/report-bug/ instead or send mail to security-office(at)isc(dot)org.
**Describe the bug**
New monitor interface added in kea conf file but dhcp4 server can't detect the new added interface.
**To Reproduce**
In our project we used kea as our dhcp server and did some second develop work. Below test scenario
failed after upgrade kea from 2.2.0 to 2.4.0.
Steps to reproduce the behavior:
1. Prepare kea conf file and until waiting one running interface to start dhcp4 server.
In this place we can find fhmintbre in RUNNING state and dhcp4server also startup normally.
2. After step1, a new interface fhmintbrc become running,then our service prepare one new conf file, in this file
interface parameter with both fhmintbre and fhmintbrc.
3. Because kea conf file update in our code logical, we need to reload dhcp4server, after reload the dhcp4server can't start.
the log info as "Failed to selecnterface: interface 'fhmintbrc' doesn't exist in the system (/tmp/kea-dhcp4.conf:42:17)"
Seems dhcp4server still used the old conf file didn't get the new conf with fhmintbrc info.
This scenario case work normally in kea 2.2.0. Can you help to check this issue?
**Expected behavior**
dhcp4server startup should use the latest kea-dhcp.conf file after new running interface added, but now we found
dhcp4server still used the old copy.
**Environment:**
- Kea version: kea 2.4.0
- OS: [e.g. Ubuntu 16.04 x64]
- Which features were compiled in (in particular which backends)
- If/which hooks where loaded in
**Additional Information**
Log info print in our env:
```
<14>1 2023-08-22T15:23:36.905286+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - Send dhcp readiness ack: status(SUCCESS):0, hoste: nescran6-dhcp-server-0
<15>1 2023-08-22T15:23:38.584740+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - Readiness fd reveived (IN) callback.
<15>1 2023-08-22T15:23:38.584831+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - hwinfoprovider data provider callback, path: [/na-hwinfo:hwinfo], request_xpath: [/nokia-hwinfo:hwinfo], module: [nokia-hwinfo]
<14>1 2023-08-22T15:23:38.584865+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - hwinfoprovider data provider: [{"nokia-hwinfo:hwo":{"readiness":[{"owner":"nescran6-dhcp-server-0","check-list":[0,1,2],"states":[{"type":2,"last-updated":"2023-08-22T23:23:36.900+08:00"}]}]}}]
<14>1 2023-08-22T15:26:18.863022+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintune0, index:6) upd event. flags:4098
<14>1 2023-08-22T15:26:18.863130+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintune0, index:6) upd event. flags:4098
<14>1 2023-08-22T15:26:18.970545+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintune0, index:6) upd event. flags:69699
<14>1 2023-08-22T15:26:19.305565+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbre, index:7) updaevent. flags:4098
<14>1 2023-08-22T15:26:19.879863+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintune0, index:6) upd event. flags:69699
<14>1 2023-08-22T15:26:19.879984+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintune0, index:6) upd event. flags:69699
<14>1 2023-08-22T15:26:19.880041+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbre, index:7) updaevent. flags:4098
<14>1 2023-08-22T15:26:19.880094+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbre, index:7) updaevent. flags:4098
<14>1 2023-08-22T15:26:19.880160+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbre, index:7) updaevent. flags:4098
<14>1 2023-08-22T15:26:20.473274+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: ip address(iface index:7) update event.ags:128
<14>1 2023-08-22T15:26:21.205540+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbre, index:7) updaevent. flags:69635
<14>1 2023-08-22T15:26:21.205630+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbre, index:7) updaevent. flags:69699
<14>1 2023-08-22T15:26:21.205691+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - Interface index(7) sate change to RUNNING
<14>1 2023-08-22T15:26:22.908112+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - DHCP server inactive.
<14>1 2023-08-22T15:26:23.005806+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - Start dhcp4 server success with cmd: genapiloggeat --ident dhcp4server -- /usr/sbin/kea-dhcp4 -c /tmp/kea-dhcp4.conf &
<14>1 2023-08-22T15:26:23.905870+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.905 INFO [kea-dhcp4.dhcp43.140102015412096] DHCP4_STARTING Kea DHCPv4 server version 2.4.0 (stable) starting
<14>1 2023-08-22T15:26:23.907140+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.907 INFO [kea-dhcp4.hosts3.140102015412096] HOSTS_BACKENDS_REGISTERED the following host backend types are available: postgresql
<14>1 2023-08-22T15:26:23.907517+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.907 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_ADD_IFACE listening on interface fhmintbre
<14>1 2023-08-22T15:26:23.907550+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.907 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using default socket type raw
<14>1 2023-08-22T15:26:23.908007+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.907 INFO [kea-dhcp4.hooks3.140102015412096] HOOKS_LIBRARY_CLOSED hooks library /usr/lib64/libkea4hook.so successfully closed
<14>1 2023-08-22T15:26:23.908186+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.908 WARN [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CONFIGURED_SUBNET_WITHOUT_ID a subnet was configured without an id: 50.50.0.0/24
<14>1 2023-08-22T15:26:23.908205+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.908 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.0.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:23.908328+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.908 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.1.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:23.908421+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.908 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.2.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:23.908511+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:23.908 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.3.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:24.005271+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.005 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.4.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:24.005454+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.005 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.5.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:24.005638+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.005 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 50.50.6.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:24.005809+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.005 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 60.60.1.0/24 with params: valid-liime=300
<14>1 2023-08-22T15:26:24.006040+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.006 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT using socket type raw
<14>1 2023-08-22T15:26:24.006528+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.006 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_ADD_IFACE listening on interface fhmintbre
<14>1 2023-08-22T15:26:24.006563+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.006 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using default socket type raw
<14>1 2023-08-22T15:26:24.007242+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.007 INFO [kea-dhcp4.hooks3.140102015412096] HOOKS_LIBRARY_LOADED hooks library /usr/lib64/libkea4hook.so successfully loaded
<14>1 2023-08-22T15:26:24.007270+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.007 INFO [kea-dhcp4.dhcp43.140102015412096] DHCP4_CONFIG_COMPLETE DHCPv4 server has completed configuration: added IPv4 subnets: 8; DDNS: disabled
<14>1 2023-08-22T15:26:24.107592+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.107 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_MEMFILE_DB opening memory file lease database: lfc-interval=3600 max-row-errors=100 name=/var/log/kleasesdb/kea-leases4.csv persist=true type=memfile universe=4
<14>1 2023-08-22T15:26:24.207168+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.207 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/log/kea-leasesdb/kea-leases4.csv
<14>1 2023-08-22T15:26:24.229966+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.229 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_MEMFILE_EXTRACT_EXTENDED_INFO4 extracting extended info saw 0 leases, extended info sanity checks mfied 0 / updated 0 leases and 0 leases have relay or remote id
<14>1 2023-08-22T15:26:24.229991+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.229 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec
<14>1 2023-08-22T15:26:24.313526+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.0.0/24
<14>1 2023-08-22T15:26:24.313558+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.1.0/24
<14>1 2023-08-22T15:26:24.313576+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.2.0/24
<14>1 2023-08-22T15:26:24.313590+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.3.0/24
<14>1 2023-08-22T15:26:24.313604+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.4.0/24
<14>1 2023-08-22T15:26:24.313618+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.5.0/24
<14>1 2023-08-22T15:26:24.313639+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 50.50.6.0/24
<14>1 2023-08-22T15:26:24.313654+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 INFO [kea-dhcp4.dhcps463.140102015412096] DHCPSRV_CFGMGR_USE_ALLOCATOR using the iterative allocator for V4 leases in subnet 60.60.1.0/24
<14>1 2023-08-22T15:26:24.314034+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.313 WARN [kea-dhcp4.dhcp43.140102015412096] DHCP4_MULTI_THREADING_INFO enabled: no, number of threads: 0, queue size: 0
<14>1 2023-08-22T15:26:24.314114+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.314 INFO [kea-dhcp4.dhcp43.140102015412096] DHCP4_STARTED Kea DHCPv4 server version 2.4.0 started
<14>1 2023-08-22T15:26:24.314292+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.314 ERROR [kea-dhcp4.packe463.140102015412096] DHCP4_BUFFER_RECEIVE_FAIL error on attempt to receive packet: Truncated DHCPv4 packet (len=55) received, atast 236 is expected.
<14>1 2023-08-22T15:26:24.314346+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.314 ERROR [kea-dhcp4.packe463.140102015412096] DHCP4_BUFFER_RECEIVE_FAIL error on attempt to receive packet: Truncated DHCPv4 packet (len=108) received, aeast 236 is expected.
<14>1 2023-08-22T15:26:24.314430+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.314 ERROR [kea-dhcp4.packe463.140102015412096] DHCP4_BUFFER_RECEIVE_FAIL error on attempt to receive packet: Truncated DHCPv4 packet (len=32) received, atast 236 is expected.
<14>1 2023-08-22T15:26:24.314487+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:24.314 ERROR [kea-dhcp4.packe463.140102015412096] DHCP4_BUFFER_RECEIVE_FAIL error on attempt to receive packet: Truncated DHCPv4 packet (len=12) received, atast 236 is expected.
<14>1 2023-08-22T15:26:35.569350+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintunc0, index:8) upd event. flags:4098
<14>1 2023-08-22T15:26:35.569495+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintunc0, index:8) upd event. flags:4098
<14>1 2023-08-22T15:26:35.672859+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintunc0, index:8) upd event. flags:69699
<14>1 2023-08-22T15:26:35.977884+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbrc, index:9) updaevent. flags:4098
<14>1 2023-08-22T15:26:36.505480+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbrc, index:9) updaevent. flags:69699
<14>1 2023-08-22T15:26:36.505604+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - Interface index(9) sate change to RUNNING
<14>1 2023-08-22T15:26:37.270782+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintunc0, index:8) upd event. flags:69699
<14>1 2023-08-22T15:26:37.305261+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintunc0, index:8) upd event. flags:69699
<14>1 2023-08-22T15:26:37.305334+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbrc, index:9) updaevent. flags:69699
<14>1 2023-08-22T15:26:37.305384+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbrc, index:9) updaevent. flags:69699
<14>1 2023-08-22T15:26:37.305439+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbrc, index:9) updaevent. flags:69699
<14>1 2023-08-22T15:26:37.305482+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: interface(name:fhmintbrc, index:9) updaevent. flags:69699
<14>1 2023-08-22T15:26:37.965480+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - netlink: ip address(iface index:9) update event.ags:128
dhcpmanager[9]: INFO/keactrl: Reloading kea-dhcp4...
<14>1 2023-08-22T15:26:38.907204+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:38.907 INFO [kea-dhcp4.dhcp43.140102015412096] DHCP4_DYNAMIC_RECONFIGURATION initiate server reconfiguration using file: /tmp/kea-dhcp4.conf, after receivinIGHUP signal or config-reload command
<14>1 2023-08-22T15:26:38.907997+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:38.907 INFO [kea-dhcp4.hosts3.140102015412096] HOSTS_BACKENDS_REGISTERED the following host backend types are available: postgresql
<14>1 2023-08-22T15:26:39.005586+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:39.005 ERROR [kea-dhcp4.dhcp43.140102015412096] DHCP4_PARSER_FAIL failed to create or run parser for configuration element interfaces-config: Failed to selecnterface: interface 'fhmintbrc' doesn't exist in the system (/tmp/kea-dhcp4.conf:42:17) (/tmp/kea-dhcp4.conf:40:13)
<14>1 2023-08-22T15:26:39.005683+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:39.005 FATAL [kea-dhcp4.dhcp43.140102015412096] DHCP4_CONFIG_UNRECOVERABLE_ERROR DHCPv4 server new configuration failed with an error which cannot be recover
<14>1 2023-08-22T15:26:39.005752+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:39.005 ERROR [kea-dhcp4.dhcp43.140102015412096] DHCP4_CONFIG_LOAD_FAIL configuration error using file: /tmp/kea-dhcp4.conf, reason: Failed to select interfacinterface 'fhmintbrc' doesn't exist in the system (/tmp/kea-dhcp4.conf:42:17) (/tmp/kea-dhcp4.conf:40:13)
<14>1 2023-08-22T15:26:39.005943+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:39.005 FATAL [kea-dhcp4.dhcp43.140102015412096] DHCP4_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: /tmp/kea-dhcp4.conf
dhcpmanager[9]: INFO/keactrl: kea-dhcp6 isn't running.
dhcpmanager[9]: INFO/keactrl: kea-dhcp-ddns isn't running.
dhcpmanager[9]: INFO/keactrl: kea-ctrl-agent isn't running.
<14>1 2023-08-22T15:26:40.007603+08:00 nescran6-dhcp-server-0 dhcpmanager 9 - - Reload dhcp4 server success with cmd: /usr/sbin/ctrl reload -c /tmp/keactrl.conf
dhcpmanager[9]: INFO/keactrl: Reloading kea-dhcp4...
<14>1 2023-08-22T15:26:43.008206+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:43.008 INFO [kea-dhcp4.dhcp43.140102015412096] DHCP4_DYNAMIC_RECONFIGURATION initiate server reconfiguration using file: /tmp/kea-dhcp4.conf, after receivinIGHUP signal or config-reload command
<14>1 2023-08-22T15:26:43.009047+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:43.008 INFO [kea-dhcp4.hosts3.140102015412096] HOSTS_BACKENDS_REGISTERED the following host backend types are available: postgresql
<14>1 2023-08-22T15:26:43.105606+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:43.105 ERROR [kea-dhcp4.dhcp43.140102015412096] DHCP4_PARSER_FAIL failed to create or run parser for configuration element interfaces-config: Failed to selecnterface: interface 'fhmintbrc' doesn't exist in the system (/tmp/kea-dhcp4.conf:42:17) (/tmp/kea-dhcp4.conf:40:13)
<14>1 2023-08-22T15:26:43.105632+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:43.105 FATAL [kea-dhcp4.dhcp43.140102015412096] DHCP4_CONFIG_UNRECOVERABLE_ERROR DHCPv4 server new configuration failed with an error which cannot be recover
<14>1 2023-08-22T15:26:43.205210+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:43.105 ERROR [kea-dhcp4.dhcp43.140102015412096] DHCP4_CONFIG_LOAD_FAIL configuration error using file: /tmp/kea-dhcp4.conf, reason: Failed to select interfacinterface 'fhmintbrc' doesn't exist in the system (/tmp/kea-dhcp4.conf:42:17) (/tmp/kea-dhcp4.conf:40:13)
<14>1 2023-08-22T15:26:43.205239+08:00 nescran6-dhcp-server-0 dhcp4server 455 - - 2023-08-22 15:26:43.105 FATAL [kea-dhcp4.dhcp43.140102015412096] DHCP4_DYNAMIC_RECONFIGURATION_FAIL dynamic server reconfiguration failed with file: /tmp/kea-dhcp4.conf
dhcpmanager[9]: INFO/keactrl: kea-dhcp6 isn't running.
dhcpmanager[9]: INFO/keactrl: kea-dhcp-ddns isn't running.
dhcpmanager[9]: INFO/keactrl: kea-ctrl-agent isn't running.
```
**Contacting you**
sijie.chen@nokia-sbell.com
Andrei: edited the **Additional Information** section to be readable.kea2.5.3Razvan BecheriuRazvan Becheriuhttps://gitlab.isc.org/isc-projects/kea/-/issues/2779automatically retry interfaces that previously failed2023-04-06T13:47:30ZThomas Eppersonautomatically retry interfaces that previously failedI am trying to use kea-dhcp4 to listed on two different ethernet connections. One or both of them might not be connected on startup. I am using networkmanager to configure the ethernet ports. I have the ignore-carrier option set in netwo...I am trying to use kea-dhcp4 to listed on two different ethernet connections. One or both of them might not be connected on startup. I am using networkmanager to configure the ethernet ports. I have the ignore-carrier option set in networkmanager so that both ethernet ports are configured with ip addresses as desired.
I would like to have kea-dchp4 respond on both ports. Current behavior is that kea only responds to ports that are connected on startup. Connecting a port after startup does not result in kea listening on that ethernet port.
In the log, I see the following:
2022-12-20 19:08:38.634 WARN [kea-dhcp4.dhcpsrv/487.281473514119200] DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: the interface end1 is not runninghttps://gitlab.isc.org/isc-projects/kea/-/issues/2776Kea fails to open socket2023-08-10T13:18:25ZNeil RomigKea fails to open socketKea sometimes fails to bind to socket when starting. This can happen at boot or when restarting the dhcp server, and all other network functions appear normal.
This issue does not always occur, and I am new to Kea so may need some help ...Kea sometimes fails to bind to socket when starting. This can happen at boot or when restarting the dhcp server, and all other network functions appear normal.
This issue does not always occur, and I am new to Kea so may need some help to provide relevant info.
Steps to reproduce the behavior:
1. Start the DHCP4 server. Check system logs. An instance of failure is shown below.
```
2023-02-18 20:24:07.082 INFO [kea-dhcp4.hosts/484.140130011339840] HOSTS_BACKENDS_REGISTERED the following host backend types are available: mysql postgresql
2023-02-18 20:24:07.083 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_CFGMGR_ADD_IFACE listening on interface enp2s0
2023-02-18 20:24:07.083 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using default socket type raw
2023-02-18 20:24:07.083 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 192.168.92.0/24 with params: t1=900, t2=1800, valid-lifetime=3600
2023-02-18 20:24:07.084 INFO [kea-dhcp4.commands/484.140130011339840] COMMAND_ACCEPTOR_START Starting to accept connections via unix domain socket bound to /tmp/kea4-ctrl-socket
2023-02-18 20:24:07.084 INFO [kea-dhcp4.dhcp4/484.140130011339840] DHCP4_CONFIG_COMPLETE DHCPv4 server has completed configuration: added IPv4 subnets: 1; DDNS: disabled
2023-02-18 20:24:07.084 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_MEMFILE_DB opening memory file lease database: lfc-interval=3600 type=memfile universe=4
2023-02-18 20:24:07.086 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/kea-leases4.csv.2
2023-02-18 20:24:07.086 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/kea-leases4.csv
2023-02-18 20:24:07.095 INFO [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec
2023-02-18 20:24:07.095 WARN [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_OPEN_SOCKET_FAIL failed to open socket: the interface enp2s0 is not running
2023-02-18 20:24:07.095 INFO [kea-dhcp4.dhcp4/484.140130011339840] DHCP4_OPEN_SOCKETS_FAILED maximum number of open service sockets attempts: 0, has been exhausted without success
2023-02-18 20:24:07.095 WARN [kea-dhcp4.dhcpsrv/484.140130011339840] DHCPSRV_NO_SOCKETS_OPEN no interface configured to listen to DHCP traffic
2023-02-18 20:24:07.095 WARN [kea-dhcp4.dhcp4/484.140130011339840] DHCP4_MULTI_THREADING_INFO enabled: no, number of threads: 0, queue size: 0
2023-02-18 20:24:07.095 INFO [kea-dhcp4.dhcp4/484.140130011339840] DHCP4_STARTED Kea DHCPv4 server version 2.2.0 started
```
**Expected behavior**
A successful startup as shown below:
```
2023-02-01 16:46:38.527 INFO [kea-dhcp4.dhcp4/85444.139972960083008] DHCP4_SHUTDOWN server shutdown
2023-02-01 16:46:38.639 INFO [kea-dhcp4.hosts/94778.140528916364352] HOSTS_BACKENDS_REGISTERED the following host backend types are available: mysql postgresql
2023-02-01 16:46:38.640 INFO [kea-dhcp4.dhcpsrv/94778.140528916364352] DHCPSRV_CFGMGR_ADD_IFACE listening on interface enp2s0
2023-02-01 16:46:38.640 INFO [kea-dhcp4.dhcpsrv/94778.140528916364352] DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using default socket type raw
2023-02-01 16:46:38.640 INFO [kea-dhcp4.dhcpsrv/94778.140528916364352] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: 192.168.92.0/24 with params: t1=900, t2=1800, valid-lifetime=3600
2023-02-01 16:46:38.641 INFO [kea-dhcp4.commands/94778.140528916364352] COMMAND_ACCEPTOR_START Starting to accept connections via unix domain socket bound to /tmp/kea4-ctrl-socket
2023-02-01 16:46:38.641 INFO [kea-dhcp4.dhcp4/94778.140528916364352] DHCP4_CONFIG_COMPLETE DHCPv4 server has completed configuration: added IPv4 subnets: 1; DDNS: disabled
2023-02-01 16:46:38.641 INFO [kea-dhcp4.dhcpsrv/94778.140528916364352] DHCPSRV_MEMFILE_DB opening memory file lease database: lfc-interval=3600 type=memfile universe=4
2023-02-01 16:46:38.641 INFO [kea-dhcp4.dhcpsrv/94778.140528916364352] DHCPSRV_MEMFILE_LEASE_FILE_LOAD loading leases from file /var/lib/kea/kea-leases4.csv
2023-02-01 16:46:38.642 INFO [kea-dhcp4.dhcpsrv/94778.140528916364352] DHCPSRV_MEMFILE_LFC_SETUP setting up the Lease File Cleanup interval to 3600 sec
2023-02-01 16:46:38.670 WARN [kea-dhcp4.dhcp4/94778.140528916364352] DHCP4_MULTI_THREADING_INFO enabled: no, number of threads: 0, queue size: 0
2023-02-01 16:46:38.670 INFO [kea-dhcp4.dhcp4/94778.140528916364352] DHCP4_STARTED Kea DHCPv4 server version 2.2.0 started
```
**Environment:**
- Kea version: 2.2.0
- OS: Arch Linux 6.1.12-arch1-1 x86_64
**Additional Information**
Not sure what else to include for the developers - please advise.backloghttps://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/kea/-/issues/2694Extend getOptions(type) from pkt6 to pkt4.2023-07-17T13:58:23ZFrancis DupontExtend getOptions(type) from pkt6 to pkt4.Currently the method to get all options from a packet object for a given option type/code is specific to v6: this ticket moves it to the generic packet header so it will be available for v4 too. Required for #1518 and #719.Currently the method to get all options from a packet object for a given option type/code is specific to v6: this ticket moves it to the generic packet header so it will be available for v4 too. Required for #1518 and #719.kea2.3.4Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/2211Set broadcast mac in dhcpv4 reply packets when dst. ip is broadcast2023-07-17T13:58:25ZSergey FominSet broadcast mac in dhcpv4 reply packets when dst. ip is broadcastWhen a DHCPv4 client sends messages with the broadcast flag enabled, kea-dhcp4 server correctly responds with a packets destined to the broadcast IP (255.255.255.255), however, the dst. mac address is still set as a client's unicast addr...When a DHCPv4 client sends messages with the broadcast flag enabled, kea-dhcp4 server correctly responds with a packets destined to the broadcast IP (255.255.255.255), however, the dst. mac address is still set as a client's unicast address.
According to rfc2131 (section 4.1), broadcast mac should be used instead:
> A server or relay agent sending or relaying a DHCP message directly
> to a DHCP client (i.e., not to a relay agent specified in the
> 'giaddr' field) SHOULD examine the BROADCAST bit in the 'flags'
> field. **If this bit is set to 1, the DHCP message SHOULD be sent as
> an IP broadcast using an IP broadcast address (preferably 0xffffffff)
> as the IP destination address and the link-layer broadcast address as
> the link-layer destination address.** If the BROADCAST bit is cleared
> to 0, the message SHOULD be sent as an IP unicast to the IP address
> specified in the 'yiaddr' field and the link-layer address specified
> in the 'chaddr' field. If unicasting is not possible, the message
> MAY be sent as an IP broadcast using an IP broadcast address
> (preferably 0xffffffff) as the IP destination address and the link-
> layer broadcast address as the link-layer destination address.
**Environment:**
- Kea version: 2.1.0
- OS: Ubuntukea2.3.0Francis DupontFrancis Duponthttps://gitlab.isc.org/isc-projects/kea/-/issues/1922missing references in option code points2023-07-17T13:58:22ZFrancis Dupontmissing references in option code pointsThere is inconsistency in comments for DHCPv4 and DHCPv6 Option codes - `enum DHCPOptionType` in `dhcp4.h` and `enum DHCPv6OptionType` in `dhcp6.h` respectively.
In comments, there are references to RFCs for each Option. Some references ...There is inconsistency in comments for DHCPv4 and DHCPv6 Option codes - `enum DHCPOptionType` in `dhcp4.h` and `enum DHCPv6OptionType` in `dhcp6.h` respectively.
In comments, there are references to RFCs for each Option. Some references are missing and some are not up to date.
For instance the DHCPv4 option 146 DHO_RDNSS_SELECT has no comment giving its source (RFC 6731) and the last source does not apply (option 145 DHO_FORCERENEW_NONCE_CAPABLE RFC 5859).
BTW sources are available in the IANA option code directory [https://www.iana.org/assignments/bootp-dhcp-parameters/bootp-dhcp-parameters.xhtml#options]
Even it is in the code (vs doc directory) it is clearly a documentation issue.kea2.3.6Piotrek ZadrogaPiotrek Zadrogahttps://gitlab.isc.org/isc-projects/kea/-/issues/1825dhcp pkt getIndex() and setIndex() should use int64_t instead of uint32_t typ...2023-03-30T02:33:46Zbglsriramdhcp pkt getIndex() and setIndex() should use int64_t instead of uint32_t type for ifindex
**Describe the bug**
https://github.com/isc-projects/kea/commit/2a453ec2f66ea4681283df5a4d9e99410a974507 modified ifindex_ to int64_t from an earlier int type and introduced methods: resetIndex() which sets ifindex_ to -1 and indexSet()...
**Describe the bug**
https://github.com/isc-projects/kea/commit/2a453ec2f66ea4681283df5a4d9e99410a974507 modified ifindex_ to int64_t from an earlier int type and introduced methods: resetIndex() which sets ifindex_ to -1 and indexSet() which checks if ifindex_ is greater than equal to 0
However, the getIndex() and setIndex() methods still work with a uint32_t ifindex and this causes ifindex to be truncated for the users of these 2 methods.
So, if a resetIndex() is followed either by getIndex() OR setIndex()[for example - copying of pkt], indexSet() invocation on the same pkt will return true.
**To Reproduce**
Steps to reproduce the behavior:
1. Run Kea dhcpv4
2. Install a pkt4_receive() kea dhcp library hook which does a query4/pkt->resetIndex()
3. IfaceMgr::getIface(const PktPtr& pkt) will return an invalid interface.
**Expected behavior**
If a resetIndex() is followed either by getIndex() OR setIndex()[for example - copying of pkt], indexSet() invocation on the same pkt should return false.
**Environment:**
- Kea version: 1.8.2
- OS: Ubuntu 16.04 x64
- Which features were compiled in (in particular which backends): Stock features enabled in the Makefile.
- If/which hooks where loaded in: libdhcp_ha.so, libdhcp_lease_cmds.so, libdhcp_stat_cmds.so and a custom hook to reproduce the issue by installing a pkt4_receive() kea dhcp library hook which does a query4/pkt->resetIndex()
**Additional Information**
**Contacting you**
bglsriram@gmail.comkea1.9.11Andrei Pavelandrei@isc.orgAndrei Pavelandrei@isc.orghttps://gitlab.isc.org/isc-projects/kea/-/issues/1738Improve VLAN filtering for raw sockets2024-03-14T10:45:38ZTomek MrugalskiImprove VLAN filtering for raw socketsThere were several reports of users struggling with mixed VLAN setups: some interfaces are physical and some are tagged:
* https://lists.isc.org/pipermail/kea-users/2020-February/002619.html (the discussion is long)
The goal of this ti...There were several reports of users struggling with mixed VLAN setups: some interfaces are physical and some are tagged:
* https://lists.isc.org/pipermail/kea-users/2020-February/002619.html (the discussion is long)
The goal of this ticket is to extend the LPF/BPF code to better handle tagged packets.backloghttps://gitlab.isc.org/isc-projects/kea/-/issues/1724How to define Kreatel options in KEA which have been used in isc-dhcp server ?2021-03-11T16:49:35ZJozef RebjakHow to define Kreatel options in KEA which have been used in isc-dhcp server ?I need to migrate these options to KEA
```
class "STB" { match option vendor-class-identifier; }
subclass "STB" "Motorola_VIP1003";
subclass "STB" "ARRIS_VIP1113";
subclass "STB" "ARRIS_VIP4205";
subclass "STB" "ARRIS_VIP4205_VU";
subcl...I need to migrate these options to KEA
```
class "STB" { match option vendor-class-identifier; }
subclass "STB" "Motorola_VIP1003";
subclass "STB" "ARRIS_VIP1113";
subclass "STB" "ARRIS_VIP4205";
subclass "STB" "ARRIS_VIP4205_VU";
subclass "STB" "ARRIS_VIP4302";
subclass "STB" "ARRIS_VIP4302BT";
pool {
allow members of "STB";
vendor-option-space Kreatel;
option Kreatel.splash-protocol "363";
option Kreatel.kernel-protocol "363";
option Kreatel.bootcast-address "1.1.1.1:55555";
option Kreatel.firmware-log "1.1.1.1:19999";
option Kreatel.http-server "boot.tv.example.com";
}
```
I already migrated class "STB" from isc-dhcp to a new format and tried to specify option-data to that class, but kea is not able to start with log:
> DHCP4_PARSER_FAIL failed to create or run parser for configuration element client-classes: definition for the option 'dhcp4.Kreatel.splash-protocol' does not exist (/etc/kea/class-STB.conf:6:21)
```
{
"name": "STB",
"test" : "substring(option[60].hex,0,6) == 'VIP'",
"option-data": [
{
"name": "Kreatel.splash-protocol",
"data": "363"
},
{
"name": "Kreatel.kernel-protocol",
"data": "363"
},
{
"name": "Kreatel.bootcast-address",
"data": "1.1.1.1:55555"
},
{
"name": "Kreatel.firmware-log",
"data": "1.1.1.1:19999"
},
{
"name": "Kreatel.http-server",
"data": "boot.tv.example.com"
}
]
}
```
Can somebody help?
Thank you.