Merge pull request #701 from h-hy/master
Check last for the address binded in lo interface (LVS , DR mode)
This commit is contained in:
		| @@ -40,14 +40,20 @@ func Extract(addr string) (string, error) { | |||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	var addrs []net.Addr | 	var addrs []net.Addr | ||||||
|  | 	var loAddrs []net.Addr | ||||||
| 	for _, iface := range ifaces { | 	for _, iface := range ifaces { | ||||||
| 		ifaceAddrs, err := iface.Addrs() | 		ifaceAddrs, err := iface.Addrs() | ||||||
| 		if err != nil { | 		if err != nil { | ||||||
| 			// ignore error, interface can dissapear from system | 			// ignore error, interface can dissapear from system | ||||||
| 			continue | 			continue | ||||||
| 		} | 		} | ||||||
|  | 		if iface.Flags&net.FlagLoopback != 0 { | ||||||
|  | 			loAddrs = append(loAddrs, ifaceAddrs...) | ||||||
|  | 			continue | ||||||
|  | 		} | ||||||
| 		addrs = append(addrs, ifaceAddrs...) | 		addrs = append(addrs, ifaceAddrs...) | ||||||
| 	} | 	} | ||||||
|  | 	addrs = append(addrs, loAddrs...) | ||||||
|  |  | ||||||
| 	var ipAddr []byte | 	var ipAddr []byte | ||||||
| 	var publicIP []byte | 	var publicIP []byte | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user