]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: avoid reporting errors when network driver is disabled
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 23 Mar 2018 11:43:53 +0000 (11:43 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Fri, 23 Mar 2018 15:32:50 +0000 (15:32 +0000)
In previous releases all these methods were a no-op if the network
driver is disabled. These helper methods are called unconditionally for
all types of network interface, so must be no-ops if missing. Other code
will already generate an error if the network driver is disabled and a
NIC with type=network is used.

Reviewed-by: Laine Stump <laine@laine.org>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/domain_conf.c

index c8d051fa9f45456e8b0446c1ebfd4266e2b3bfe2..43725155c2f4d2f4bc5e7838e6d24de265256643 100644 (file)
@@ -28979,11 +28979,13 @@ int
 virDomainNetAllocateActualDevice(virDomainDefPtr dom,
                                  virDomainNetDefPtr iface)
 {
-    if (!netAllocate) {
-        virReportError(VIR_ERR_NO_SUPPORT, "%s",
-                       _("Network device allocation not available"));
-        return -1;
-    }
+    /* Just silently ignore if network driver isn't present. If something
+     * has tried to use a NIC with type=network, other code will already
+     * cause an error. This ensures type=bridge doesn't break when
+     * network driver is compiled out.
+     */
+    if (!netAllocate)
+        return 0;
 
     return netAllocate(dom, iface);
 }
@@ -28992,11 +28994,8 @@ void
 virDomainNetNotifyActualDevice(virDomainDefPtr dom,
                                virDomainNetDefPtr iface)
 {
-    if (!netNotify) {
-        virReportError(VIR_ERR_NO_SUPPORT, "%s",
-                       _("Network device notification not available"));
+    if (!netNotify)
         return;
-    }
 
     netNotify(dom, iface);
 }
@@ -29006,11 +29005,8 @@ int
 virDomainNetReleaseActualDevice(virDomainDefPtr dom,
                                 virDomainNetDefPtr iface)
 {
-    if (!netRelease) {
-        virReportError(VIR_ERR_NO_SUPPORT, "%s",
-                       _("Network device release not available"));
-        return -1;
-    }
+    if (!netRelease)
+        return 0;
 
     return netRelease(dom, iface);
 }
@@ -29019,11 +29015,8 @@ bool
 virDomainNetBandwidthChangeAllowed(virDomainNetDefPtr iface,
                                    virNetDevBandwidthPtr newBandwidth)
 {
-    if (!netBandwidthChangeAllowed) {
-        virReportError(VIR_ERR_NO_SUPPORT, "%s",
-                       _("Network device bandwidth change query not available"));
-        return -1;
-    }
+    if (!netBandwidthChangeAllowed)
+        return 0;
 
     return netBandwidthChangeAllowed(iface, newBandwidth);
 }
@@ -29032,11 +29025,8 @@ int
 virDomainNetBandwidthUpdate(virDomainNetDefPtr iface,
                             virNetDevBandwidthPtr newBandwidth)
 {
-    if (!netBandwidthUpdate) {
-        virReportError(VIR_ERR_NO_SUPPORT, "%s",
-                       _("Network device bandwidth update not available"));
-        return -1;
-    }
+    if (!netBandwidthUpdate)
+        return 0;
 
     return netBandwidthUpdate(iface, newBandwidth);
 }