[libvirt] [PATCH 0/5] network: xmlns dnsmasq option passthrough

Laine Stump laine at laine.org
Wed Jul 17 16:49:37 UTC 2019


On 7/14/19 8:03 PM, Cole Robinson wrote:
> There's several unresolved RFEs for the <network> bridge
> driver that are essentially requests to add XML wrappers
> for underlying dnsmasq options.
>
> This series adds a dnsmasq xmlns namespace for <network>
> XML that allows passing option strings directly to the
> generated dnsmasq config file. It will allow motivated
> users to work around libvirt until those types of RFEs
> are properly implemented.


This all looks like a reasonable facsimile of the qemu:commandline 
stuff, and it worked in my tests (including not creating any problems 
with all the existing networks I have on my test system).


My one reservation would be that it will tend to discourage adding 
*supported* methods of configuring things that people will instead use 
this backdoor to implement. But on the other hand, it makes it possible 
to do new things without needing to wait for an officially supported 
method (which could take a very long time, or simply never happen, as 
we've seen).


(Actually I for some reason thought we already *had* support for the 
specific example you used - CNAME records. I guess I had lumped it in 
with SRV and TXT records in my memory. It really should be 
straightforward to do, and should still be done, but that shouldn't stop 
this patch series from going in).


This is for the entire series:


Reviewed-by: Laine Stump <laine at laine.org>


>
> Cole Robinson (5):
>    conf: Add virNetworkXMLOption
>    conf: Add network xmlopt argument
>    conf: Add virNetworkXMLNamespace
>    network: wire up dnsmasq option xmlns
>    docs: formatnetwork: Document xmlns:dnsmasq
>
>   docs/formatnetwork.html.in                    |  22 +++
>   docs/schemas/network.rng                      |  11 ++
>   src/conf/domain_conf.c                        |   2 +-
>   src/conf/network_conf.c                       |  91 +++++++--
>   src/conf/network_conf.h                       |  51 ++++-
>   src/conf/virnetworkobj.c                      |  50 +++--
>   src/conf/virnetworkobj.h                      |  13 +-
>   src/esx/esx_network_driver.c                  |   4 +-
>   src/libvirt_private.syms                      |   1 +
>   src/network/bridge_driver.c                   | 182 ++++++++++++++++--
>   src/network/bridge_driver.h                   |  12 ++
>   src/network/bridge_driver_platform.h          |   2 +
>   src/qemu/qemu_process.c                       |   2 +-
>   src/test/test_driver.c                        |  11 +-
>   src/vbox/vbox_network.c                       |   4 +-
>   tests/Makefile.am                             |  14 +-
>   .../networkxml2confdata/dnsmasq-options.conf  |  18 ++
>   tests/networkxml2confdata/dnsmasq-options.xml |  15 ++
>   tests/networkxml2conftest.c                   |   8 +-
>   tests/networkxml2firewalltest.c               |   2 +-
>   tests/networkxml2xmlin/dnsmasq-options.xml    |  15 ++
>   tests/networkxml2xmlout/dnsmasq-options.xml   |  17 ++
>   tests/networkxml2xmltest.c                    |  11 +-
>   tests/networkxml2xmlupdatetest.c              |   4 +-
>   24 files changed, 478 insertions(+), 84 deletions(-)
>   create mode 100644 tests/networkxml2confdata/dnsmasq-options.conf
>   create mode 100644 tests/networkxml2confdata/dnsmasq-options.xml
>   create mode 100644 tests/networkxml2xmlin/dnsmasq-options.xml
>   create mode 100644 tests/networkxml2xmlout/dnsmasq-options.xml
>




More information about the libvir-list mailing list