diff options
author | rodrigc <rodrigc@FreeBSD.org> | 2011-06-15 22:13:22 +0000 |
---|---|---|
committer | rodrigc <rodrigc@FreeBSD.org> | 2011-06-15 22:13:22 +0000 |
commit | 9b64106b02e17a86bc8729fe028a63d166e17fef (patch) | |
tree | c8b7df565e3c305f1cd9d4ed99fad8994b38ce00 /usr.bin | |
parent | 62ae73089f3deb0888395da5a9f0c6f1e1c4b811 (diff) | |
download | FreeBSD-src-9b64106b02e17a86bc8729fe028a63d166e17fef.zip FreeBSD-src-9b64106b02e17a86bc8729fe028a63d166e17fef.tar.gz |
(1) When sending the TFTP RRQ packet to read a file,
send along the "blksize" option specified in RFC2348,
and the "tsize" option specified in RFC2349.
Add code to parse the TFTP Option Acknowledgement (OACK) packet as
specified in RFC2347.
For TFTP servers which support the "blksize" option, we can
specify a TFTP Data block size larger than the default 512 bytes
specified in RFC1350. This offers greater read performance when
downloading files.
We request an initial size of 1428 bytes, which is less than the
Ethernet MTU of 1500 bytes. If the TFTP server sends back an OACK
packet, then use the block size specified in the OACK packet.
Most times it is usually the same value as what we request.
If the TFTP server supports RFC2348, we will see performance improvements
by transferring files over TFTP with larger block sizes.
If we do not get back an OACK packet, then we most likely we
are interoperating with a legacy TFTP server that does not
support TFTP extension options, so default to the block size of
512 bytes.
(2) If the "tftp.blksize" environment variable is set, then
take that value and use it when sending the TFTP RRQ packet,
instead of 1428. This allows us to set different values of
"tftp.blksize" in the loader, so that we can test out different
TFTP block sizes at run time.
Obtained from: Juniper Networks
Fixed by: rodrigc
Diffstat (limited to 'usr.bin')
0 files changed, 0 insertions, 0 deletions