diff --git a/common/utils/net.go b/common/utils/net.go index 9dda7fad2173e169e507c94237c8aa10c28a75dd..1e74685f76645a2ad1a4f3445449b11d834517c5 100644 --- a/common/utils/net.go +++ b/common/utils/net.go @@ -47,17 +47,7 @@ func GetLocalIP() (string, error) { var addr net.IP for _, face := range faces { - if face.Flags&net.FlagUp == 0 { - // interface down - continue - } - - if face.Flags&net.FlagLoopback != 0 { - // loopback interface - continue - } - - if strings.Contains(strings.ToLower(face.Name), "docker") { + if !isValidNetworkInterface(face) { continue } @@ -115,3 +105,21 @@ func getValidIPv4(addrs []net.Addr) (net.IP, bool) { } return nil, false } + +func isValidNetworkInterface(face net.Interface) bool { + if face.Flags&net.FlagUp == 0 { + // interface down + return false + } + + if face.Flags&net.FlagLoopback != 0 { + // loopback interface + return false + } + + if strings.Contains(strings.ToLower(face.Name), "docker") { + return false + } + + return true +} \ No newline at end of file