
On Tue, Jul 24, 2018 at 11:49:48AM +0800, Shi Lei wrote:
Signed-off-by: Shi Lei <shilei.massclouds@gmx.com> ---
v2 here: https://www.redhat.com/archives/libvir-list/2018-July/msg01423.html since v2: - typecast def->forward.type to virNetworkForwardType explicitly in all the switches rather than change its type to enum in the struct definition
v1 here: https://www.redhat.com/archives/libvir-list/2018-July/msg01314.html since v1: - Change the type declaration of _virNetworkForwardDef.type from int to virNetworkForwardType - use the default case to report out of range error with virReportEnumRangeError
...
@@ -2128,20 +2150,37 @@ networkReloadFirewallRulesHelper(virNetworkObjPtr obj,
virObjectLock(obj); def = virNetworkObjGetDef(obj); - if (virNetworkObjIsActive(obj) && - ((def->forward.type == VIR_NETWORK_FORWARD_NONE) || - (def->forward.type == VIR_NETWORK_FORWARD_NAT) || - (def->forward.type == VIR_NETWORK_FORWARD_ROUTE))) { - /* Only three of the L3 network types that are configured by - * libvirt need to have iptables rules reloaded. The 4th L3 - * network type, forward='open', doesn't need this because it - * has no iptables rules. - */ - networkRemoveFirewallRules(def); - if (networkAddFirewallRules(def) < 0) { - /* failed to add but already logged */ + if (virNetworkObjIsActive(obj)) { + switch ((virNetworkForwardType) def->forward.type) { + case VIR_NETWORK_FORWARD_NONE: + case VIR_NETWORK_FORWARD_NAT: + case VIR_NETWORK_FORWARD_ROUTE: + /* Only three of the L3 network types that are configured by + * libvirt need to have iptables rules reloaded. The 4th L3 + * network type, forward='open', doesn't need this because it + * has no iptables rules. + */ + networkRemoveFirewallRules(def); + /* No need to check return value since already logged internally */
I dropped ^this commentary, adjusted the commit message and pushed the patch. Congratulations on your first libvirt patch. Erik