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:
The flag, in the include/ci/internal/transport_config_opt.h file, is disabled by default, Set to 1 to enable.