remove DNS lookups from IPv6 check, close the connection

log ipv6 availability logic

more debugging for ipv6 availability checks

more debugging for ipv6 availability checks
This commit is contained in:
Alex
2025-02-12 20:49:57 -05:00
committed by Cuong Manh Le
parent 23e6ad6e1f
commit c329402f5d
4 changed files with 14 additions and 2 deletions

View File

@@ -102,11 +102,14 @@ func (m *mdns) init(quitCh chan struct{}) error {
v4ConnList = append(v4ConnList, conn)
go m.readLoop(conn)
}
ctrld.ProxyLogger.Load().Debug().Msgf("checking for IPv6 availability in mdns init")
if ctrldnet.IPv6Available(context.Background()) {
if conn, err := net.ListenMulticastUDP("udp6", &iface, mdnsV6Addr); err == nil {
v6ConnList = append(v6ConnList, conn)
go m.readLoop(conn)
}
} else {
ctrld.ProxyLogger.Load().Debug().Msgf("IPv6 is not available in mdns init")
}
}

View File

@@ -49,8 +49,12 @@ func init() {
}
func supportIPv6(ctx context.Context) bool {
_, err := probeStackDialer.DialContext(ctx, "tcp6", net.JoinHostPort(controldIPv6Test, "443"))
return err == nil
c, err := probeStackDialer.DialContext(ctx, "tcp6", v6BootstrapDNS)
if err != nil {
return false
}
c.Close()
return true
}
func supportListenIPv6Local() bool {