mirror of
https://github.com/Control-D-Inc/ctrld.git
synced 2026-02-03 22:18:39 +00:00
Move platform-specific network interface detection from cmd/cli/ to root package as ValidInterfaces function. This eliminates code duplication and provides a consistent interface for determining valid physical network interfaces across all platforms. - Remove duplicate validInterfacesMap functions from platform-specific files - Add context parameter to virtualInterfaces for proper logging - Update all callers to use ctrld.ValidInterfaces instead of local functions - Improve error handling in virtual interface detection on Linux
19 lines
385 B
Go
19 lines
385 B
Go
//go:build !darwin && !windows && !linux
|
|
|
|
package ctrld
|
|
|
|
import (
|
|
"context"
|
|
|
|
"tailscale.com/net/netmon"
|
|
)
|
|
|
|
// ValidInterfaces returns a set containing only default route interfaces.
|
|
func ValidInterfaces(_ context.Context) map[string]struct{} {
|
|
defaultRoute, err := netmon.DefaultRoute()
|
|
if err != nil {
|
|
return nil
|
|
}
|
|
return map[string]struct{}{defaultRoute.InterfaceName: {}}
|
|
}
|