Fixing FlowMod comparison bug
Also, implemented barriers before sending installed notification to high-level runtime
Change-Id: I17de82d4d0d2d5656e003c784084da172339aaf1
diff --git a/src/main/java/net/onrc/onos/intent/Match.java b/src/main/java/net/onrc/onos/intent/Match.java
index 5adb598..886fb64 100644
--- a/src/main/java/net/onrc/onos/intent/Match.java
+++ b/src/main/java/net/onrc/onos/intent/Match.java
@@ -1,5 +1,7 @@
package net.onrc.onos.intent;
+import java.util.Arrays;
+
import net.floodlightcontroller.util.MACAddress;
//import net.onrc.onos.ofcontroller.networkgraph.Port;
//import net.onrc.onos.ofcontroller.networkgraph.Switch;
@@ -30,9 +32,9 @@
if(obj instanceof Match) {
Match other = (Match) obj;
return this.sw == other.sw &&
- this.srcMac.equals(other.srcMac) &&
- this.dstMac.equals(other.dstMac) &&
- this.srcPort == other.srcPort;
+ this.srcMac.equals(other.srcMac) &&
+ this.dstMac.equals(other.dstMac) &&
+ this.srcPort == other.srcPort;
}
else {
return false;
@@ -51,4 +53,14 @@
public String toString() {
return "Sw:" + sw + " (" + srcPort + "," + srcMac + "," + dstMac + ")";
}
+
+ @Override
+ public int hashCode() {
+ long[] nums = new long[4];
+ nums[0] = sw;
+ nums[1] = srcPort;
+ nums[2] = srcMac.toLong();
+ nums[3] = dstMac.toLong();
+ return Arrays.hashCode(nums);
+ }
}