Files
haza/cmd/main.go

60 lines
1.3 KiB
Go
Raw Normal View History

2025-09-15 20:06:21 +09:00
package main
import "context"
import "fmt"
import "haza"
import "net"
import "os"
//import "time"
func main() {
var ds *haza.DhcpServer
var logger *AppLogger
var addr *net.UDPAddr
var addr2 *net.UDPAddr
var err error
// addr, err = net.ResolveUDPAddr("udp4", "0.0.0.0:10000")
addr, err = net.ResolveUDPAddr("udp4", "192.168.1.130:10000")
if err != nil {
fmt.Printf("Failed to resolve address - %s\n", err.Error())
os.Exit(-1)
}
addr2, err = net.ResolveUDPAddr("udp4", "192.168.1.114:10000")
if err != nil {
fmt.Printf("Failed to resolve address - %s\n", err.Error())
os.Exit(-1)
}
logger = NewAppLogger("client", os.Stderr, haza.LOG_ALL)
ds, err = haza.NewDhcpServer(context.Background(), "haza-dhcpd", logger)
if err != nil {
fmt.Printf("Failed to create dhcp server - %s\n", err.Error())
goto oops
}
// consider this if you want some more freedom on supported systems
// sysctl -w net.ipv4.ip_nonlocal_bind=1
//ds.AddListener("tun0", addr)
err = ds.AddListener4("enp1s0", addr)
if err != nil {
fmt.Printf("Failed to add listgener for %v - %s\n", addr, err.Error())
goto oops
}
err = ds.AddListener4("enp1s0", addr2)
if err != nil {
fmt.Printf("Failed to add listgener for %v - %s\n", addr2, err.Error())
goto oops
}
ds.StartService(nil)
ds.WaitForTermination()
os.Exit(0)
oops:
os.Exit(-1)
}