From 7d2753b822c215d97e1ac7f3563022ad12d2d5d0 Mon Sep 17 00:00:00 2001
From: Ian Luo <ian.luo@gmail.com>
Date: Wed, 18 Sep 2019 21:04:21 +0800
Subject: [PATCH] introduce isValidNetworkInterface

---
 common/utils/net.go | 30 +++++++++++++++++++-----------
 1 file changed, 19 insertions(+), 11 deletions(-)

diff --git a/common/utils/net.go b/common/utils/net.go
index 9dda7fad2..1e74685f7 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
-- 
GitLab