On 07/13/2016 07:06 AM, Khramov Anton wrote: > From: Anton Khramov <anton@xxxxxxxxxxxx> > > Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1181539 > --- > docs/hooks.html.in | 2 ++ > src/network/bridge_driver.c | 6 ++++++ > src/util/virhook.c | 3 ++- > src/util/virhook.h | 1 + > 4 files changed, 11 insertions(+), 1 deletion(-) > > diff --git a/docs/hooks.html.in b/docs/hooks.html.in > index 1aae00c..d4f4ac3 100644 > --- a/docs/hooks.html.in > +++ b/docs/hooks.html.in > @@ -250,6 +250,8 @@ > <pre>/etc/libvirt/hooks/network network_name plugged begin -</pre> > Please note, that in this case, the script is passed both network and > domain XMLs on its stdin.</li> > + <li>When network is updated, the hook script is called as:<br/> > + <pre>/etc/libvirt/hooks/network network_name updated begin -</pre></li> > <li>When the domain from previous case is shutting down, the interface > is unplugged. This leads to another script invocation:<br/> > <pre>/etc/libvirt/hooks/network network_name unplugged begin -</pre> > diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c > index 0fd2095..61ab17b 100644 > --- a/src/network/bridge_driver.c > +++ b/src/network/bridge_driver.c > @@ -3460,6 +3460,12 @@ networkUpdate(virNetworkPtr net, > goto cleanup; > } > } > + > + /* call the 'updated' network hook script */ > + if (networkRunHook(network, NULL, NULL, VIR_HOOK_NETWORK_OP_UPDATED, > + VIR_HOOK_SUBOP_BEGIN) < 0) > + goto cleanup; > + > ret = 0; > cleanup: > virNetworkObjEndAPI(&network); > diff --git a/src/util/virhook.c b/src/util/virhook.c > index d37d6da..a8422a2 100644 > --- a/src/util/virhook.c > +++ b/src/util/virhook.c > @@ -93,7 +93,8 @@ VIR_ENUM_IMPL(virHookNetworkOp, VIR_HOOK_NETWORK_OP_LAST, > "started", > "stopped", > "plugged", > - "unplugged") > + "unplugged", > + "updated") > > static int virHooksFound = -1; > > diff --git a/src/util/virhook.h b/src/util/virhook.h > index 550ef84..4015426 100644 > --- a/src/util/virhook.h > +++ b/src/util/virhook.h > @@ -82,6 +82,7 @@ typedef enum { > VIR_HOOK_NETWORK_OP_STOPPED, /* network has stopped */ > VIR_HOOK_NETWORK_OP_IFACE_PLUGGED, /* an interface has been plugged into the network */ > VIR_HOOK_NETWORK_OP_IFACE_UNPLUGGED, /* an interface was unplugged from the network */ > + VIR_HOOK_NETWORK_OP_UPDATED, /* network has been updated */ > > VIR_HOOK_NETWORK_OP_LAST, > } virHookNetworkOpType; > ACK this looks good to me. CCing laine to see if he wants to ACK when he's back online, if not I'll push it in a week. Thanks, Cole -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list