internal/dhcpd décide quelles options partent vers quelle MAC, sans I/O ni état. L'encodage RFC 3442 de l'option 121 est délégué à la bibliothèque, qui le teste elle-même. L'option 3 est omise plutôt qu'envoyée vide : la dhcp-option=3 nue n'existait que pour empêcher dnsmasq d'annoncer sa propre adresse. La route par défaut est conditionnée au subnet (DefaultGateway) et à l'interface (Host.DefaultRoute), ce qui remplace le mécanisme de tags. 24 tests plus un fuzz sur BuildReply. Les assertions d'encodage sont validées par mutation. Signed-off-by: GnomeZworc <nicolas.boufidjeline@g3e.fr>
29 lines
420 B
Go
29 lines
420 B
Go
package dhcpd
|
|
|
|
import (
|
|
"net"
|
|
"time"
|
|
)
|
|
|
|
const LeaseTime = 12 * time.Hour
|
|
|
|
func DNSServers() []net.IP {
|
|
return []net.IP{
|
|
net.IPv4(1, 1, 1, 1),
|
|
net.IPv4(8, 8, 8, 8),
|
|
}
|
|
}
|
|
|
|
type SubnetConfig struct {
|
|
Network *net.IPNet
|
|
InterfaceIP net.IP
|
|
VPCRoute *net.IPNet
|
|
DefaultGateway net.IP
|
|
}
|
|
|
|
type Host struct {
|
|
MAC net.HardwareAddr
|
|
IP net.IP
|
|
VM string
|
|
DefaultRoute bool
|
|
}
|