diff --git a/pkg/controllers/netpol/policy.go b/pkg/controllers/netpol/policy.go index ec868a2940..639290486f 100644 --- a/pkg/controllers/netpol/policy.go +++ b/pkg/controllers/netpol/policy.go @@ -912,16 +912,23 @@ func networkPolicyChainName(namespace, policyName string, version string, ipFami return kubeNetworkPolicyChainPrefix + encoded[:16] } +func getIPSetFamilyPrefix(ipFamily api.IPFamily) string { + if ipFamily == api.IPv6Protocol { + return "inet6:" + } + return "" +} + func policySourcePodIPSetName(namespace, policyName string, ipFamily api.IPFamily) string { hash := sha256.Sum256([]byte(namespace + policyName + string(ipFamily))) encoded := base32.StdEncoding.EncodeToString(hash[:]) - return kubeSourceIPSetPrefix + encoded[:16] + return getIPSetFamilyPrefix(ipFamily) + kubeSourceIPSetPrefix + encoded[:16] } func policyDestinationPodIPSetName(namespace, policyName string, ipFamily api.IPFamily) string { hash := sha256.Sum256([]byte(namespace + policyName + string(ipFamily))) encoded := base32.StdEncoding.EncodeToString(hash[:]) - return kubeDestinationIPSetPrefix + encoded[:16] + return getIPSetFamilyPrefix(ipFamily) + kubeDestinationIPSetPrefix + encoded[:16] } func policyIndexedSourcePodIPSetName( @@ -929,7 +936,7 @@ func policyIndexedSourcePodIPSetName( hash := sha256.Sum256([]byte(namespace + policyName + "ingressrule" + strconv.Itoa(ingressRuleNo) + string(ipFamily) + "pod")) encoded := base32.StdEncoding.EncodeToString(hash[:]) - return kubeSourceIPSetPrefix + encoded[:16] + return getIPSetFamilyPrefix(ipFamily) + kubeSourceIPSetPrefix + encoded[:16] } func policyIndexedDestinationPodIPSetName( @@ -937,7 +944,7 @@ func policyIndexedDestinationPodIPSetName( hash := sha256.Sum256([]byte(namespace + policyName + "egressrule" + strconv.Itoa(egressRuleNo) + string(ipFamily) + "pod")) encoded := base32.StdEncoding.EncodeToString(hash[:]) - return kubeDestinationIPSetPrefix + encoded[:16] + return getIPSetFamilyPrefix(ipFamily) + kubeDestinationIPSetPrefix + encoded[:16] } func policyIndexedSourceIPBlockIPSetName(