[libvirt] [PATCHv2 0/7] handle NIC_RX_FILTER_CHANGED events from qemu

John Ferlan jferlan at redhat.com
Mon Oct 6 14:32:58 UTC 2014



On 10/02/2014 12:39 PM, Laine Stump wrote:
> These patches set up an event handler for qemu's NIC_RX_FILTER_CHANGED
> event, which is sent whenever a guest makes a change to a network
> device's unicast/multicast filter, vlan table, or MAC address (as long
> as there has been no previous event of the same type sent for the same
> interface without a corresponding query-rx-filter sent back from
> qemu).
> 
> The handler checks if it is appropriate to respond to the
> NIC_RX_FILTER_CHANGED event (based on device type and configuration)
> and takes appropriate action. Currently it checks if the guest
> interface has been configured with trustGuestRxFilters='yes' (defaults
> to 'no' for security reasons), and if the host side device is
> macvtap. If so, and the MAC address on the guest has changed, the MAC
> address of the macvtap device is changed to match.
> 
> The result of this is that networking from the guest will continue to
> work if the mac address of a macvtap-connected network device is
> changed from within the guest, as long as trustGuestRxFilters='yes'
> (previously changing the MAC address in the guest would break
> networking).
> 
> Changes from V1:
> 
> Responded to review comments from John Ferlan, Amos Kong, and Tom
> Krowiak, updated to indicate support was added in 1.2.10 rather than
> 1.2.9, and added an extra patch which puts a new .txt file in the qemu
> directory describing the mechanics of a qemu event handler (lifted
> from the commit log message of 5/7)
> 
> Laine Stump (7):
>   conf: add trustGuestRxFilters attribute to network and domain
>     interface
>   network: set interface actual trustGuestRxFilters from
>     network/portgroup
>   util: define virNetDevRxFilter and basic utility functions
>   qemu: qemuMonitorQueryRxFilter - retrieve guest netdev rx-filter
>   qemu: setup infrastructure to handle NIC_RX_FILTER_CHANGED event
>   qemu: change macvtap device MAC address in response to
>     NIC_RX_FILTER_CHANGED
>   qemu: add short document on qemu event handlers
> 
>  docs/formatdomain.html.in                          |  40 +++-
>  docs/formatnetwork.html.in                         |  29 ++-
>  docs/schemas/domaincommon.rng                      |   5 +
>  docs/schemas/network.rng                           |  10 +
>  src/conf/domain_conf.c                             |  42 ++++
>  src/conf/domain_conf.h                             |   3 +
>  src/conf/network_conf.c                            |  36 ++++
>  src/conf/network_conf.h                            |   2 +
>  src/libvirt_private.syms                           |   5 +
>  src/network/bridge_driver.c                        |  10 +
>  src/qemu/EVENTHANDLERS.txt                         |  77 +++++++
>  src/qemu/qemu_domain.h                             |   1 +
>  src/qemu/qemu_driver.c                             | 105 ++++++++++
>  src/qemu/qemu_monitor.c                            |  39 ++++
>  src/qemu/qemu_monitor.h                            |  11 +
>  src/qemu/qemu_monitor_json.c                       | 232 +++++++++++++++++++++
>  src/qemu/qemu_monitor_json.h                       |   3 +
>  src/qemu/qemu_process.c                            |  42 ++++
>  src/util/virnetdev.c                               |  31 +++
>  src/util/virnetdev.h                               |  42 +++-
>  tests/Makefile.am                                  |   1 +
>  tests/networkxml2xmlin/vepa-net.xml                |   4 +-
>  tests/networkxml2xmlout/vepa-net.xml               |   4 +-
>  .../qemuxml2argv-net-virtio-network-portgroup.xml  |   4 +-
>  24 files changed, 761 insertions(+), 17 deletions(-)
>  create mode 100644 src/qemu/EVENTHANDLERS.txt
> 

Beyond nit noted in patch 7 from my git am...

ACK series

John




More information about the libvir-list mailing list