<div dir="ltr">Oops.  First let me apologize for an extra layer of complexity and confusion.  I started out with the entries for the system "twister" because it wasn't currently available and I didn't have to worry about corrupting its entries.  Then when I got to the point that I wanted to be able to try stuff out, I switched to "bringebaer".  There are no entries that need to mix these two strings - they should all be one or the other.<div><br></div><div>So - I tried this out:</div><div><font face="monospace">    "reservations-global": true,<br>    "reservations": [<br>      {<br>        "hostname": "bringebaer",<br>        "ip-address": "192.168.1.57",<br>        "client-id": "'bringebaer'"<br>      }<br>    ]</font></div><div><br></div><div>So - then I did the syntax check:</div><div><br></div><div><font face="monospace">root@remo:/home/john/xfer # !kea<br>kea-dhcp4 -t kea-head.conf<br>2025-02-09 16:39:51.055 INFO  [kea-dhcp4.hosts/3198.0x2cae30212000] HOSTS_BACKENDS_REGISTERED the following host backend types are available: <br>2025-02-09 16:39:51.088 WARN  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000] DHCPSRV_MT_DISABLED_QUEUE_CONTROL disabling</font> <font face="monospace">dhcp queue control when multi-threading is enabled.<br>2025-02-09 16:39:51.088 WARN  [kea-dhcp4.dhcp4/3198.0x2cae30212000] DHCP4_RESERVATIONS_LOOKUP_FIRST_ENABLED Multi-threading is enabled and host reservations lookup is always performed first.<br>2025-02-09 16:39:51.101 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000] DHCPSRV_CFGMGR_NEW_SUBNET4 a new subnet has been added to configuration: <a href="http://192.168.1.0/24">192.168.1.0/24</a> with params: valid-lifetime=2592000<br>2025-02-09 16:39:51.125 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000] DHCPSRV_CFGMGR_SOCKET_TYPE_SELECT using socket type raw<br>2025-02-09 16:39:51.127 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000] DHCPSRV_CFGMGR_ADD_IFACE listening on interface ue0<br>2025-02-09 16:39:51.128 INFO  [kea-dhcp4.dhcpsrv/3198.0x2cae30212000] DHCPSRV_CFGMGR_SOCKET_TYPE_DEFAULT "dhcp-socket-type" not specified , using default socket type raw</font></div><div><br></div><div>No errors!  Tomorrow I'll have to munge all the entries and try it out.</div><div><br></div><div>Thank you!</div></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sun, Feb 9, 2025 at 4:38 AM Darren Ankney <<a href="mailto:darren.ankney@gmail.com">darren.ankney@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi John,<br>
<br>
That is really interesting that this:<br>
<br>
host bringebaer { fixed-address <a href="http://bringebaer.starfire.mn.org" rel="noreferrer" target="_blank">bringebaer.starfire.mn.org</a>;<br>
        option dhcp-client-identifier "bringebaer";<br>
 }<br>
