Kea 1.9.8 is not working with Dell X1052
name: Bug report
about: Create a report to help us improve
Describe the bug: Kea does not work with Dell X1052 switch. While having no issues with old dhcpd or any other dhcp server.
To Reproduce Steps to reproduce the behavior:
- Run Kea (dhcpv4) with the configuration that is provided below.
- A client sends
DISCOVER
packet. - Kea answers with
OFFER
. - Client does not follow with
REQUEST
.
Expected behavior:
The client is supposed to send back REQUEST
packet.
Environment:
- Kea version: 1.9.8
- OS: Ubuntu 20.04.2 LTS
- If/which hooks where loaded in: libdhcp_lease_cmds.so, libdhcp_stat_cmds.so, libdhcp_ha.so. But, as I mentioned, tried it with the default configuration and result was the same.
Additional Information
Configuration:
{
"Dhcp4": {
"next-server": "10.5.255.254",
"boot-file-name": "/dev/null",
"echo-client-id": false,
"loggers": [
{
"name": "kea-dhcp4",
"output_options": [
{
"output": "/var/log/kea/dhcp4.log"
}
],
"severity": "DEBUG",
"debuglevel": 99
}
],
"valid-lifetime": 300,
"max-valid-lifetime": 300,
"interfaces-config": {
"interfaces": [
"eno1/10.5.255.254"
]
},
"lease-database": {
"type": "memfile",
"persist": true,
"name": "/tmp/kea-ipv4-leases.csv",
"lfc-interval": 600
},
"option-data": [
{
"space": "dhcp4",
"name": "domain-name-servers",
"code": 6,
"data": "8.8.8.8"
}
],
"shared-networks": [
{
"name": "test",
"subnet4": [
{
"subnet": "10.5.0.0/16",
"pools": [
{
"pool": "10.5.20.100 - 10.5.40.100"
}
],
"option-data": [
{
"space": "dhcp4",
"name": "routers",
"code": 3,
"data": "10.5.0.1"
}
]
}
]
}
]
}
}
Kea debug output:
2021-06-07 21:26:36.579 DEBUG [kea-dhcp4.dhcpsrv/736980.140690847578560] DHCPSRV_CFGMGR_SUBNET4_ADDR selected subnet 10.5.0.0/16 for packet received by matching address 10.5.255.254
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.packets/736980.140690847578560] DHCP4_SUBNET_SELECTED [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: the subnet with ID 1 was selected for client assignments
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.packets/736980.140690847578560] DHCP4_SUBNET_DATA [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: the selected subnet details: 10.5.0.0/16
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv4 reservation for subnet id 1, identified by hwaddr=684F64BE59E3
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using identifier: hwaddr=684F64BE59E3
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier hwaddr=684F64BE59E3, found 0 host(s)
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet id 1 and identifier hwaddr=684F64BE59E3
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER get one host with IPv4 reservation for subnet id 1, identified by client-id=01684F64BE59E3
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ALL_IDENTIFIER get all hosts with reservations using identifier: client-id=01684F64BE59E3
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ALL_IDENTIFIER_COUNT using identifier client-id=01684F64BE59E3, found 0 host(s)
2021-06-07 21:26:36.580 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ONE_SUBNET_ID_IDENTIFIER_NULL host not found using subnet id 1 and identifier client-id=01684F64BE59E3
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.dhcp4/736980.140690847578560] DHCP4_CLASS_ASSIGNED [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: client packet has been assigned to the following class(es): UNKNOWN
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.dhcp4/736980.140690847578560] DHCP4_CLASS_ASSIGNED [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: client packet has been assigned to the following class(es): ALL, VENDOR_CLASS_X1052, UNKNOWN
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.ddns/736980.140690847578560] DHCP4_CLIENT_HOSTNAME_PROCESS [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: processing client's Hostname option
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.dhcpsrv/736980.140690847578560] DHCPSRV_MEMFILE_GET_CLIENTID obtaining IPv4 leases for client ID 01:68:4f:64:be:59:e3
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.dhcpsrv/736980.140690847578560] DHCPSRV_MEMFILE_GET_HWADDR obtaining IPv4 leases for hardware address hwtype=1 68:4f:64:be:59:e3
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.alloc-engine/736980.140690847578560] ALLOC_ENGINE_V4_OFFER_NEW_LEASE allocation engine will try to offer new lease to the client [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed
2021-06-07 21:26:36.581 DEBUG [kea-dhcp4.dhcpsrv/736980.140690847578560] DHCPSRV_MEMFILE_GET_ADDR4 obtaining IPv4 lease for address 10.5.20.163
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.dhcpsrv/736980.140690847578560] DHCPSRV_MEMFILE_GET_ADDR4 obtaining IPv4 lease for address 10.5.20.164
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4 get one host with reservation for subnet id 1 and IPv4 address 10.5.20.164
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ALL_ADDRESS4 get all hosts with reservations for IPv4 address 10.5.20.164
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ALL_ADDRESS4_COUNT using address 10.5.20.164, found 0 host(s)
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.hosts/736980.140690847578560] HOSTS_CFG_GET_ONE_SUBNET_ID_ADDRESS4_NULL host not found using subnet id 1 and address 10.5.20.164
2021-06-07 21:26:36.582 INFO [kea-dhcp4.leases/736980.140690847578560] DHCP4_LEASE_ADVERT [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: lease 10.5.20.164 will be advertised
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.options/736980.140690847578560] DHCP4_PACKET_PACK [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: preparing on-wire format of the packet to be sent
2021-06-07 21:26:36.582 DEBUG [kea-dhcp4.packets/736980.140690847578560] DHCP4_PACKET_SEND [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: trying to send packet DHCPOFFER (type 2) from 10.5.255.254:67 to 255.255.255.255:68 on interface eno1
2021-06-07 21:26:36.583 DEBUG [kea-dhcp4.packets/736980.140690847578560] DHCP4_RESPONSE_DATA [hwtype=1 68:4f:64:be:59:e3], cid=[01:68:4f:64:be:59:e3], tid=0x9d0e4aed: responding with packet DHCPOFFER (type 2), packet details: local_address=10.5.255.254:67, remote_address=255.255.255.255:68, msg_type=DHCPOFFER (2), transid=0x9d0e4aed,
options:
type=001, len=004: 4294901760 (uint32)
type=003, len=004: 10.5.0.1
type=006, len=004: 8.8.8.8
type=051, len=004: 300 (uint32)
type=053, len=001: 2 (uint8)
type=054, len=004: 10.5.255.254
type=061, len=007: 01:68:4f:64:be:59:e3
PCAP when DELL x1052 is trying to get dhcp from Kea (not working): kea.pcap
PCAP when DELL x1052 is trying to get dhcp from dhcpd (working as expected): dhcpd.pcap
- There are no errors or related logs in X1052 switch.
- If offer is sent from any other dhcp server Dell switch accepts it and sends
REQUEST
back as expected. Then you can start Kea and it will continue to work with Kea as well, as theoffer
part is already 'done' andREQUEST
packets are being sent from Dell. - Working on this with Dell support as well, but no results at the moment.
- If anyone has any insights of what could be tested to change this behaviour - please let me know.
If you need more details - just let me know and I will provide it.
Contacting you: Send a message in GitLab.