Created attachment 256141 [details] packet trace I am seeing what I believe is faulty behavior when a Linux client connects to a TCP/IPv4 server which advertises a very small initial window. After the client sends a small segment limited to this small window, the server ACKs the data and extends the window considerably, but the client proceeds to send very small segments. Here is a summary of the packets: - Client: SYN - Server: SYN,ACK,Win=1 - Client: ACK - Client: ACK,Data=1B - Server: ACK,Win=49984 - Client: ACK,Data=47B - Client: ACK,Data=48B - Client: ACK,Data=48B - Client: ACK,Data=48B ... This example was with initially advertised window (WIN) equal to 1, but generally it appears that Linux will limit outgoing segments to no more than max(48,WIN). I have tested the server with a Windows 10 client which does not have this problem, the client starts sending fully sized segments when the window is extended.