Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
6073
Description
I observed that some flow entries in config DS were not installed to switch by flow reconciliation occasionally.
1. Start controller and install He plugin, and start OF13 switch.
2. Put some groups into config DS.
3. Put some flows that contain group-action that references to the group configured by step 2.
4. Restart OF13 switch.
Step 4 triggers flow/group reconciliation. FlowNodeReconciliationImpl invokes add-group RPC to install all the groups in config DS, and then invokes add-flow RPC to install all the flows in config DS. But those RPC invocations may be reordered because He plugin executes RPCs in parallel using multiple threads. If a FLOW_MOD message is sent to OF13 switch before a GROUP_MOD message that installs group referenced by that flow, OF13 switch will reject that flow and return OFPBAC_BAD_OUT_GROUP error.
That is why FRM needs to wait for completion of group reconciliation before flow reconciliation.