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