
On Mon, Sep 2, 2013 at 8:54 AM, Daniel P. Berrange <berrange@redhat.com> wrote:
On Mon, Sep 02, 2013 at 08:50:30AM -0300, Diego Woitasen wrote:
Useful to set custom forwarders instead of using the contents of /etc/resolv.conf. It helps me to setup dnsmasq as local nameserver to resolv VM domain names from domain 0, when domain option is used.
Signed-off-by: Diego Woitasen <diego.woitasen@vhgroup.net> --- src/conf/network_conf.c | 34 +++++++++++++++++++++- src/conf/network_conf.h | 1 + src/network/bridge_driver.c | 8 +++++ .../nat-network-dns-forwarders.conf | 15 ++++++++++ .../nat-network-dns-forwarders.xml | 9 ++++++ tests/networkxml2conftest.c | 1 + 6 files changed, 67 insertions(+), 1 deletion(-) create mode 100644 tests/networkxml2confdata/nat-network-dns-forwarders.conf create mode 100644 tests/networkxml2confdata/nat-network-dns-forwarders.xml
@@ -1058,6 +1065,20 @@ virNetworkDNSDefParseXML(const char *networkName, } }
+ forwarders = virXPathString("string(./@forwarders)", ctxt); + if (forwarders) { + def->forwarders = virStringSplit(forwarders, ",", 0);
It is frowned upon to create XML where one attribute encodes multiple separate values. For example, makes it impossible for apps to extract a single value using xpath queies.
If we need to support multiple addresses for forwarders, then this suggests we need a child element underneath <dns> eg perhaps
<dns> <forwarder addr='8.8.8.8'/> <forwarder addr='1.2.3.4'/> <forwarder addr='234:223::4242'/> </dns>
Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
Ok, I'll fix it. What do you think about the feature? -- Diego Woitasen VHGroup - Lead Linux and open source solutions architect www.vhgroup.net