Skip to content

Commit d175893

Browse files
committed
Netris pass v6 gateway
* pass v6 gateway to netris * pass v6 gateway to netris * refactor to address comments * remove imports
1 parent d4cfa04 commit d175893

File tree

2 files changed

+12
-3
lines changed

2 files changed

+12
-3
lines changed

plugins/network-elements/netris/src/main/java/org/apache/cloudstack/service/NetrisApiClientImpl.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1883,7 +1883,7 @@ private InlineResponse2004Data updateIpamSubnetInternal(Integer netrisSubnetId,
18831883
}
18841884
}
18851885

1886-
VnetResAddBody createVnetInternal(VPCListing associatedVpc, String netrisVnetName, String netrisGateway, String netrisV6Gateway, Integer vxlanId, String netrisTag) {
1886+
VnetResAddBody createVnetInternal(VPCListing associatedVpc, String netrisVnetName, String netrisGateway, String netrisV6Cidr, Integer vxlanId, String netrisTag) {
18871887
logger.debug("Creating Netris VPC vNet {} for CIDR {}", netrisVnetName, netrisGateway);
18881888
try {
18891889
VnetAddBody vnetBody = new VnetAddBody();
@@ -1901,9 +1901,9 @@ VnetResAddBody createVnetInternal(VPCListing associatedVpc, String netrisVnetNam
19011901
List<VnetAddBodyGateways> gatewaysList = new ArrayList<>();
19021902
gatewaysList.add(gatewayV4);
19031903

1904-
if (Objects.nonNull(netrisV6Gateway)) {
1904+
if (Objects.nonNull(netrisV6Cidr)) {
19051905
VnetAddBodyGateways gatewayV6 = new VnetAddBodyGateways();
1906-
gatewayV6.prefix(netrisV6Gateway);
1906+
gatewayV6.prefix(NetUtils.getIpv6Gateway(netrisV6Cidr));
19071907
gatewayV6.setDhcpEnabled(false);
19081908
gatewayV6.setDhcp(dhcp);
19091909
gatewaysList.add(gatewayV6);
@@ -1952,6 +1952,8 @@ VnetResAddBody createVnetInternal(VPCListing associatedVpc, String netrisVnetNam
19521952
}
19531953
}
19541954

1955+
1956+
19551957
private String getNetrisVpcNameSuffix(Long vpcId, String vpcName, Long networkId, String networkName, boolean isVpc) {
19561958
String suffix = null;
19571959
if (isVpc) {

utils/src/main/java/com/cloud/utils/net/NetUtils.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1901,4 +1901,11 @@ public static String transformCidr(final String cidr) {
19011901
final long start = (ip & startNetMask);
19021902
return String.format("%s/%s", long2Ip(start), size);
19031903
}
1904+
1905+
public static String getIpv6Gateway(String ipv6Cidr) {
1906+
IPv6Network network = IPv6Network.fromString(ipv6Cidr);
1907+
IPv6Address netrisV6Gateway = network.getFirst().add(1);
1908+
String netmask = network.getNetmask().toString();
1909+
return netrisV6Gateway.toString() + "/" + netmask;
1910+
}
19041911
}

0 commit comments

Comments
 (0)