[Kea-users] Inquiry Regarding Integration of Kea DHCP with DOCSIS Cable Modem DHCP Requests

Darren Ankney darren.ankney at gmail.com
Wed Nov 29 20:34:22 UTC 2023


Hi Fernando,

There might be other ways to do it, but one way I can think of is to
use the API to add reservations
(https://kea.readthedocs.io/en/kea-2.4.1/arm/hooks.html#libdhcp-host-cmds-so-host-commands)
based on your database records.  Reservations can contain the
next-server and boot-file-name directives
(https://kea.readthedocs.io/en/kea-2.4.1/arm/dhcp4-srv.html#reserving-next-server-server-hostname-and-boot-file-name).
As far as limiting to certain matches of mac address or option 82
data, reserving by hw-address is certainly possible.  Reserving by
82.1 (circuit-id) is as well.  If you are referring to option 82.2
(remote-id), I'm not entirely certain you can make a reservation by
this sub-option.

Another way you might accomplish this is to write your own hook that
would query the database using certain parameters during certain
events.  See: https://reports.kea.isc.org/dev_guide/df/d46/hooksdgDevelopersGuide.html
for details.

Thank you,

Darren Ankney

This would require a support subscription or purchase of hooks as the
host_cmds hook library is a premium hook.

On Wed, Nov 29, 2023 at 3:12 PM Fernando R. Soto <frsoto at gmail.com> wrote:
>
> Dear ISC Support Team,
>
>
>
> I hope this email finds you well. I am reaching out to seek guidance on integrating Kea DHCP with DHCP requests originating from DOCSIS cable modems.
>
>
>
> My inquiry revolves around configuring the DHCP Server to, upon receiving a DHCP Discover and detecting that it originates from a cable modem, utilize the client-class option as follows:
>
> "client-classes": [
>
>     {
>
>         "name": "Cablemodem",
>
>         "test": "substring(option[60].hex, 0, 6) == 'docsis'",
>
>         "next-server": "192.168.10.43",
>
>         "boot-file-name": "default.bin"
>
>     }
>
> ],
>
>
>
> The goal is for Kea DHCP, in responding to the boot-file-name, to execute a query against an SQL table. This query would seek the MAC address of the cable modem, present in both the Client MAC address field ("ARRISGro_4c:d4:a2" or "98:6b:3d:4c:d4:a2") and option 82 ("Agent Information Option"). If the MAC is found in the table, it would fetch the corresponding value from the boot-file field. If no match is found, the response would default to "default.bin".
>
>
>
> I would appreciate any guidance or suggestions you can provide to achieve this scenario.
>
>
>
> Thank you in advance for your time and assistance.
>
>
>
> Best regards,
>
>
>
>
>
> --
> ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.
>
> To unsubscribe visit https://lists.isc.org/mailman/listinfo/kea-users.
>
> Kea-users mailing list
> Kea-users at lists.isc.org
> https://lists.isc.org/mailman/listinfo/kea-users


More information about the Kea-users mailing list