From f3df18aa9b29e3c1bffadd851b38f30ad43e3999 Mon Sep 17 00:00:00 2001 From: Sheng Yang Date: Wed, 30 Nov 2011 14:18:19 -0800 Subject: [PATCH] NaaS: Enforce the checking of VirtualRouterElement If SourceNAT is not provided, VirtualRouter wouldn't provide firewall, portforwarding, loadbalance, static Nat and VPN service as well. --- .../com/cloud/network/element/VirtualRouterElement.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/server/src/com/cloud/network/element/VirtualRouterElement.java b/server/src/com/cloud/network/element/VirtualRouterElement.java index 3781c627d2f..024a8097fc4 100644 --- a/server/src/com/cloud/network/element/VirtualRouterElement.java +++ b/server/src/com/cloud/network/element/VirtualRouterElement.java @@ -635,6 +635,13 @@ public class VirtualRouterElement extends AdapterBase implements VirtualRouterEl @Override public boolean verifyServicesCombination(List services) { + if (!services.contains("SourceNat")) { + if (services.contains("StaticNat") || services.contains("Firewall") || services.contains("Lb") || services.contains("PortForwarding") || + services.contains("Vpn")) { + s_logger.warn("Virtual router can't enable services " + services + " without source NAT service"); + return false; + } + } return true; } }