]> xenbits.xensource.com Git - libvirt.git/commitdiff
networkStartNetworkVirtual: Dissolve 'err2' label in 'error'
authorMichal Privoznik <mprivozn@redhat.com>
Tue, 23 Apr 2019 14:59:55 +0000 (16:59 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 21 May 2019 11:48:58 +0000 (13:48 +0200)
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
src/network/bridge_driver.c

index cd59039bdbf0ce88851bdd952533f0dbd850036d..4c920d1fdd5eb0a85f05597c9b3e1f5738098102 100644 (file)
@@ -2337,6 +2337,7 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
     int tapfd = -1;
     bool dnsmasqStarted = false;
     bool devOnline = false;
+    bool firewalRulesAdded = false;
 
     /* Check to see if any network IP collides with an existing route */
     if (networkCheckRouteCollision(def) < 0)
@@ -2413,6 +2414,8 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
         networkAddFirewallRules(def) < 0)
         goto err1;
 
+    firewalRulesAdded = true;
+
     for (i = 0; (ipdef = virNetworkDefGetIPByIndex(def, AF_UNSPEC, i)); i++) {
         if (VIR_SOCKET_ADDR_IS_FAMILY(&ipdef->address, AF_INET))
             v4present = true;
@@ -2421,15 +2424,15 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
 
         /* Add the IP address/netmask to the bridge */
         if (networkAddAddrToBridge(obj, ipdef) < 0)
-            goto err2;
+            goto error;
     }
 
     if (networkStartHandleMACTableManagerMode(obj, macTapIfName) < 0)
-        goto err2;
+        goto error;
 
     /* Bring up the bridge interface */
     if (virNetDevSetOnline(def->bridge, 1) < 0)
-        goto err2;
+        goto error;
 
     devOnline = true;
 
@@ -2511,10 +2514,8 @@ networkStartNetworkVirtual(virNetworkDriverStatePtr driver,
     if (devOnline)
         ignore_value(virNetDevSetOnline(def->bridge, 0));
 
- err2:
-    if (!save_err)
-        virErrorPreserveLast(&save_err);
-    if (def->forward.type != VIR_NETWORK_FORWARD_OPEN)
+    if (firewalRulesAdded &&
+        def->forward.type != VIR_NETWORK_FORWARD_OPEN)
         networkRemoveFirewallRules(def);
 
  err1: