[Kea-users] Ddns not Updated when hostname is assigned via hw-address when using hook libdhcp_ddns_tuning.so

Peter Davies peterd at isc.org
Thu Jan 8 13:47:19 UTC 2026


  Hi Joop,
    What value do you have "ddns-replace-client-name" configured to?

Sending a DHCPDiscover with no hostname (option 12), I see the hostname 
created
by the ddns-tuning hook being sent back to the client and forwarded to 
kea-dhcp-ddns.

Using "ddns-replace-client-name": "always", and the previous 
"hostname-expr".

--- paste---
msg_type=DHCPACK (5), trans_id=0xa47b2617, secs=0, flags=0x0, 
yiaddr=192.168.20.100, giaddr=192.168.20.1,
options:
   type=001, len=004: 4294967040 (uint32)
   type=003, len=004: 192.168.20.1
   type=012, len=034: "vm-test-192-168-20-100.example.com" (string)
   type=051, len=004: 7200 (uint32)
   type=053, len=001: 5 (uint8)
   type=054, len=004: 192.168.10.1 (ipv4-address)
   type=082, len=016:,
options:
     type=001, len=014: 76:65:74:68:2d:72:65:6c:61:79:2d:63:6c:69 
'veth-relay-cli'
...
2026-01-08 13:42:54.089 DEBUG [kea-dhcp4.dhcpsrv/143967.139899928512384] 
DHCPSRV_DHCP_DDNS_NCR_SENT NameChangeRequest sent to kea-dhcp-ddns: 
Type: 0 (CHG_ADD)
Forward Change: yes
Reverse Change: yes
FQDN: [vm-test-192-168-20-100.example.com.]
IP Address: [192.168.20.100]
DHCID: 
[000001F868E6B22D81DAFE0535549E8A960F055026EA04BF615B53D5A1CE0479A4CD98]
Lease Expires On: 20260108142254
Lease Length: 2400
Conflict Resolution Mode: no-check-with-dhcid
---/paste---

/Peter
On 08/01/2026 12.02, Joop Boonen wrote:
> Hi Peter,
>
> The Problem is, as it looks like. If there is no hostname reserveration. (flex-
> id or hardware address etc).
> The hostname-expr doesn't have any effect.
> Therefor no ddns entry is written in dns.
>
> Regards,
>
> Joop.
>
> On Thursday, January 8, 2026 10:13:58 AM Central European Standard Time Peter
> Davies wrote:
>> Hi Joop,
>>     Could you try this "hostname-expr" in your ddns-tuning parameters:
>> "hostname-expr" : "'vm-test-' +
>> uint8totext(substring(option[50].hex,0,1)) + '-' +
>> uint8totext(substring(option[50].hex,1,1)) + '-' +
>> uint8totext(substring(option[50].hex,2,1)) + '-' +
>> uint8totext(substring(option[50].hex,3,1))"
>> You need not define a flex-id or load the flex-id hooks library if you
>> do not use host reservations that depend on flex-ids's
>> /Peter
>>
>> On 06/01/2026 14.42, Peter Davies wrote:
>>>   "hostname-expr" : "concat('vm-test-',addrtotext(option[50].hex))"

-- 
Peter Davies
Support Engineer
Internet Systems Corporation



More information about the Kea-users mailing list