[ovs-git] Open vSwitch: ofproto-dpif: Destroy bundle after moving its last port out. (branch-1.9)

dev at openvswitch.org dev at openvswitch.org
Wed Aug 14 18:56:36 UTC 2013


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, branch-1.9 has been updated
       via  37e6e4a7adf6ba46748c077fe785fac490118794 (commit)
      from  c5cbd6b25465afd6784b77118ed3ab4ed3c11175 (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 37e6e4a7adf6ba46748c077fe785fac490118794
Diffs: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff;h=37e6e4a7adf6ba46748c077fe785fac490118794
Author: Ben Pfaff <blp at nicira.com>
		
ofproto-dpif: Destroy bundle after moving its last port out.
		
When the ofp_port argument to bundle_add_port() refers to an ofport_dpif
that already belongs to some other bundle, bundle_add_port() removed
the port from the other bundle, correctly, with bundle_del_port().
If the other bundle now contained no ports, however, this violated the
invariant that a bundle always contains at least one port.

Normally, this would get fixed up when the other bundle was processed
later during reconfiguration.  I haven't quite zeroed in on the exact
case where this is not true, but segfaults have happened here in
production, in particular when port adds and deletes happen simultaneously
and the new port reuses the OpenFlow port number of one of the deleted
ports.  It seems that the duplicate port number allows some port to rip
away the new port from its bundle without destroying that bundle.  I
suspect, therefore, that there is still a more subtle bug here, but I
hope that this will fix the segfault.

Bug #18967.
Signed-off-by: Ben Pfaff <blp at nicira.com>


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

Summary of changes:
 ofproto/ofproto-dpif.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)


hooks/post-receive
-- 
Open vSwitch



More information about the git mailing list