[ovs-dev] [PATCH] bridge.c: prevent controller connects while flow-restore-wait

Ben Pfaff blp at ovn.org
Fri Oct 26 03:48:22 UTC 2018


On Thu, Oct 25, 2018 at 11:09:09AM -0700, Zak Whittington wrote:
> When force-reload-kmod is used, it shows an error when reinstalling
> tlvs during "Restoring saved flows" step:
> OFPT_ERROR (xid=0x4): NXTTMFC_ALREADY_MAPPED
> 
> This is caused by a race condition between the restore script,
> which calls ofctl, and the connected controllers both adding back
> the same TLVs.
> 
> The restore script already sets flow-restore-wait to true while
> doing flow restoration, and sets it back to false after it is
> done, and this patch utilizes that fact to prevent the TLV race.
> It does this by preventing vswitchd from connecting to
> controllers in the controller table while it is in a
> flow-restore-wait state.
> 
> With this patch, when bridge_configure_remotes() calls
> bridge_get_controllers(), it first checks if flow-restore-wait
> has been set, and if so, it ignores any controllers in the
> controller database and sets n_controllers to 0.

Thanks for the patch.  I applied this to master and backported as far as 


More information about the dev mailing list