DHCP
DHCP is powered by CoreDHCP. CoreDHCP is an extensible DHCP client and server purely written in golang.
SPR maintains a fork with one additional plugin:
Tiny Subnets
This plugin will call into the core API to get DHCP client addresses and options to assign.
After receiving a DHCP request, it will query the API with the following parameters
type DHCPRequest struct {
MAC string
Identifier string
Name string
Iface string
}
And the API will respond with IP, Router, DNS, and Lease time to construct a packet
type DHCPResponse struct {
IP string
RouterIP string
DNSIP string
LeaseTime string
}