[ONOS-5171] FlowRuleStore: add purgeFlowEntries
The FlowRuleStore exposes purgeFlowEntry(DeviceId),
which purges from the store by a specific device.
Add purgeFlowEntries, to purge entries from all devices.
Change-Id: I0ec50d2bbb8b39097189f9e332dc3efd281bc811
diff --git a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java
index ef8bfe5..9e2c53d 100644
--- a/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java
+++ b/core/store/dist/src/main/java/org/onosproject/store/flow/impl/DistributedFlowRuleStore.java
@@ -624,6 +624,11 @@
}
@Override
+ public void purgeFlowRules() {
+ flowTable.purgeFlowRules();
+ }
+
+ @Override
public void batchOperationComplete(FlowRuleBatchEvent event) {
//FIXME: need a per device pending response
NodeId nodeId = pendingResponses.remove(event.subject().batchId());
@@ -872,6 +877,10 @@
flowEntries.remove(deviceId);
}
+ public void purgeFlowRules() {
+ flowEntries.clear();
+ }
+
private List<NodeId> getBackupNodes(DeviceId deviceId) {
// The returned backup node list is in the order of preference i.e. next likely master first.
List<NodeId> allPossibleBackupNodes = replicaInfoManager.getReplicaInfoFor(deviceId).backups();