Fixed ONOS-2051 by eliminating treatment and priority from flow id/cookie.
FIxed NPE in port stats collection.
Change-Id: I30954d31c39be959e84fa74f1c4e781d5767f303
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java
index 9bc192b..5a68887 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultFlowRule.java
@@ -330,11 +330,12 @@
* @see java.lang.Object#equals(java.lang.Object)
*/
public int hashCode() {
- return Objects.hash(deviceId, selector, priority, tableId, payLoad);
+ return Objects.hash(deviceId, selector, tableId, payLoad);
}
- public int hash() {
- return Objects.hash(deviceId, selector, treatment, tableId, payLoad);
+ //FIXME do we need this method in addition to hashCode()?
+ private int hash() {
+ return Objects.hash(deviceId, selector, tableId, payLoad);
}
@Override
diff --git a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
index 586365a..9844f15 100644
--- a/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
+++ b/providers/openflow/device/src/main/java/org/onosproject/provider/of/device/impl/OpenFlowDeviceProvider.java
@@ -215,7 +215,7 @@
for (OFPortStatsEntry entry : entries) {
try {
- if (entry.getPortNo().getPortNumber() < 0) {
+ if (entry.getPortNo() == null || entry.getPortNo().getPortNumber() < 0) {
continue;
}
DefaultPortStatistics.Builder builder = DefaultPortStatistics.builder();