[ovs-git] Open vSwitch: vconn: Fix vconn_get_status() return value when connection in progress. (master)

dev at openvswitch.org dev at openvswitch.org
Sat Mar 1 02:15:26 UTC 2014


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Open vSwitch".

The branch, master has been updated
       via  77587e0fef5818b5a873932c573781a14eb9edfb (commit)
      from  9159b85862a86fab20e308601602a5b2ab08c933 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 77587e0fef5818b5a873932c573781a14eb9edfb
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=77587e0fef5818b5a873932c573781a14eb9edfb
Author: Ben Pfaff <blp at nicira.com>
		
vconn: Fix vconn_get_status() return value when connection in progress.
		
When a connection takes a few rounds of the state machine to complete,
'error' gets filled with EAGAIN until that completes.  This didn't match
the vconn_get_status() documentation, which says that it only returns a
positive errno value if there was an error.  One could fix the problem
by updating the documentation (and the callers) or by updating the
implementation.  I decided that the latter was the way to go because
the distinction between the TCP connection being in progress or complete
isn't visible to the client; what is visible to the client is the OpenFlow
negotiation being complete.

This problem is difficult to find in the unit tests because TCP connections
to localhost complete immediately.

Bug introduced by commit accaecc419cc57d (rconn: Discover errors in
rconn_run() even if rconn_recv() is never called.)

Reported-by: Anuprem Chalvadi <achalvadi at vmware.com>
Signed-off-by: Ben Pfaff <blp at nicira.com>


-----------------------------------------------------------------------

Summary of changes:
 AUTHORS     |    1 +
 lib/vconn.c |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
Open vSwitch


More information about the git mailing list