On Mon, Nov 07, 2016 at 01:52:05AM -0500, Laine Stump wrote:
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).
Any idea how far back wildcards work. If they still work on the RHEL-6
vintage dnsmasq, then I'd agree with you and it'll make the test case
fix easier to avoid the conditional.
Regards,
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://entangle-photo.org -o-
http://search.cpan.org/~danberr/ :|