| var privateCIDRs = []net.IPNet{ |
| net.IPNet{IP: net.IPv4(10, 0, 0, 0), Mask: net.IPv4Mask(0xff, 0, 0, 0)}, |
| net.IPNet{IP: net.IPv4(172, 16, 0, 0), Mask: net.IPv4Mask(0xff, 0xf0, 0, 0)}, |
| net.IPNet{IP: net.IPv4(192, 168, 0, 0), Mask: net.IPv4Mask(0xff, 0xff, 0, 0)}, |
| // IsGloballyRoutable returns true if the argument is a globally routable IP address. |
| func IsGloballyRoutableIP(ip net.IP) bool { |
| if !ip.IsGlobalUnicast() { |
| if ip4 := ip.To4(); ip4 != nil { |
| for _, cidr := range privateCIDRs { |
| if ip4.Equal(net.IPv4bcast) { |