[gPXE] any negative implications of setting TCP window size to (65536 - 4) ?

Peter Scheie peter at scheie.homedns.org
Mon Feb 1 18:08:23 EST 2010


The default setting for the TCP window size, as set by #define 
TCP_MAX_WINDOW_SIZE in src/include/gpxe/tcp.h, is 4096. With this setting, it 
was taking 8-10 minutes for gpxe to download my 22MB initramfs over the 
internet.  At the suggestion of people on #etherboot, I changed it to 65536 - 4, 
which was listed in tcp.h but commented out in favor of the 4k setting. At this 
new setting, downloading the 22MB file takes only about 30 seconds!

I understand that gpxe has no ability to handle out-of-order packets, so a 
possible negative effect is that if there is disruption in the packet flow, the 
whole window will need to be resent.  But in my testing so far, even if that is 
happening, downloading is still much faster.  Are there any other potential 
pitfalls from using the larger window size?  Why is the default set so low?

Peter


More information about the gPXE mailing list