From 23ed8eb21d553b011f832b0b2f18d214d6cd7a7c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20P=2E=20Berrang=C3=A9?= Date: Fri, 27 Apr 2018 14:28:11 +0100 Subject: [PATCH] nwfilter: pass vm name in when instantiating filters MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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 Signed-off-by: Daniel P. Berrangé --- src/conf/domain_nwfilter.c | 5 +++-- src/conf/domain_nwfilter.h | 6 ++++-- src/lxc/lxc_process.c | 2 +- src/nwfilter/nwfilter_driver.c | 3 ++- src/qemu/qemu_hotplug.c | 6 ++++-- src/qemu/qemu_interface.c | 4 ++-- src/qemu/qemu_process.c | 2 +- src/uml/uml_conf.c | 2 +- 8 files changed, 18 insertions(+), 12 deletions(-) diff --git a/src/conf/domain_nwfilter.c b/src/conf/domain_nwfilter.c index 176e7e6734..e360aceeba 100644 --- a/src/conf/domain_nwfilter.c +++ b/src/conf/domain_nwfilter.c @@ -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; } diff --git a/src/conf/domain_nwfilter.h b/src/conf/domain_nwfilter.h index af047c745a..857cac6c2a 100644 --- a/src/conf/domain_nwfilter.h +++ b/src/conf/domain_nwfilter.h @@ -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); diff --git a/src/lxc/lxc_process.c b/src/lxc/lxc_process.c index e911d88b56..3610523c06 100644 --- a/src/lxc/lxc_process.c +++ b/src/lxc/lxc_process.c @@ -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; diff --git a/src/nwfilter/nwfilter_driver.c b/src/nwfilter/nwfilter_driver.c index fef3aa272b..d17a8ec00b 100644 --- a/src/nwfilter/nwfilter_driver.c +++ b/src/nwfilter/nwfilter_driver.c @@ -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); diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index df9e8aa716..3bb0c72257 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -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; } diff --git a/src/qemu/qemu_interface.c b/src/qemu/qemu_interface.c index ffa4b875c0..5d54a85c53 100644 --- a/src/qemu/qemu_interface.c +++ b/src/qemu/qemu_interface.c @@ -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; } diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index 6a5262ae46..9233d26948 100644 --- a/src/qemu/qemu_process.c +++ b/src/qemu/qemu_process.c @@ -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; } } diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c index 49589b33c9..9c548f0e80 100644 --- a/src/uml/uml_conf.c +++ b/src/uml/uml_conf.c @@ -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;