Skip to content

Commit c7cea82

Browse files
committed
net/netns: don't log errors when we can't get the default route on Darwin
It's somewhat common (e.g. when a phone has no reception), and leads to lots of logspam. Updates tailscale#7850 Signed-off-by: Mihai Parparita <mihai@tailscale.com>
1 parent 280255a commit c7cea82

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

net/interfaces/interfaces_bsd.go

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,10 @@ func defaultRoute() (d DefaultRouteDetails, err error) {
3535
return d, nil
3636
}
3737

38+
// ErrNoGatewayIndexFound is returned by DefaultRouteInterfaceIndex when no
39+
// default route is found.
40+
var ErrNoGatewayIndexFound = errors.New("no gateway index found")
41+
3842
// DefaultRouteInterfaceIndex returns the index of the network interface that
3943
// owns the default route. It returns the first IPv4 or IPv6 default route it
4044
// finds (it does not prefer one or the other).
@@ -75,7 +79,7 @@ func DefaultRouteInterfaceIndex() (int, error) {
7579
return rm.Index, nil
7680
}
7781
}
78-
return 0, errors.New("no gateway index found")
82+
return 0, ErrNoGatewayIndexFound
7983
}
8084

8185
func init() {

net/netns/netns_darwin.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,12 @@ func getInterfaceIndex(logf logger.Logf, address string) (int, error) {
6161
defaultIdx := func() (int, error) {
6262
idx, err := interfaces.DefaultRouteInterfaceIndex()
6363
if err != nil {
64-
logf("[unexpected] netns: DefaultRouteInterfaceIndex: %v", err)
64+
// It's somewhat common for there to be no default gateway route
65+
// (e.g. on a phone with no connectivity), don't log those errors
66+
// since they are expected.
67+
if !errors.Is(err, interfaces.ErrNoGatewayIndexFound) {
68+
logf("[unexpected] netns: DefaultRouteInterfaceIndex: %v", err)
69+
}
6570
return -1, err
6671
}
6772
return idx, nil

0 commit comments

Comments
 (0)