[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt-users] Network hooks for ethernet interfaces



On 4/9/19 11:35 AM, Ruben Kerkhof wrote:
On Tue, Apr 9, 2019 at 5:10 PM Michal Privoznik <mprivozn redhat com> wrote:

On 4/9/19 4:38 PM, Ruben Kerkhof wrote:
Hi all,

I have a hook script, /etc/libvirt/hooks/network, that doesn't seem to
be called when I attach an interface with type 'ethernet' with this
xml snippet:

<interface type='ethernet'>
      <model type="virtio"/>
      <source>
          <ip address="10.100.0.1" prefix="24" peer="10.100.0.10"/>
      </source>
</interface>

https://www.libvirt.org/hooks.html#intro says
"A network is started or stopped or an interface is plugged/unplugged
to/from the network (since 1.2.2)".

While I don't have a network defined in xml, I'd expect this to work
just as well for 'ethernet' type interfaces. Am I wrong?


Hotplugging an 'ethernet' type of interface doesn't really relate to any
libvirt network. Hence libvirt doesn't call 'network' hook script. If
you'd continue reading you'll see what is the 'network' hook fed with
(on stdin): info on domain in question AND network where the event
ocurred. But there is no network, is it?

No not in the libvirt sense there isn't, you're right.

But maybe you can work around this by waiting for
DEVICE_ADDED/DEVICE_REMOVED events? What is it that you're trying to solve?

I'd like to enable proxy_arp on the interface among other things.
I can easily do this from the same script that adds the interface
though, so I have a workaround, but a hook that triggers on all
interface events felt cleaner.

Also keep in mind that the hook scripts aren't an officially supported part of the API, and are thus liable to change without warning. As an example, danpb has proposed changing the network hook:

 https://www.redhat.com/archives/libvir-list/2019-March/msg01280.html

Once this goes in, any network hook script that uses the plugged and unplugged hooks will no longer work; you would instead need to use the port-created and port-deleted hooks.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]