On Tue, Jul 24, 2018 at 11:49:48AM +0800, Shi Lei wrote:
Signed-off-by: Shi Lei <shilei.massclouds(a)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