c++linuxsocketsnetwork-programmingopenonload

Is it possible to use ONLOAD_MSG_WARM flag with zero length buffer?


When running network app under OpenOnload is it possible/makes sense to use ONLOAD_MSG_WARM flag with zero length buffer (as is supposed to warm up sending path on standard Linux TCP stack)?

E.g.

// Warm up TCP sending path.
char buf[1];
send(
   socket,
   buf,
   0, // pass zero to prevent actual sending if socket unaccelerated
   ONLOAD_MSG_WARM);

Solution

  • Unfortunately it's not possible to use packet length 0 with ONLOAD_MSG_WARM, there will be no warming effect on sending path.

    Also, in OpenOnload version before 201509, if you set the length to zero it may segfault.