bridge: Add flow in reconfiguring only after flow translation is possible.
authorBen Pfaff <blp@nicira.com>
Tue, 3 Jan 2012 21:23:35 +0000 (13:23 -0800)
committerBen Pfaff <blp@nicira.com>
Tue, 3 Jan 2012 21:23:35 +0000 (13:23 -0800)
commitd7332ccca3c0cabc9b5f8ae6dd8f8a974d12aa70
treeceb21539b6319ff78eb976d8d4a989d777d8db35
parent6a65da89fd3f187e0e90d1af7b1e8f7c77670578
bridge: Add flow in reconfiguring only after flow translation is possible.

If a bridge is in standalone mode and no controllers are configured, and
then reconfiguration (e.g. ovs-vsctl) adds an SLB or TCP-balanced bond,
and at the moment of reconfiguration active kernel flows exist that output
to the newly added bond, then ovs-vswitchd would segfault because the
bond's 'bond_hash' member is not yet initialized when flows are
retranslated as part of adding the flow that ensures normal standalone
switch behavior.

This commit fixes the problem by adding the flow later, after bonds have
been fully initialized.

NIC-443.
Reported-by: Dominic Curran <dominic.curran@citrix.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
vswitchd/bridge.c