Hi Christoph,

In Kea, you could use class membership as a proxy for groups.  For
example, this:

group {
  if option pxe-system-type = 00:00 {
        filename "/linf/bookworm/boot/current-amd64/pxelinux.0";
  } elsif option pxe-system-type = 00:09 {
        filename "/linf/bookworm/boot/current-amd64/syslinux.efi";
  } elsif option pxe-system-type = 00:07 {
        filename "/linf/bookworm/boot/current-amd64/syslinux.efi";
  } elsif option pxe-system-type = 00:06 {
        filename "/linf/bookworm/boot/current-amd64/pxelinux.0";
  }

Would be setup in Kea as four classes with different test lines for
the pxe-system-type and value.  For example something like:

"client-classes": [
  {
    "name": "pxe-system-type-00:00",
    "test": "option[123].hex == '00:00'",
    "boot-file-name": "/linf/bookworm/boot/current-amd64/pxelinux.0"
  }
]

Where 123 is the option number of "pxe-system-type".  Repeat for the
other cases in the group shown.

Thank you,
Darren Ankney

On Fri, May 30, 2025 at 8:17 AM Christoph Pleger
<christoph.ple...@cs.tu-dortmund.de> wrote:
>
> Hello,
>
> in ISC DHCP Server, I used the group{} to group host entries, like this:
>
> group {
>   if option pxe-system-type = 00:00 {
>         filename "/linf/bullseye/boot/current-amd64/pxelinux.0";
>   } elsif option pxe-system-type = 00:09 {
>         filename "/linf/bullseye/boot/current-amd64/syslinux.efi";
>   } elsif option pxe-system-type = 00:07 {
>         filename "/linf/bullseye/boot/current-amd64/syslinux.efi";
>   } elsif option pxe-system-type = 00:06 {
>         filename "/linf/bullseye/boot/current-amd64/pxelinux.0";
>   }
>
>   option root-path "/linf/bullseye/nfsroot/current-amd64";
>
>   host mud1 {
>     hardware ethernet 00:1b:21:41:6a:69;
>     fixed-address 129.217.28.120;
>     option host-name "mud1";
>   }
>
>   host mud2 {
>     hardware ethernet 00:1b:21:41:6a:6d;
>     fixed-address 129.217.28.121;
>     option host-name "mud2";
>   }
> }
>
> group {
>   if option pxe-system-type = 00:00 {
>         filename "/linf/bookworm/boot/current-amd64/pxelinux.0";
>   } elsif option pxe-system-type = 00:09 {
>         filename "/linf/bookworm/boot/current-amd64/syslinux.efi";
>   } elsif option pxe-system-type = 00:07 {
>         filename "/linf/bookworm/boot/current-amd64/syslinux.efi";
>   } elsif option pxe-system-type = 00:06 {
>         filename "/linf/bookworm/boot/current-amd64/pxelinux.0";
>   }
>
>   option root-path "/linf/bookworm/nfsroot/current-amd64";
>
>   host mud3 {
>     hardware ethernet 00:1b:21:41:6a:46;
>     fixed-address 129.217.28.122;
>     option host-name "mud3";
>   }
>
>   host mud4 {
>     hardware ethernet 00:1b:21:41:6a:47;
>     fixed-address 129.217.28.123;
>     option host-name "mud4";
>   }
> }
>
> As you can see, the reason why I used different groups is that every
> group needs its own boot file names and root path. The boot file name
> does not only depend on the group, but also on the dhcp client-system
> option.
>
> How can I create host groups like this in KEA?
>
> Regards
>   Christoph
>
> --
> 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@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@lists.isc.org
https://lists.isc.org/mailman/listinfo/kea-users

Reply via email to