From 75d3e279288ee74d730c286e4a4e05b03d191cf8 Mon Sep 17 00:00:00 2001 From: Manuel Buil Date: Thu, 26 Aug 2021 20:18:26 +0200 Subject: [PATCH] Add functions to separate ipv4 from ipv6 functions Signed-off-by: Manuel Buil --- pkg/util/net.go | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) 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, ",") +}