CLOUDSTACK-4745: Add StaticNatRule through firewall manager This would fix CreateIpForwardingCmd API on 4.2+.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/92e9f6da Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/92e9f6da Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/92e9f6da Branch: refs/heads/4.2 Commit: 92e9f6daf8e7bcbe646a41132c69d615b0f9af60 Parents: 7f988d4 Author: Sheng Yang <sheng.y...@citrix.com> Authored: Thu Sep 26 13:59:35 2013 -0700 Committer: Sheng Yang <sheng.y...@citrix.com> Committed: Thu Sep 26 14:05:13 2013 -0700 ---------------------------------------------------------------------- .../cloud/network/firewall/FirewallManagerImpl.java | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/92e9f6da/server/src/com/cloud/network/firewall/FirewallManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java index d250a08..8c4583e 100644 --- a/server/src/com/cloud/network/firewall/FirewallManagerImpl.java +++ b/server/src/com/cloud/network/firewall/FirewallManagerImpl.java @@ -544,6 +544,8 @@ public class FirewallManagerImpl extends ManagerBase implements FirewallService, throws ResourceUnavailableException { boolean handled = false; switch (purpose){ + /* StaticNatRule would be applied by Firewall provider, since the incompatible of two object */ + case StaticNat: case Firewall: for (FirewallServiceProvider fwElement: _firewallElements) { Network.Provider provider = fwElement.getProvider(); @@ -568,18 +570,6 @@ public class FirewallManagerImpl extends ManagerBase implements FirewallService, break; } break; - case StaticNat: - for (StaticNatServiceProvider element: _staticNatElements) { - Network.Provider provider = element.getProvider(); - boolean isSnatProvider = _networkModel.isProviderSupportServiceInNetwork(network.getId(), Service.StaticNat, provider); - if (!isSnatProvider) { - continue; - } - handled = element.applyStaticNats(network, (List<? extends StaticNat>) rules); - if (handled) - break; - } - break; /* case NetworkACL: for (NetworkACLServiceProvider element: _networkAclElements) { Network.Provider provider = element.getProvider();