Merge pull request #3916 from manuelbuil/net_v6

Add functions to separate ipv4 and ipv6 CIDRs
This commit is contained in:
Manuel Buil 2021-08-27 18:57:54 +02:00 committed by GitHub
commit 2e5c9e5cad
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -63,3 +63,25 @@ func GetFirst4String(elems []string) (string, error) {
}
return ip.String(), nil
}
// JoinIP4Nets stringifies and joins a list of IPv4 networks with commas.
func JoinIP4Nets(elems []*net.IPNet) string {
var strs []string
for _, elem := range elems {
if elem != nil && elem.IP.To4() != nil {
strs = append(strs, elem.String())
}
}
return strings.Join(strs, ",")
}
// JoinIP6Nets stringifies and joins a list of IPv6 networks with commas.
func JoinIP6Nets(elems []*net.IPNet) string {
var strs []string
for _, elem := range elems {
if elem != nil && elem.IP.To4() == nil {
strs = append(strs, elem.String())
}
}
return strings.Join(strs, ",")
}