From fb51504dff0ba6545b1bde722554924c3455d6ff Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Wed, 19 Apr 2023 08:44:53 +0200 Subject: [PATCH] server: dedicate vxlan range to account (#7215) This fixes #6871 --- .../main/java/com/cloud/network/NetworkServiceImpl.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java index 2aca1f7c649..8f2d250f056 100644 --- a/server/src/main/java/com/cloud/network/NetworkServiceImpl.java +++ b/server/src/main/java/com/cloud/network/NetworkServiceImpl.java @@ -4048,12 +4048,14 @@ public class NetworkServiceImpl extends ManagerBase implements NetworkService, C } vlanOwnerId = vlanOwner.getAccountId(); - // Verify physical network isolation type is VLAN + // Verify physical network isolation methods contain VLAN or VXLAN PhysicalNetworkVO physicalNetwork = _physicalNetworkDao.findById(physicalNetworkId); if (physicalNetwork == null) { throw new InvalidParameterValueException("Unable to find physical network by id " + physicalNetworkId); - } else if (!physicalNetwork.getIsolationMethods().isEmpty() && !physicalNetwork.getIsolationMethods().contains("VLAN")) { - throw new InvalidParameterValueException("Cannot dedicate guest vlan range. " + "Physical isolation type of network " + physicalNetworkId + " is not VLAN"); + } else if (!physicalNetwork.getIsolationMethods().isEmpty() && + !physicalNetwork.getIsolationMethods().contains("VLAN") && + !physicalNetwork.getIsolationMethods().contains("VXLAN")) { + throw new InvalidParameterValueException("Cannot dedicate guest vlan range. " + "Physical isolation type of network " + physicalNetworkId + " is not VLAN nor VXLAN"); } // Get the start and end vlan