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
18 lines
588 B
Go
18 lines
588 B
Go
package cli
|
|
|
|
import (
|
|
"net"
|
|
)
|
|
|
|
// patchNetIfaceName patches network interface names on Linux
|
|
// This is a no-op on Linux as interface names don't need special handling
|
|
func patchNetIfaceName(iface *net.Interface) (bool, error) { return true, nil }
|
|
|
|
// validInterface reports whether the *net.Interface is a valid one.
|
|
// Only non-virtual interfaces are considered valid.
|
|
// This prevents DNS configuration on virtual interfaces like docker, veth, etc.
|
|
func validInterface(iface *net.Interface, validIfacesMap map[string]struct{}) bool {
|
|
_, ok := validIfacesMap[iface.Name]
|
|
return ok
|
|
}
|