summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--net/interfaces/interfaces.go9
1 files changed, 8 insertions, 1 deletions
diff --git a/net/interfaces/interfaces.go b/net/interfaces/interfaces.go
index e9e21eabc..a5b4e5b34 100644
--- a/net/interfaces/interfaces.go
+++ b/net/interfaces/interfaces.go
@@ -82,6 +82,13 @@ func isProblematicInterface(nif *net.Interface) bool {
return false
}
+func isThunderboltBridgeInterface(nif *net.Interface) bool {
+ if runtime.GOOS != "darwin" {
+ return false
+ }
+ return strings.HasPrefix(nif.Name, "bridge")
+}
+
// LocalAddresses returns the machine's IP addresses, separated by
// whether they're loopback addresses. If there are no regular addresses
// it will return any IPv4 linklocal or IPv6 unique local addresses because we
@@ -125,7 +132,7 @@ func LocalAddresses() (regular, loopback []netip.Addr, err error) {
}
if ip.IsLoopback() || ifcIsLoopback {
loopback = append(loopback, ip)
- } else if ip.IsLinkLocalUnicast() {
+ } else if ip.IsLinkLocalUnicast() && !isThunderboltBridgeInterface(stdIf) {
if ip.Is4() {
linklocal4 = append(linklocal4, ip)
}