]> xenbits.xensource.com Git - libvirt.git/commitdiff
networkValidate: Disallow bandwidth in portgroups too
authorMichal Privoznik <mprivozn@redhat.com>
Wed, 3 Dec 2014 17:15:40 +0000 (18:15 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Fri, 5 Dec 2014 07:23:37 +0000 (08:23 +0100)
https://bugzilla.redhat.com/show_bug.cgi?id=1115292

In one of the previous commits (eafb53fe) we disallowed
network-wide bandwidth to some network types. However, we
forgot about <portgroups/> which can have <bandwidth/> too.

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
src/network/bridge_driver.c

index 9ccc9f8f8de6d5c2a3bf9774294678a6e8386ed6..1459f0401c6a91cc5eb0756346ab13b0f1854f87 100644 (file)
@@ -2711,6 +2711,7 @@ networkValidate(virNetworkDefPtr def,
     virPortGroupDefPtr defaultPortGroup = NULL;
     virNetworkIpDefPtr ipdef;
     bool ipv4def = false, ipv6def = false;
+    bool bandwidthAllowed = true;
 
     /* check for duplicate networks */
     if (virNetworkObjIsDuplicate(&driver->networks, def, check_active) < 0)
@@ -2772,6 +2773,7 @@ networkValidate(virNetworkDefPtr def,
                            virNetworkForwardTypeToString(def->forward.type));
             return -1;
         }
+        bandwidthAllowed = false;
     }
 
     /* We only support dhcp on one IPv4 address and
@@ -2850,6 +2852,15 @@ networkValidate(virNetworkDefPtr def,
             }
             defaultPortGroup = &def->portGroups[i];
         }
+
+        if (def->portGroups[i].bandwidth && !bandwidthAllowed) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+                           _("Unsupported <bandwidth> element in network '%s' "
+                             "in portgroup '%s' with forward mode='%s'"),
+                           def->name, def->portGroups[i].name,
+                           virNetworkForwardTypeToString(def->forward.type));
+            return -1;
+        }
     }
     if (badVlanUse ||
         (vlanUsed && !vlanAllowed && !defaultPortGroup)) {