Another follow-up on this point.
The Bare Metal Server is set with
Max. TFTP Segment Size 1468
Based on Task 360 “Bare Metal WinPE Tftp settings” I’ve configured my WinPE ramdisk with
ramdiskTftpWindowSize 32
ramdiskTftpBlockSize 32678
(which, by the way, is probably a typo in the options - shouldn’t that be 32768 ?)
Based on a packet capture, the Task 360 version of ramdiskTftpBlockSize is mostly ineffective - the transfer is limited to the ‘Max. TFTP Segment Size’ applied at the bare metal server:
(client to server) TFTP 104 Read Request, File: \sources\boot.wim, Transfer type: octet, tsize=0, blksize=32678, windowsize=32
(server to client) TFTP 87 Option Acknowledgement, tsize=387199486, blksize=1468, windowsize=32
Notice the server does not acknowledge blksize=32678; instead the server pulls that down to 1468, the max value configured on the OSD server pages.
When I increase that value on the Bare Metal Server pages, I get a lot of “Fragmented IP” packets in the sniff, very slow download at the client, and the client bluescreened before getting the entire WinPE boot image. I tried at values 16384 and 4096.
So, it appears that the OSD page for “Max TFTP Segment Size” value corresponds RFC 2348 TFTP Blocksize Option
, as does the Task 360 option for “ramdiskTftpBlockSize”. And the Task 360 option for “ramdiskTftpWindowSize” controls the value of RFC7440 “TFTP Windowsize Option”
Most of the postings I see on increasing TFTP performance in Microsoft’s Configuration Manager involve setting RamDiskTftpBlockSize as high as 32768, and from what I can tell the default value in Configuration Manager version 1606 is 4096 bytes. I’m not sure why I’m crashing with that value, whether it’s a limitation of the Rembo TFTP server, or maybe some of my traffic-inspecting gear in the way (which is plausible given the IP fragmentation).
I think it’s important though for us to know that whatever value we specify in the Task is going to be limited by the Bare Metal Server’s ‘Max TFTP segment size’ value so we don’t burn time experimenting down that path.
Are there any other performance settings available that I might be missing?