
On 09/11/2009 06:47 AM, Jeremy Kerr wrote:
Currently, libvirtd will start a dnsmasq process for the virtual network, but (aside from killing the dnsmasq process and replacing it), there's no way to define tftp boot options.
This change introduces a 'netboot' tag to the dhcp configuration:
<network> <name>default</name> <bridge name="virbr%d" /> <forward/> <ip address="192.168.122.1" netmask="255.255.255.0"> <dhcp> <range start="192.168.122.2" end="192.168.122.254" /> <netboot root="/srv/tftp" file="pxeboot.img"/> </dhcp> </ip> </network>
When root= and file= attributes are present, these are passed to the arguments to dnsmasq:
dnsmasq [...] --enable-tftp --tftp-root /srv/tftp --dhcp-boot pxeboot.img
At present, only local tftp servers are supported (ie, dnsmasq runs as the tftp server), but we could improve this in future by adding a server= attribute.
Since there is only one TFTP server running in the network, it is not possible to specify different roots for different dhcp ranges. I think the schema should be <ip address="192.168.122.1" netmask="255.255.255.0"> <tftp root="/srv/tftp"> <dhcp> <range start="192.168.122.2" end="192.168.122.254" /> <bootp file="pxeboot.img"/> </dhcp> </ip> where in the future the bootp argument could grow a server attribute as mentioned by Jeremy. Paolo