Adding command to add routes and to generate flows from them.
Enhanced FlowRuleStore and FlowRuleService with a new method.
Change-Id: I011371c1931294448e361fc1ceb120d89c14489d
diff --git a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java
index 9c1a31a..ffcfe0b 100644
--- a/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java
+++ b/core/net/src/main/java/org/onosproject/net/flow/impl/FlowRuleManager.java
@@ -101,6 +101,7 @@
FlowRuleProvider, FlowRuleProviderService>
implements FlowRuleService, FlowRuleProviderRegistry {
+ public static final String DEVICE_ID_NULL = "Device ID cannot be null";
private final Logger log = getLogger(getClass());
public static final String FLOW_RULE_NULL = "FlowRule cannot be null";
@@ -233,8 +234,16 @@
}
@Override
+ public int getFlowRuleCount(DeviceId deviceId) {
+ checkPermission(FLOWRULE_READ);
+ checkNotNull(deviceId, "Device ID cannot be null");
+ return store.getFlowRuleCount(deviceId);
+ }
+
+ @Override
public Iterable<FlowEntry> getFlowEntries(DeviceId deviceId) {
checkPermission(FLOWRULE_READ);
+ checkNotNull(deviceId, DEVICE_ID_NULL);
return store.getFlowEntries(deviceId);
}
@@ -252,6 +261,7 @@
@Override
public void purgeFlowRules(DeviceId deviceId) {
checkPermission(FLOWRULE_WRITE);
+ checkNotNull(deviceId, DEVICE_ID_NULL);
store.purgeFlowRule(deviceId);
}
@@ -343,6 +353,7 @@
*/
@Override
protected synchronized FlowRuleProvider getProvider(DeviceId deviceId) {
+ checkNotNull(deviceId, DEVICE_ID_NULL);
// if device supports FlowRuleProgrammable,
// use FlowRuleProgrammable via FlowRuleDriverProvider
return Optional.ofNullable(deviceService.getDevice(deviceId))
@@ -714,11 +725,13 @@
@Override
public Iterable<TableStatisticsEntry> getFlowTableStatistics(DeviceId deviceId) {
checkPermission(FLOWRULE_READ);
+ checkNotNull(deviceId, DEVICE_ID_NULL);
return store.getTableStatistics(deviceId);
}
@Override
public long getActiveFlowRuleCount(DeviceId deviceId) {
+ checkNotNull(deviceId, DEVICE_ID_NULL);
return store.getActiveFlowRuleCount(deviceId);
}