Small Receive Window Size

Onload User Guide (UG1586)

Document ID
UG1586
Release Date
2023-07-31
Revision
1.2 English

Onload, by default, does not behave like the kernel if the remote receiving end of a connection advertises a receive window too small for the data Onload needs to send. The kernel stack will split waiting data to fill the available window space. Onload would probe the remote end with up to three ACKs to prompt the remote end to increase the advertised receive window size before sending the entire packet.

The following compile time option can be enabled to force Onload to behave as the kernel does:

#define CI_CFG_SPLIT_SEND_PACKETS_FOR_SMALL_RECEIVE_WINDOWS

The flag, in the include/ci/internal/transport_config_opt.h file, is disabled by default, Set to 1 to enable.