cmd/cli: only list physical interfaces when listing

Since these are the interfaces that ctrld will manipulate anyway.

While at it, also skipping non-working devices on MacOS, by checking
if the device is present in network service order
This commit is contained in:
Cuong Manh Le
2025-01-20 15:00:08 +07:00
committed by Cuong Manh Le
parent 7833132917
commit 841be069b7
6 changed files with 24 additions and 16 deletions
+5 -3
View File
@@ -9,17 +9,19 @@ import (
"strings"
)
func patchNetIfaceName(iface *net.Interface) error {
func patchNetIfaceName(iface *net.Interface) (bool, error) {
b, err := exec.Command("networksetup", "-listnetworkserviceorder").Output()
if err != nil {
return err
return false, err
}
patched := false
if name := networkServiceName(iface.Name, bytes.NewReader(b)); name != "" {
iface.Name = name
mainLog.Load().Debug().Str("network_service", name).Msg("found network service name for interface")
patched = true
}
return nil
return patched, nil
}
func networkServiceName(ifaceName string, r io.Reader) string {