[libvirt] [PATCH] network: write both lo and lo0 in dnsmasq configuration

Pino Toscano ptoscano at redhat.com
Thu Dec 1 12:47:57 UTC 2016


When generating a new configuration for dnsmasq, add except-interface
for both lo and lo0: this should make sure the configuration works,
and is always the same for every supported OS.

Adjust the data of networkxml2conftest to reflect the new dnsmasq
configuration, making networkxml2conftest pass on non-Linux OSes.

Followup of commit 478ddedc12b77313cbaf72328ab2236ce7c56ead.
---
 src/network/bridge_driver.c                                      | 9 ++++-----
 tests/networkxml2confdata/dhcp6-nat-network.conf                 | 1 +
 tests/networkxml2confdata/dhcp6-network.conf                     | 1 +
 tests/networkxml2confdata/dhcp6host-routed-network.conf          | 1 +
 tests/networkxml2confdata/isolated-network.conf                  | 1 +
 tests/networkxml2confdata/nat-network-dns-forward-plain.conf     | 1 +
 tests/networkxml2confdata/nat-network-dns-forwarders.conf        | 1 +
 tests/networkxml2confdata/nat-network-dns-hosts.conf             | 1 +
 tests/networkxml2confdata/nat-network-dns-local-domain.conf      | 1 +
 .../networkxml2confdata/nat-network-dns-srv-record-minimal.conf  | 1 +
 tests/networkxml2confdata/nat-network-dns-srv-record.conf        | 1 +
 tests/networkxml2confdata/nat-network-dns-txt-record.conf        | 1 +
 tests/networkxml2confdata/nat-network-name-with-quotes.conf      | 1 +
 tests/networkxml2confdata/nat-network.conf                       | 1 +
 tests/networkxml2confdata/netboot-network.conf                   | 1 +
 tests/networkxml2confdata/netboot-proxy-network.conf             | 1 +
 tests/networkxml2confdata/open-network.conf                      | 1 +
 tests/networkxml2confdata/routed-network-no-dns.conf             | 1 +
 tests/networkxml2confdata/routed-network.conf                    | 1 +
 19 files changed, 22 insertions(+), 5 deletions(-)

diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index 9d94d65..feea35b 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -1001,13 +1001,12 @@ networkDnsmasqConfContents(virNetworkObjPtr network,
     if (pidfile)
         virBufferAsprintf(&configbuf, "pid-file=%s\n", pidfile);
 
-    /* dnsmasq will *always* listen on localhost unless told otherwise */
-#ifdef __linux__
+    /* dnsmasq will *always* listen on localhost unless told otherwise:
+     * - "lo" is the loopback interface on Linux
+     * - "lo0" is the loopback interface on BSD and Solaris
+     */
     virBufferAddLit(&configbuf, "except-interface=lo\n");
-#else
-    /* BSD family OSes and Solaris call loopback interface as lo0 */
     virBufferAddLit(&configbuf, "except-interface=lo0\n");
-#endif
 
     if (dnsmasqCapsGet(caps, DNSMASQ_CAPS_BIND_DYNAMIC)) {
         /* using --bind-dynamic with only --interface (no
diff --git a/tests/networkxml2confdata/dhcp6-nat-network.conf b/tests/networkxml2confdata/dhcp6-nat-network.conf
index d1058df..a5d69b5 100644
--- a/tests/networkxml2confdata/dhcp6-nat-network.conf
+++ b/tests/networkxml2confdata/dhcp6-nat-network.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 dhcp-range=192.168.122.2,192.168.122.254
diff --git a/tests/networkxml2confdata/dhcp6-network.conf b/tests/networkxml2confdata/dhcp6-network.conf
index 8270690..f58a088 100644
--- a/tests/networkxml2confdata/dhcp6-network.conf
+++ b/tests/networkxml2confdata/dhcp6-network.conf
@@ -8,6 +8,7 @@ strict-order
 domain=mynet
 expand-hosts
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 dhcp-range=2001:db8:ac10:fd01::1:10,2001:db8:ac10:fd01::1:ff,64
diff --git a/tests/networkxml2confdata/dhcp6host-routed-network.conf b/tests/networkxml2confdata/dhcp6host-routed-network.conf
index 87a1498..03ea9a6 100644
--- a/tests/networkxml2confdata/dhcp6host-routed-network.conf
+++ b/tests/networkxml2confdata/dhcp6host-routed-network.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr1
 dhcp-range=192.168.122.1,static
diff --git a/tests/networkxml2confdata/isolated-network.conf b/tests/networkxml2confdata/isolated-network.conf
index ce4a59f..b2b7ec2 100644
--- a/tests/networkxml2confdata/isolated-network.conf
+++ b/tests/networkxml2confdata/isolated-network.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-interfaces
 listen-address=192.168.152.1
 dhcp-option=3
diff --git a/tests/networkxml2confdata/nat-network-dns-forward-plain.conf b/tests/networkxml2confdata/nat-network-dns-forward-plain.conf
index 9a000b8..6e9a27a 100644
--- a/tests/networkxml2confdata/nat-network-dns-forward-plain.conf
+++ b/tests/networkxml2confdata/nat-network-dns-forward-plain.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
diff --git a/tests/networkxml2confdata/nat-network-dns-forwarders.conf b/tests/networkxml2confdata/nat-network-dns-forwarders.conf
index 0bd76bf..c3d351b 100644
--- a/tests/networkxml2confdata/nat-network-dns-forwarders.conf
+++ b/tests/networkxml2confdata/nat-network-dns-forwarders.conf
@@ -11,6 +11,7 @@ server=8.8.4.4
 server=/example.com/192.168.1.1
 server=/www.example.com/#
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
diff --git a/tests/networkxml2confdata/nat-network-dns-hosts.conf b/tests/networkxml2confdata/nat-network-dns-hosts.conf
index 021316f..16cc397 100644
--- a/tests/networkxml2confdata/nat-network-dns-hosts.conf
+++ b/tests/networkxml2confdata/nat-network-dns-hosts.conf
@@ -10,6 +10,7 @@ expand-hosts
 domain-needed
 local=//
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
diff --git a/tests/networkxml2confdata/nat-network-dns-local-domain.conf b/tests/networkxml2confdata/nat-network-dns-local-domain.conf
index 5f41b91..f9ffd3a 100644
--- a/tests/networkxml2confdata/nat-network-dns-local-domain.conf
+++ b/tests/networkxml2confdata/nat-network-dns-local-domain.conf
@@ -9,6 +9,7 @@ local=/example.com/
 domain=example.com
 expand-hosts
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 addn-hosts=/var/lib/libvirt/dnsmasq/default.addnhosts
diff --git a/tests/networkxml2confdata/nat-network-dns-srv-record-minimal.conf b/tests/networkxml2confdata/nat-network-dns-srv-record-minimal.conf
index f35ea1d..d15120d 100644
--- a/tests/networkxml2confdata/nat-network-dns-srv-record-minimal.conf
+++ b/tests/networkxml2confdata/nat-network-dns-srv-record-minimal.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-interfaces
 listen-address=192.168.122.1
 listen-address=192.168.123.1
diff --git a/tests/networkxml2confdata/nat-network-dns-srv-record.conf b/tests/networkxml2confdata/nat-network-dns-srv-record.conf
index af1ed70..07280da 100644
--- a/tests/networkxml2confdata/nat-network-dns-srv-record.conf
+++ b/tests/networkxml2confdata/nat-network-dns-srv-record.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 srv-host=_name._tcp.test-domain-name.com,test.example.com,1111,11,111
diff --git a/tests/networkxml2confdata/nat-network-dns-txt-record.conf b/tests/networkxml2confdata/nat-network-dns-txt-record.conf
index 7f560fb..ddc51be 100644
--- a/tests/networkxml2confdata/nat-network-dns-txt-record.conf
+++ b/tests/networkxml2confdata/nat-network-dns-txt-record.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 txt-record=example,example value
diff --git a/tests/networkxml2confdata/nat-network-name-with-quotes.conf b/tests/networkxml2confdata/nat-network-name-with-quotes.conf
index 36e11d1..fb2668c 100644
--- a/tests/networkxml2confdata/nat-network-name-with-quotes.conf
+++ b/tests/networkxml2confdata/nat-network-name-with-quotes.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-interfaces
 listen-address=192.168.122.1
 listen-address=192.168.123.1
diff --git a/tests/networkxml2confdata/nat-network.conf b/tests/networkxml2confdata/nat-network.conf
index a3c8b10..cf49e27 100644
--- a/tests/networkxml2confdata/nat-network.conf
+++ b/tests/networkxml2confdata/nat-network.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr0
 dhcp-range=192.168.122.2,192.168.122.254
diff --git a/tests/networkxml2confdata/netboot-network.conf b/tests/networkxml2confdata/netboot-network.conf
index b554a54..cd8c7e9 100644
--- a/tests/networkxml2confdata/netboot-network.conf
+++ b/tests/networkxml2confdata/netboot-network.conf
@@ -8,6 +8,7 @@ strict-order
 domain=example.com
 expand-hosts
 except-interface=lo
+except-interface=lo0
 bind-interfaces
 listen-address=192.168.122.1
 dhcp-range=192.168.122.2,192.168.122.254
diff --git a/tests/networkxml2confdata/netboot-proxy-network.conf b/tests/networkxml2confdata/netboot-proxy-network.conf
index afb4033..e91edb8 100644
--- a/tests/networkxml2confdata/netboot-proxy-network.conf
+++ b/tests/networkxml2confdata/netboot-proxy-network.conf
@@ -8,6 +8,7 @@ strict-order
 domain=example.com
 expand-hosts
 except-interface=lo
+except-interface=lo0
 bind-interfaces
 listen-address=192.168.122.1
 dhcp-range=192.168.122.2,192.168.122.254
diff --git a/tests/networkxml2confdata/open-network.conf b/tests/networkxml2confdata/open-network.conf
index ff09984..acf9440 100644
--- a/tests/networkxml2confdata/open-network.conf
+++ b/tests/networkxml2confdata/open-network.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr1
 addn-hosts=/var/lib/libvirt/dnsmasq/open.addnhosts
diff --git a/tests/networkxml2confdata/routed-network-no-dns.conf b/tests/networkxml2confdata/routed-network-no-dns.conf
index 83cc85e..ab687fa 100644
--- a/tests/networkxml2confdata/routed-network-no-dns.conf
+++ b/tests/networkxml2confdata/routed-network-no-dns.conf
@@ -7,5 +7,6 @@
 strict-order
 port=0
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr1
diff --git a/tests/networkxml2confdata/routed-network.conf b/tests/networkxml2confdata/routed-network.conf
index 970aa3c..ba0353c 100644
--- a/tests/networkxml2confdata/routed-network.conf
+++ b/tests/networkxml2confdata/routed-network.conf
@@ -6,6 +6,7 @@
 ## dnsmasq conf file created by libvirt
 strict-order
 except-interface=lo
+except-interface=lo0
 bind-dynamic
 interface=virbr1
 addn-hosts=/var/lib/libvirt/dnsmasq/local.addnhosts
-- 
2.7.4




More information about the libvir-list mailing list