[Kea-users] [External] - Re: Option Class-Tagging Configuration
Darren Ankney
darren.ankney at gmail.com
Tue Jan 14 21:50:23 UTC 2025
Hello Isaac,
Assuming you really need to set these options per subnet, and cannot
relocate them to the global client class, then you might have to
combine this new option with some more traditional trickery. Perhaps
additional-client-class
(https://kea.readthedocs.io/en/kea-2.7.5/arm/dhcp4-srv.html#additional-classification)
might help? Your goal would be to isolate these so that you only set
one per "option-data": { } so they don't overwrite each other. You
can use multiple additional client classes in each subnet to
accomplish this.
Thank you,
Darren Ankney
On Tue, Jan 14, 2025 at 3:47 PM Isaac Brummel <ibrummel at xes-inc.com> wrote:
>
> Hi Darren,
>
> Thanks you for the response. Unfortunately this did not work, still no options are sent if both are defined. It also would not scale above two entries which is problematic with multiple PXE client versions. What I'm trying to replicate is the "if" statements in the now old isc-dhcp server:
>
> if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00006" {
> filename "i386-efi/ipxe.efi";
> }
>
> if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00002" {
> filename "i386-efi/ipxe.efi";
> }
>
> if substring(option vendor-class-identifier, 0, 20) = "PXEClient:Arch:00007" {
> filename "ipxe.efi";
> }
>
> Do you know if this is possible with Kea at this moment? Or through a hook?
>
> Thanks,
>
> Isaac
> ________________________________
> From: Kea-users <kea-users-bounces at lists.isc.org> on behalf of Darren Ankney <darren.ankney at gmail.com>
> Sent: Tuesday, January 14, 2025 2:24 PM
> To: Kea user's list <kea-users at lists.isc.org>
> Subject: [External] - Re: [Kea-users] Option Class-Tagging Configuration
>
> Hi Isaac,
>
> I have not yet experimented with the new "option class-tagging"
> feature, but I can guess that what is happening to you here is that
> the same name in the second option is causing the first option's data
> to be overwritten. Perhaps try using the code for one of them instead
> of the name (not 100% sure that is a valid workaround). The code for
> 'boot-file-name' seems to be 67. So replace "name": "boot-file-name"
> with "code": 67 in one of them perhaps?
>
> Thank you,
> Darren Ankney
>
> On Tue, Jan 14, 2025 at 2:20 PM Isaac Brummel <ibrummel at xes-inc.com> wrote:
> >
> > Hello,
> >
> > I'm trying to use the new "option class-tagging" feature from 2.7.4 to dynamically set boot-file-name to a different value for every subnet. I'm running into an issue where if I have two entries in the "option-data" one for legacy ipxe and one for EFI ipxe none get set, see the below config for an example. If I only set one such as only having the "ipxe_legacy" client class then it correctly sends the boot-file-name. Is there something I'm missing, or a better way to handle this?
> >
> > "client-classes": [
> > {
> > "name": "ipxe_legacy",
> > "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00000'"
> > },
> > {
> > "name": "ipxe_efi",
> > "test": "substring(option[60].hex,0,20) == 'PXEClient:Arch:00007'"
> > }
> > ],
> > "subnet4": [
> > {
> > "id": 1,
> > "subnet": "10.10.10.0/24",
> > "calculate-tee-times": true,
> > "valid-lifetime": 60,
> > "ddns-qualifying-suffix": "kea-dev.com",
> > "client-classes": [],
> > "option-data": [],
> > "pools": [
> > {
> > "pool": "10.10.10.100 - 10.10.10.150",
> > "option-data": [
> > {
> > "client-classes": [
> > "ipxe_legacy"
> > ],
> > "name": "boot-file-name",
> > "data": "ipxe/netboot.xyz.kpxe"
> > },
> > {
> > "client-classes": [
> > "ipxe_efi"
> > ],
> > "name": "boot-file-name",
> > "data": "ipxe/netboot.xyz.efi"
> > },
> > {
> > "name": "routers",
> > "data": "10.10.10.1"
> > },
> > {
> > "name": "domain-name-servers",
> > "data": "10.10.10.1, 10.10.10.2"
> > }
> > ]
> > }
> > ]
> > }
> > ]
> >
> > Thanks,
> >
> > Isaac Brummel
> > System Administrator
> > Extreme Engineering Solutions
> > --
> > 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
> --
> 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
> CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> --
> 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