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
dhcp-boot=tag:virt0tag,PXE_BOOT_SERVER
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.
enable-tftp=virt0
for a similar isolation mode, and
tftp-root=/some/path,virt0
to have a root path which overrides one specified elsewhere.
Some preliminary code which implements the facilities required is at
http://www.thekelleys.org.uk/dnsmasq/test-releases/dnsmasq-2.53test12.tar.gz
Cheers,
Simon.