It has been observed that when we upgrade openvswitch with thousands of openflow flows already established and there is heavy traffic going through the switch, restoring flows can take a very long time (8 minutes in one use case) with CPU running at 100%. This can make the upgrade very expensive.
This commit restores openflow flows after disabling vswitchd packet processing from the datapath. Once the flows are restored, it enables packet processing. Bug #16086. Signed-off-by: Gurucharan Shetty <gshe...@nicira.com> --- utilities/ovs-ctl.in | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in index 1f10491..837f6ac 100755 --- a/utilities/ovs-ctl.in +++ b/utilities/ovs-ctl.in @@ -305,8 +305,10 @@ restore_ofports () { } restore_flows () { - [ -x "${script_flows}" ] && \ + [ -x "${script_flows}" ] && ovs-appctl recv-disable && \ action "Restoring saved flows" "${script_flows}" + + ovs-appctl recv-enable } restore_interfaces () { -- 1.7.9.5 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev