[ovs-dev] [PATCH 3/8] vconn: Allow timout configuration for blocking connection.

Ben Pfaff blp at ovn.org
Thu Dec 27 17:36:42 UTC 2018


On Wed, Dec 26, 2018 at 06:23:56PM +0300, Ilya Maximets wrote:
> On some systems in case where remote is not responding, socket could
> remain in SYN_SENT state for a really long time without errors waiting
> for connection. This leads to situations where vconn connection hangs
> for a few minutes waiting for connection to the DOWN remote.
> 
> For example, this situation emulated by "refuse-connection" vconn
> testcase. This leads to test failures because Alarm signal arrives much
> faster than ETIMEDOUT from the socket:
> 
>   ./vconn.at:21: ovstest test-vconn refuse-connection tcp
>   Alarm clock
>   stderr:
>   |socket_util|INFO|0:127.0.0.1: listening on port 63812
>   |poll_loop|DBG|wakeup due to 0-ms timeout
>   |poll_loop|DBG|wakeup due to 10155-ms timeout
>   |fatal_signal|WARN|terminating with signal 14 (Alarm clock)
>   ./vconn.at:21: exit code was 142, expected 0
>   vconn.at:21: 535. tcp vconn - refuse connection (vconn.at:21): FAILED
> 
> This patch allowes to specify timeout value for vconn blocking
> connections. If the connection takes more time, socket will be closed
> with ETIMEDOUT error code. Negative value could be used to wait
> infinitely.
> 
> Signed-off-by: Ilya Maximets <i.maximets at samsung.com>

Same comments as patch 2.

Are the timeouts only useful for the test cases?  I wonder whether just
calling alarm(10); at the beginning of the test programs would be just
as helpful.  On the other hand, it would make using a debugger on those
programs harder.


More information about the dev mailing list