{{- if .Dhcp.Enabled }}
# This file is autogenerated by warewulf 
# Host:   {{.BuildHost}}
# Time:   {{.BuildTime}}
# Source: {{.BuildSource}}
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}}:{{$.Warewulf.Port}}/ipxe/${mac:hexhyp}";
} else {
    if option architecture-type = 00:0B {
        filename "/warewulf/arm64.efi";
#    } elsif option architecture-type = 00:0A {
# Still need to add this to staticfiles
#        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}} {
    max-lease-time 120;
    range {{$.Dhcp.RangeStart}} {{$.Dhcp.RangeEnd}};
    next-server {{$.Ipaddr}};
}
{{- else }}
{{ abort }}
{{- end }}

