only remove masquerade roles for VIR_NETWORK_FORWARD_NAT

Fixes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=549949
This commit is contained in:
Guido Günther 2009-11-05 20:28:11 +01:00
parent d42cfb4ef0
commit 91f9157e5b

View File

@ -783,16 +783,15 @@ static void
networkRemoveIptablesRules(struct network_driver *driver, networkRemoveIptablesRules(struct network_driver *driver,
virNetworkObjPtr network) { virNetworkObjPtr network) {
if (network->def->forwardType != VIR_NETWORK_FORWARD_NONE) { if (network->def->forwardType != VIR_NETWORK_FORWARD_NONE) {
iptablesRemoveForwardMasquerade(driver->iptables, if (network->def->forwardType == VIR_NETWORK_FORWARD_NAT) {
network->def->network, iptablesRemoveForwardMasquerade(driver->iptables,
network->def->forwardDev); network->def->network,
network->def->forwardDev);
if (network->def->forwardType == VIR_NETWORK_FORWARD_NAT)
iptablesRemoveForwardAllowRelatedIn(driver->iptables, iptablesRemoveForwardAllowRelatedIn(driver->iptables,
network->def->network, network->def->network,
network->def->bridge, network->def->bridge,
network->def->forwardDev); network->def->forwardDev);
else if (network->def->forwardType == VIR_NETWORK_FORWARD_ROUTE) } else if (network->def->forwardType == VIR_NETWORK_FORWARD_ROUTE)
iptablesRemoveForwardAllowIn(driver->iptables, iptablesRemoveForwardAllowIn(driver->iptables,
network->def->network, network->def->network,
network->def->bridge, network->def->bridge,