[libvirt] [RFC, PATCH] network: add 'netboot' option to dhcp config

Paolo Bonzini bonzini at gnu.org
Mon Sep 14 16:56:19 UTC 2009


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




More information about the libvir-list mailing list