diff --git a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java index 348b2944fe..9f26230115 100644 --- a/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java +++ b/providers/openflow/flow/src/main/java/org/onlab/onos/provider/of/flow/impl/OpenFlowRuleProvider.java @@ -396,7 +396,6 @@ public class OpenFlowRuleProvider extends AbstractProvider implements FlowRulePr public void fail(OFErrorMsg msg, Dpid dpid) { ok.set(false); - removeRequirement(dpid); FlowEntry fe = null; FlowRuleBatchEntry fbe = fms.get(msg.getXid()); failedId = fbe.id(); @@ -446,6 +445,7 @@ public class OpenFlowRuleProvider extends AbstractProvider implements FlowRulePr } offendingFlowMods.add(fe); + removeRequirement(dpid); }