Take interface name as parameter; don't assume ethwe

This commit is contained in:
Bryan Boreham committed 2014-10-06 13:37:09 +01:00
1 parent 710fb135a6
commit 69c415741e
2 files changed
+15 -10

No files matched your search

+13 -8
View File
@@ -97,18 +97,23 @@ func findInterface(ifaceName string) (iface *net.Interface, err error) {
func main() {
var (
dnsPort int
wait int
ifaceName string
dnsPort int
wait int
)
flag.IntVar(&wait, "wait", 5, "number of seconds to wait for interface to be created and come up (defaults to 5)")
flag.StringVar(&ifaceName, "iface", "", "name of interface to use for multicast")
flag.IntVar(&wait, "wait", 0, "number of seconds to wait for interface to be created and come up (defaults to 0)")
flag.IntVar(&dnsPort, "dnsport", 53, "port to listen to dns requests (defaults to 53)")
flag.Parse()
ifaceName := "ethwe"
_, err := ensureInterface(ifaceName, wait)
if err != nil {
log.Fatal(err)
var iface *net.Interface = nil
if ifaceName != "" {
var err error
iface, err = ensureInterface(ifaceName, wait)
if err != nil {
log.Fatal(err)
}
}
LocalServeMux := dns.NewServeMux()
@@ -118,7 +123,7 @@ func main() {
MDNSServeMux := dns.NewServeMux()
MDNSServeMux.HandleFunc("local", handleMDNS)
conn, err := weavedns.LinkLocalMulticastListener()
conn, err := weavedns.LinkLocalMulticastListener(iface)
if err != nil {
log.Fatal(err)
}
+2 -2
View File
@@ -60,8 +60,8 @@ func NewMDNSClient() (*MDNSClient, error) {
return retval, nil
}
func LinkLocalMulticastListener() (net.PacketConn, error) {
conn, err := net.ListenMulticastUDP("udp", nil, ipv4Addr)
func LinkLocalMulticastListener(ifi *net.Interface) (net.PacketConn, error) {
conn, err := net.ListenMulticastUDP("udp", ifi, ipv4Addr)
return conn, err
}