Hi Simon,
On Thu, Nov 13, 2008 at 11:51:37AM +0000, Simon Kelley wrote:
> The /etc/init.d/dnsmasq facility looks good, but the stuff added by  
> libvirt is not.
>
> If libvirt adds
>
> bind-interfaces
> interface=lo
>
> then it will stop the system dnsmasq listening on any interface apart  
> from lo, That's likely to be a nasty surprise. If, on the other hand,  
> libvirt adds
>
> bind-interfaces
> except-interface=<virtual bridge>
The problem here is that libvirt may have an arbitrary number of
interfaces and that we'd have to start dnsmasq for every new interface
added. "interface=lo" was ment as the smallest common denominator. We
could probly make the interface=<interfaces> line configurable via
debconf (in libvirt not in dnsmasq).

> and starts its private dnsmasq with
>
> dnsmasq --keep-in-foreground --strict-order --bind-interfaces --pid-file  
>  --conf-file  --listen-address 192.168.122.1 --except-interface lo  
> --dhcp-leasefile=/var/lib/libvirt/dhcp-default.leases --dhcp-range  
> 192.168.122.2,192.168.122.254 --interface=<virtual-bridge>
Upstream's code has this comment:

    /*
     * XXX does not actually work, due to some kind of
     * race condition setting up ipv6 addresses on the
     * interface. A sleep(10) makes it work, but that's
     * clearly not practical
     *
     * APPEND_ARG(*argv, i++, "--interface");
     * APPEND_ARG(*argv, i++, network->def->bridge);
     */
    APPEND_ARG(*argv, i++, "--listen-address");
    APPEND_ARG(*argv, i++, network->def->ipAddress);

We'd have to fix this if we really need "--interface".


>
> (adding the --interface part)
>
> then all should still work, but the disruption to a system dnsmasq would  
> be much less.
>
> If libvirt can manage more than one virtual interface, then step would  
> need to be taken to add all of them, maybe by having a file for each  
> interface in /etc/dnsmasq.d called libvirt-<interface name> for each one.
This would mean restarting libvirt quiet often if a new interface comes
up. Is this a problem?
 -- Guido



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to