# This file is created and was written by a Warewulf template. It is strongly
# suggested that you do not edit this file, but rather, edit the template and
# recreate this file using Warewulf (wwctl configure dhcp)

allow booting;
allow bootp;
ddns-update-style interim;
authoritative;

option space ipxe;

# Tell iPXE to not wait for ProxyDHCP requests to speed up boot.
option ipxe.no-pxedhcp code 176 = unsigned integer 8;
option ipxe.no-pxedhcp 1;

option architecture-type   code 93  = unsigned integer 16;

if exists user-class and option user-class = "iPXE" {
    filename "http://{{$.Ipaddr}}:{{.Port}}/ipxe/${mac:hexhyp}";
} else {
    if option architecture-type = 00:0B {
        filename "/warewulf/arm64.efi";
    } elsif option architecture-type = 00:0A {
        filename "/warewulf/arm32.efi";
    } elsif option architecture-type = 00:09 {
        filename "/warewulf/x86.efi";
    } elsif option architecture-type = 00:07 {
        filename "/warewulf/x86.efi";
    } elsif option architecture-type = 00:06 {
        filename "/warewulf/i386.efi";
    } elsif option architecture-type = 00:00 {
        filename "/warewulf/i386.kpxe";
    }
}


subnet {{$.Network}} netmask {{$.Netmask}} {
    next-server {{$.Ipaddr}};
}

{{range $nodes := .Nodes}}
host {{$nodes.Id.Get}} {
   hardware ethernet {{$nodes.NetDevs.eth0.Hwaddr.Get}};
   fixed-address {{$nodes.NetDevs.eth0.Ipaddr.Get}};
}
{{end}}
