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) }