From 9536e1f931dbb54038caa079ddb12f0c30bd0be3 Mon Sep 17 00:00:00 2001 From: Andrea Gottardo Date: Wed, 24 May 2023 16:14:56 -0700 Subject: [PATCH] Check for Thunderbolt interface --- net/interfaces/interfaces.go | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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) }