diff --git a/pkg/util/net.go b/pkg/util/net.go index f5dd6b0f42..390575f44b 100644 --- a/pkg/util/net.go +++ b/pkg/util/net.go @@ -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, ",") +}