When a kernel UDP socket is unconnected, a shutdown() call will prompt a blocking recv() operation on the socket to successfully complete. When an Onload UDP socket is unconnected, a shutdown() call does not successfully complete a blocking recv() call and thereafter the socket fd cannot be reused.
When a UDP socket is connected, kernel and Onload behavior is the same, a shutdown() call will prompt a blocking recv() operation to complete successfully.
Note: Kernel behavior might differ between
different kernel versions.