<br>
somehow matches the client-identifier<br>
(<a href="https://www.rfc-editor.org/rfc/rfc2132#section-9.14" rel="noreferrer" target="_blank">https://www.rfc-editor.org/rfc/rfc2132#section-9.14</a>).  ISC DHCP man<br>
page does say that you can match the dhcp-client-identifier option in<br>
a host object: <a href="https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpd#the-host-object" rel="noreferrer" target="_blank">https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpd#the-host-object</a><br>
Kea can too (<a href="https://kea.readthedocs.io/en/kea-2.6.1/arm/dhcp4-srv.html#fine-tuning-dhcpv4-host-reservation" rel="noreferrer" target="_blank">https://kea.readthedocs.io/en/kea-2.6.1/arm/dhcp4-srv.html#fine-tuning-dhcpv4-host-reservation</a>):<br>
<br>
"Kea currently supports four types of identifiers: hw-address, duid,<br>
client-id, and circuit-id."<br>
<br>
Perhaps this:<br>
<br>
    {<br>
        "hostname": "bringebaer",<br>
        "ip-address": "192.168.1.57",<br>
        "client-id": "'twister'"<br>
      },<br>
<br>
(note the single quotes around twister inside the double quotes) but<br>
you might want to perform a packet capture to confirm that your client<br>
actually has a hostname in the client-id field.  I've not seen that<br>
previously.  Option 61 normally isn't present at all or contains the<br>
mac address.  But if this was working in ISC DHCP perhaps these are<br>
some devices I've not paid attention to before.<br>
<br>
Thank you,<br>
Darren Ankney<br>
<br>
On Sat, Feb 8, 2025 at 3:34 PM John Lind <<a href="mailto:steinhelten@gmail.com" target="_blank">steinhelten@gmail.com</a>> wrote:<br>
><br>
> I apologize - there's a typo in the subject line.  It should be dhcp-client-identifier (with an "r" at the end, not a "d').<br>
><br>
> Anyway, I tried running "kea-dhcp4 -t" on one of these files and got this back:<br>
> 2025-02-08 14:18:27.503 ERROR [kea-dhcp4.dhcp4/94820.0x50554e412000] DHCP4_PARSER_FAIL failed to create or run parser for configuration element reservations: one of the supported identifiers must be specified for host reservation: circuit-id, client-id, duid, flex-id, hw-address (kea-head.conf:135:7)<br>
> Error encountered: one of the supported identifiers must be specified for host reservation: circuit-id, client-id, duid, flex-id, hw-address (kea-head.conf:135:7)<br>
> So - I don't see anything in that list that would correspond to what I've been doing with ISC-dhcp. I tried making up the syntax for client ID, and it didn't like that, either...<br>
>       {<br>
>         "hostname": "bringebaer",<br>
>         "ip-address": "192.168.1.57",<br>
>         "client-id": "twister"<br>
>       },<br>
> And the parser said:<br>
><br>
> 2025-02-08 14:32:29.031 ERROR [kea-dhcp4.dhcp4/94837.0x5775ffa12000] DHCP4_PARSER_FAIL failed to create or run parser for configuration element reservations: invalid host identifier value 'twister' (kea-head.conf:135:7)<br>
> Error encountered: invalid host identifier value 'twister' (kea-head.conf:135:7)<br>
><br>
><br>
> On Sat, Feb 8, 2025 at 12:50 PM John Lind <<a href="mailto:steinhelten@gmail.com" target="_blank">steinhelten@gmail.com</a>> wrote:<br>
>><br>
>> Hey, all.  I've spent hours watching recorded webinars, reading documentation, and doing web searches in vain to try to figure out how to get these reservations to work in kea.<br>
>><br>
>> For some of my devices / systems I like to use a value sent by the client rather than the hardware address to match them to a reservation.  This is especially useful in two cases<br>
>> 1) when I don't know the MAC address<br>
>> 2) when a device has different ways of connecting to my network (WiFi versus hardwired, and maybe different ethernet ports) but I want it to get the same IP address regardless of how it connects.<br>
>><br>
>> For reference, here's how the values appear in the ISC dhcp leases file when there's not a reservation (yet).<br>
>><br>
>>         client-hostname "MyQ-5C9";<br>
>>         client-hostname "casper";<br>
>>         client-hostname "StreamingStick4K-ET5";<br>
>>         client-hostname "Pixel-6a";<br>
>>         client-hostname "Paige-s-S23-Ultra";<br>
>>         client-hostname "Milea-s-S20-FE";<br>
>>         client-hostname "DESKTOP-7424SLE";<br>
>>         client-hostname "Pixel-8-Pro";<br>
>>         client-hostname "Pixel-7a";<br>
>><br>
>> Here's an example of how I represent that in the dhcpd.conf file:<br>
>>  host bringebaer { fixed-address <a href="http://bringebaer.starfire.mn.org" rel="noreferrer" target="_blank">bringebaer.starfire.mn.org</a>;<br>
>>         option dhcp-client-identifier "bringebaer";<br>
>>         }<br>
>> So, of course, keama is going to translate the FQDN to an IP address, but the rest of what it does doesn't seem like what I want:<br>
>><br>
>>       {<br>
>>         "hostname": "bringebaer",<br>
>>         "ip-address": "192.168.1.57",<br>
>>         "option-data": [<br>
>>           {<br>
>>             "space": "dhcp4",<br>
>>             "name": "dhcp-client-identifier",<br>
>>             "code": 61,<br>
>> //          "original-data": "\"bringebaer\"",<br>
>>             "csv-format": false,<br>
>>             "data": "6272696e676562616572"<br>
>>           }<br>
>>         ]<br>
>>       },<br>
>> Note - the "data" in the option is actually a string of hex digits which truly does spell out "bringebaer" but I really think that keama is mapping dhcp-client-identifier to completely the wrong thing.<br>
>><br>
>> If anyone can set me on the right course, I sure would appreciate it.<br>
>><br>
>> --<br>
>> John Lind<br>
>> <a href="mailto:steinhelten@gmail.com" target="_blank">steinhelten@gmail.com</a><br>
>><br>
> --<br>
> ISC funds the development of this software with paid support subscriptions. Contact us at <a href="https://www.isc.org/contact/" rel="noreferrer" target="_blank">https://www.isc.org/contact/</a> for more information.<br>
><br>
> To unsubscribe visit <a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a>.<br>
><br>
> Kea-users mailing list<br>
> <a href="mailto:Kea-users@lists.isc.org" target="_blank">Kea-users@lists.isc.org</a><br>
> <a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a><br>
-- <br>
ISC funds the development of this software with paid support subscriptions. Contact us at <a href="https://www.isc.org/contact/" rel="noreferrer" target="_blank">https://www.isc.org/contact/</a> for more information.<br>
<br>
To unsubscribe visit <a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a>.<br>
<br>
Kea-users mailing list<br>
<a href="mailto:Kea-users@lists.isc.org" target="_blank">Kea-users@lists.isc.org</a><br>
<a href="https://lists.isc.org/mailman/listinfo/kea-users" rel="noreferrer" target="_blank">https://lists.isc.org/mailman/listinfo/kea-users</a><br>
</blockquote></div>