On 11/06/2016 01:54 AM, Roman Bogorodskiy wrote:
Daniel P. Berrange wrote:
On Tue, Nov 01, 2016 at 06:15:59PM +0300, Pavel Timofeev wrote:
On BSD family OSes (Free/Net/Open/DragonFlyBSD, Mac OS) and
Solaris loopback interface is called 'lo0' instead of just 'lo'.
---
src/network/bridge_driver.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
index a3ee3f3..9d94d65 100644
--- a/src/network/bridge_driver.c
+++ b/src/network/bridge_driver.c
@@ -1002,7 +1002,12 @@ networkDnsmasqConfContents(virNetworkObjPtr network,
virBufferAsprintf(&configbuf, "pid-file=%s\n", pidfile);
/* dnsmasq will *always* listen on localhost unless told otherwise */
+#ifdef __linux__
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
ACK will push shortly.
This breaks all the networkxml2conftest tests, for example:
$ VIR_TEST_DEBUG=1 VIR_TEST_RANGE=1 ./tests/networkxml2conftest
TEST: networkxml2conftest
1) Network XML-2-Conf isolated-network ...
In '/home/novel/code/libvirt/tests/networkxml2confdata/isolated-network.conf':
Offset 303
Expect [
]
Actual [0
]
$
On IRC the other day Roman mentioned the idea of just replacing "lo"
with "lo*" on all platforms. I checked the dnsmasq documentation and
this simple wildcarding is supported for the except-interface option, so
I tried out such a patch on my system and it seems to work properly.
Maybe we should do that instead of having yet another chunk of #ifdef
__linux__ code (the test case datafiles will still need to be changed,
but at least they'll be identical for all platforms).
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list