Atftp support multicast transfer. This feature allow the server to
send a file to many clients at once. There is two ways of doing
multicast TFTP. One is documented in RFC2090 and the other is known
as MTFTP and documented in Intel's PXE specification. Atftp support
both protocol.

RFC2090
-------

Multicast using RFC2090 is very like any other TFTP transfer. The read
request sent by the client contain option to inform the server to use
multicast. The server will send configuration information (IP and
port) through the option acknowledge mechanism. The initial read
request is done at the same port as usual (port 69 in most
configuration). Data transfer in done at IP and port chosen by the
server.

When more clients connect to the server, atftpd try to find a thread
currently sending the same file. If it exist, this thread will take
care of the new client. If not, a new thread is started for that new
client. It is possible to send many different file to many clients
when using multicast. Each file transfer uses a unique IP and port.

MTFTP
-----

The PXE specification uses a completely different way (and
incompatible with RFC2090) of doing things. Basically, the TFTP
request is sent at a different port than normal TFTP request. Various
option as IP address, port and timeout value are fetched by the client
from a DHCP server. Server configuration is done with command line
arguments and configuration file. It is much less flexible than
RFC2090 since configuration of the DHCP server must match that of
atftpd. See the file mtftp.conf as an example. Most boot ROM uses this
method for multicast transfer since it is part of the PXE
specification
(ftp://download.intel.com/labs/manage/wfm/download/pxespec.pdf).

Note: mtftp support in atftp 0.7 is experimental.
