[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



On 09/15/2009 01:01 AM, Jeremy Kerr wrote:
Hi Paolo,

Since there is only one TFTP server running in the network

IIRC, it's possible to have more than one: the Server-Name (id 66) of the DHCP
response specifies which. However, we probably only ever want to start one
server, so the<tftp>  tag should work fine.

Yes, what I meant is that in general the TFTP server started by libvirt will run on the address provided by /network/ip address So libvirt can only start one TFTP server even though in the future it might support multiple DHCP ranges.

In this case, some ranges may not support BOOTP and some may, and they can give different boot files, but all must share a single dnsmasq-provided TFTP server (using a server attribute would be fine; but that TFTP server will not be started by libvirt).

This can be seen from the fact that BOOTP is nothing more than a few options within a DHCP packet (i.e. <dhcp><bootp/></dhcp>), but TFTP binds on a completely different port and could be a separate process (hence <tftp> is a sibling of <dhcp>). dnsmasq is special.

, 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>

If you want it to be specific to the range, shouldn't it be within the<range>
tag? Currently the code will only parse one<dhcp>  tag.

No, I want it to be specific to the _network_, since it will bind to /network/ip address
One thing that I've tried to keep in mind is that the tftp service may be
provided by a separate machine in the network, so we may need some way in the
future to represent that - maybe no<tftp>  tag

That's already implemented by my patch, and can be used with an external TFTP server, for example started via (x)inetd.

and use server="w.x.y.z" in
the bootp tag. Also, would be cool to have separate files for different hosts,
but that may be thinking too far ahead at this stage :)

Yes. That's something you'd get for free if libvirt supported multiple DHCP ranges.

Paolo


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]