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.