[libvirt] libvirt/dnsmasq integration.

Simon Kelley simon at thekelleys.org.uk
Mon Mar 1 22:07:46 UTC 2010

Daniel P. Berrange wrote:

>>> The total set of DNSMASQ args that we currently use are
>>>   --strict-order
>>>   --bind-interfaces
>>>   --domain DOMAIN-NAME            (optional)
>>>   --pid-file=/var/run/libvirt/network/$NETWORK.pid
>>>   --conf-file=
>>>   --listen-address=IPADDR-OF-BRIDGE
>>>   --except-interface=lo
>>>   --dhcp-range=IPRANGE            (optional, multiple times)
>>>   --dhcp-lease-max=RANGE-SIZE     (optional)
>>>   --dhcp-host=STATIC-HOST-MAPPING (optional)
>>>   --enable-tftp                   (optional)
>>>   --tftp-root=/some/path          (optional)
>>>   --dhcp-boot=PXE-BOOT-SERVER     (optional)
>> OK, the use of TFTP by libvirt is new to me. Looks like I'll have to
>> pull some similar tricks to allow libvirt to enable TFTP on on interface
>> without disturbing things elsewhere.
> We only very recently added the TFTP/boot options so it is probably
> not visible in many Linux distros yet.

> So, if we solve the extra TFTP interface binding issue, we shouldn't 
> need to worry about a formal 'scope', so lets ignore that suggestion
> of mine.

I propose that your dhcp-range should become

dhcp-range=interface:virt0, set:virt0tag, IPRANGE

That engages the "isolation mode" for DHCP and ensures that the correct
PXE server is supplied to your clients even if a different one is
configured elsewhere. (The "set:" and "tag:" syntax is just new sugar
around the existing and rather confusing tagging code)

TFTP becomes.


for a similar isolation mode, and


to have  a root path which overrides one specified elsewhere.

Some preliminary code which implements the facilities required is at




More information about the libvir-list mailing list