]> xenbits.xensource.com Git - libvirt.git/commitdiff
nwfilter: pass vm name in when instantiating filters
authorDaniel P. Berrangé <berrange@redhat.com>
Fri, 27 Apr 2018 13:28:11 +0000 (14:28 +0100)
committerDaniel P. Berrangé <berrange@redhat.com>
Thu, 3 May 2018 16:00:57 +0000 (17:00 +0100)
The vm name is not needed for any functional requirement, but it will be
useful when debugging problems to identify which VM is associated with a
filter, since UUID is not human friendly.

Reviewed-by: Jiri Denemark <jdenemar@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/domain_nwfilter.c
src/conf/domain_nwfilter.h
src/lxc/lxc_process.c
src/nwfilter/nwfilter_driver.c
src/qemu/qemu_hotplug.c
src/qemu/qemu_interface.c
src/qemu/qemu_process.c
src/uml/uml_conf.c

index 176e7e673418cc606ff506f9fdad5a9684b9ab0c..e360aceeba262d7fade54e4c0045ce490406f753 100644 (file)
@@ -38,11 +38,12 @@ virDomainConfNWFilterRegister(virDomainConfNWFilterDriverPtr driver)
 }
 
 int
-virDomainConfNWFilterInstantiate(const unsigned char *vmuuid,
+virDomainConfNWFilterInstantiate(const char *vmname,
+                                 const unsigned char *vmuuid,
                                  virDomainNetDefPtr net)
 {
     if (nwfilterDriver != NULL)
-        return nwfilterDriver->instantiateFilter(vmuuid, net);
+        return nwfilterDriver->instantiateFilter(vmname, vmuuid, net);
     /* driver module not available -- don't indicate failure */
     return 0;
 }
index af047c745ac63e1eb4d6c389b322072b66a70107..857cac6c2a366ac598d7dcaa65bb77bc9d5b2509 100644 (file)
@@ -23,7 +23,8 @@
 #ifndef DOMAIN_NWFILTER_H
 # define DOMAIN_NWFILTER_H
 
-typedef int (*virDomainConfInstantiateNWFilter)(const unsigned char *vmuuid,
+typedef int (*virDomainConfInstantiateNWFilter)(const char *vmname,
+                                                const unsigned char *vmuuid,
                                                 virDomainNetDefPtr net);
 typedef void (*virDomainConfTeardownNWFilter)(virDomainNetDefPtr net);
 
@@ -35,7 +36,8 @@ typedef virDomainConfNWFilterDriver *virDomainConfNWFilterDriverPtr;
 
 void virDomainConfNWFilterRegister(virDomainConfNWFilterDriverPtr driver);
 
-int virDomainConfNWFilterInstantiate(const unsigned char *vmuuid,
+int virDomainConfNWFilterInstantiate(const char *vmname,
+                                     const unsigned char *vmuuid,
                                      virDomainNetDefPtr net);
 void virDomainConfNWFilterTeardown(virDomainNetDefPtr net);
 void virDomainConfVMNWFilterTeardown(virDomainObjPtr vm);
index e911d88b56362c1c39c7e04e95c375070e8657a1..3610523c06ef2e1d556504173195231cecc4fe87 100644 (file)
@@ -304,7 +304,7 @@ virLXCProcessSetupInterfaceTap(virDomainDefPtr vm,
     }
 
     if (net->filter &&
-        virDomainConfNWFilterInstantiate(vm->uuid, net) < 0)
+        virDomainConfNWFilterInstantiate(vm->name, vm->uuid, net) < 0)
         goto cleanup;
 
     ret = containerVeth;
index fef3aa272b8644def7ee3dcabeecb62e99232c8a..d17a8ec00b9a2ad74a06548730e065fdb87eb7f1 100644 (file)
@@ -642,7 +642,8 @@ nwfilterGetXMLDesc(virNWFilterPtr nwfilter,
 
 
 static int
-nwfilterInstantiateFilter(const unsigned char *vmuuid,
+nwfilterInstantiateFilter(const char *vmname ATTRIBUTE_UNUSED,
+                          const unsigned char *vmuuid,
                           virDomainNetDefPtr net)
 {
     return virNWFilterInstantiateFilter(driver, vmuuid, net);
index df9e8aa716799b0ff7e8248d91e7a5c36b5cb071..3bb0c7225781068616d4d95ee48fe2c8692fe520 100644 (file)
@@ -3016,7 +3016,8 @@ qemuDomainChangeNetFilter(virDomainObjPtr vm,
     virDomainConfNWFilterTeardown(olddev);
 
     if (newdev->filter &&
-        virDomainConfNWFilterInstantiate(vm->def->uuid, newdev) < 0) {
+        virDomainConfNWFilterInstantiate(vm->def->name,
+                                         vm->def->uuid, newdev) < 0) {
         virErrorPtr errobj;
 
         virReportError(VIR_ERR_OPERATION_FAILED,
@@ -3024,7 +3025,8 @@ qemuDomainChangeNetFilter(virDomainObjPtr vm,
                          "- attempting to restore old rules"),
                        olddev->ifname);
         virErrorPreserveLast(&errobj);
-        ignore_value(virDomainConfNWFilterInstantiate(vm->def->uuid, olddev));
+        ignore_value(virDomainConfNWFilterInstantiate(vm->def->name,
+                                                      vm->def->uuid, olddev));
         virErrorRestore(&errobj);
         return -1;
     }
index ffa4b875c0d1aab70709dbf60504dc618d342946..5d54a85c534ede34ad3a3560a631977ec9425c9b 100644 (file)
@@ -467,7 +467,7 @@ qemuInterfaceEthernetConnect(virDomainDefPtr def,
         goto cleanup;
 
     if (net->filter &&
-        virDomainConfNWFilterInstantiate(def->uuid, net) < 0) {
+        virDomainConfNWFilterInstantiate(def->name, def->uuid, net) < 0) {
         goto cleanup;
     }
 
@@ -586,7 +586,7 @@ qemuInterfaceBridgeConnect(virDomainDefPtr def,
         goto cleanup;
 
     if (net->filter &&
-        virDomainConfNWFilterInstantiate(def->uuid, net) < 0) {
+        virDomainConfNWFilterInstantiate(def->name, def->uuid, net) < 0) {
         goto cleanup;
     }
 
index 6a5262ae46ab53195b61313c3fec8ff77639a7c8..9233d269489517db97bbfdc2048e86ef6046bd88 100644 (file)
@@ -2952,7 +2952,7 @@ qemuProcessFiltersInstantiate(virDomainDefPtr def)
     for (i = 0; i < def->nnets; i++) {
         virDomainNetDefPtr net = def->nets[i];
         if ((net->filter) && (net->ifname)) {
-            if (virDomainConfNWFilterInstantiate(def->uuid, net) < 0)
+            if (virDomainConfNWFilterInstantiate(def->name, def->uuid, net) < 0)
                 return 1;
         }
     }
index 49589b33c9f241f0d10f88aeae40458c679eb58b..9c548f0e800687870d6117b20891225f7e385ef1 100644 (file)
@@ -137,7 +137,7 @@ umlConnectTapDevice(virDomainDefPtr vm,
     }
 
     if (net->filter) {
-        if (virDomainConfNWFilterInstantiate(vm->uuid, net) < 0) {
+        if (virDomainConfNWFilterInstantiate(vm->name, vm->uuid, net) < 0) {
             if (template_ifname)
                 VIR_FREE(net->ifname);
             goto error;