| package net.onrc.onos.intent; |
| |
| import net.floodlightcontroller.util.MACAddress; |
| //import net.onrc.onos.ofcontroller.networkgraph.Port; |
| //import net.onrc.onos.ofcontroller.networkgraph.Switch; |
| import net.onrc.onos.ofcontroller.util.FlowEntryMatch; |
| |
| /** |
| * |
| * @author Brian O'Connor <bocon@onlab.us> |
| * |
| */ |
| |
| public class Match { |
| protected long sw; |
| protected MACAddress srcMac; |
| protected MACAddress dstMac; |
| protected long srcPort; |
| |
| public Match(long sw, long srcPort, |
| MACAddress srcMac, MACAddress dstMac) { |
| this.sw = sw; |
| this.srcPort = srcPort; |
| this.srcMac = srcMac; |
| this.dstMac = dstMac; |
| } |
| |
| @Override |
| public boolean equals(Object obj) { |
| 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; |
| } |
| else { |
| return false; |
| } |
| } |
| |
| public FlowEntryMatch getFlowEntryMatch(){ |
| FlowEntryMatch match = new FlowEntryMatch(); |
| match.enableSrcMac(srcMac); |
| match.enableDstMac(dstMac); |
| match.enableInPort(new net.onrc.onos.ofcontroller.util.Port((short) srcPort)); |
| return match; |
| } |
| |
| @Override |
| public String toString() { |
| return "Sw:" + sw + " (" + srcPort + "," + srcMac + "," + dstMac + ")"; |
| } |
| } |