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