From 38ba6e16eac14872ea3a2ce0bc6bffed6669582a Mon Sep 17 00:00:00 2001 From: Soren Hansen Date: Tue, 14 Sep 2010 10:07:43 +0200 Subject: [PATCH] Rebuild network filter for UML guests on updates When nwfilter support was added to UML, I didn't realise the UML driver needed instrumentation to make updating nwfilters on the fly work. This patch adds this bit of glue. Signed-off-by: Soren Hansen --- src/uml/uml_driver.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/uml/uml_driver.c b/src/uml/uml_driver.c index 40345d5803..9101928bff 100644 --- a/src/uml/uml_driver.c +++ b/src/uml/uml_driver.c @@ -2198,6 +2198,18 @@ static virDriver umlDriver = { NULL, /* qemuDomainMonitorCommand */ }; +static int +umlVMFilterRebuild(virConnectPtr conn ATTRIBUTE_UNUSED, + virHashIterator iter, void *data) +{ + struct uml_driver *driver = uml_driver; + + umlDriverLock(driver); + virHashForEach(uml_driver->domains.objs, iter, data); + umlDriverUnlock(driver); + + return 0; +} static virStateDriver umlStateDriver = { .name = "UML", @@ -2207,8 +2219,14 @@ static virStateDriver umlStateDriver = { .active = umlActive, }; +static virNWFilterCallbackDriver umlCallbackDriver = { + .name = "UML", + .vmFilterRebuild = umlVMFilterRebuild, +}; + int umlRegister(void) { virRegisterDriver(¨Driver); virRegisterStateDriver(¨StateDriver); + virNWFilterRegisterCallbackDriver(¨CallbackDriver); return 0; }