This is an automated email from the ASF dual-hosted git repository.

pearl11594 pushed a commit to branch netris-tier-regression
in repository https://gitbox.apache.org/repos/asf/cloudstack.git

commit 1ed584c1ddf9eb51954e3bb8549e1c809fa98ccb
Author: Pearl Dsilva <pearl1...@gmail.com>
AuthorDate: Wed Jul 2 10:29:58 2025 -0400

    VPC: Fix tier creation failure for IPv4 due to incorrect destination prefix
---
 .../java/org/apache/cloudstack/service/NetrisServiceImpl.java    | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisServiceImpl.java
 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisServiceImpl.java
index b04e5de2145..5f81fa272ad 100644
--- 
a/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisServiceImpl.java
+++ 
b/plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisServiceImpl.java
@@ -386,6 +386,7 @@ public class NetrisServiceImpl implements NetrisService, 
Configurable {
 
     @Override
     public boolean addFirewallRules(Network network, List<NetrisNetworkRule> 
firewallRules) {
+
         Long zoneId = network.getDataCenterId();
         Long accountId = network.getAccountId();
         Long domainId = network.getDomainId();
@@ -411,10 +412,14 @@ public class NetrisServiceImpl implements NetrisService, 
Configurable {
         for (String sourceCidr : sourceCidrs) {
             if 
(FirewallRule.TrafficType.Ingress.name().equalsIgnoreCase(trafficType)) {
                 sourcePrefix = sourceCidr;
-                destinationPrefix = NetUtils.isValidIp4Cidr(sourcePrefix) ? 
network.getCidr() : network.getIp6Cidr();
+                destinationPrefix = NetUtils.isValidIp4Cidr(sourcePrefix) ||
+                        (Objects.isNull(network.getIp6Cidr()) && 
NetUtils.ANY_PROTO.equalsIgnoreCase(sourceCidr)) ?
+                        network.getCidr() : network.getIp6Cidr();
             } else {
                 destinationPrefix = sourceCidr;
-                sourcePrefix = NetUtils.isValidIp4Cidr(destinationPrefix) ? 
network.getCidr() : network.getIp6Cidr();
+                sourcePrefix = NetUtils.isValidIp4Cidr(destinationPrefix) ||
+                        (Objects.isNull(network.getIp6Cidr()) && 
NetUtils.ANY_PROTO.equalsIgnoreCase(sourceCidr)) ?
+                        network.getCidr() : network.getIp6Cidr();
             }
             String srcPort;
             String dstPort;

Reply via email to