

option domain-name "example.org";
option domain-name-servers 192.168.0.1;
default-lease-time 600;
max-lease-time 7200;
subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.21 192.168.0.200;
option routers 192.168.0.1;
}
host miniitx {
hardware ethernet 00:40:63:e0:4c:8d;
option root-path "192.168.0.6:/opt/ltsp/i386" ;
filename "/tftpboot/lts/2.6.9-ltsp-3/pxelinux.0";
server-name "192.168.0.6";
next-server 192.168.0.6 ;
}










tftp dgram udp wait nobody \ /usr/sbin/tcpd /usr/sbin/in.tftpd \ --tftpd-timeout 300 --retry-timeout 5 \ --mcast-port 1758 --mcast-addr 239.239.239.0-255 \ --mcast-ttl 1 --maxthread 100 --verbose=5 /tftpboot
transmitTFTPfile () {
frameno := 1 ;
while true do {
m := createNextFrameFromFile(frameno)
transmitFrameOverUDP(m, frameno)
repeat
event := waitForEvent() ;
case event of
ackArrived : (* correct ack number arrived *) |
nackArrived: transmitFrameOverUDP(m, frameno) |
timeout : transmitFrameOverUDP(m, frameno)
end
until ackArrived
inc(frameno)
}
}
receiveFile () {
frameno := 1 ;
while true do {
repeat
m := getFrameFromUDP() ;
if isCorrectSeqNo(m, frameno)
transmitAckOverUDP(frameno+1)
else
transmitNAckOverUDP(frameno)
fi
until isCorrectSeqNo(m, frameno) ;
inc(frameno) ;
storeFrameInMemory(m)
if frame size < 512 bytes
then
return
fi
}
}
n = 1 loop sends a frame of data (n) event = waitforevent(); case event of timeout: break; ack : n = ack_number()+1 ; break; nack : break end end
receive process
loop
case event of
received frame: if not duplicate data frame(n)
then
give frame to higher layer(n)
fi
send_ack_number (n)
end
end

This document was produced using groff-1.19.