Added a number of container classes that will be used for
Flow Path computation and installation.
diff --git a/src/main/java/net/floodlightcontroller/util/FlowEntryMatch.java b/src/main/java/net/floodlightcontroller/util/FlowEntryMatch.java
new file mode 100644
index 0000000..a8f43f5
--- /dev/null
+++ b/src/main/java/net/floodlightcontroller/util/FlowEntryMatch.java
@@ -0,0 +1,105 @@
+package net.floodlightcontroller.util;
+
+import net.floodlightcontroller.util.MACAddress;
+import net.floodlightcontroller.util.IPv4Net;
+
+/**
+ * The class representing the Flow Entry Matching filter.
+ *
+ * The Flow Entry matching filter that is used to specify
+ * the network data that would be forwarded on the data path from
+ * the source to the destination. Examples: MAC address (of the
+ * sender), IP prefix that includes the destination's IP address, etc.
+ *
+ * NOTE: The FlowEntryMatch specification below is incomplete: we need
+ * more matching fields, we need to indicate which fields need to be
+ * matched, etc.
+ */
+public class FlowEntryMatch {
+ private MACAddress srcMac; // Matching source MAC address
+ private MACAddress dstMac; // Matching destination MAC address
+ private IPv4Net srcIPv4Net; // Matching source IPv4 prefix
+ private IPv4Net dstIPv4Net; // Matching destination IPv4 prefix
+
+ /**
+ * Default constructor.
+ */
+ public FlowEntryMatch() {
+ }
+
+ /**
+ * Get the matching source MAC address.
+ *
+ * @return the matching source MAC address.
+ */
+ public MACAddress srcMac() { return srcMac; }
+
+ /**
+ * Set the matching source MAC address.
+ *
+ * @param srcMac the matching source MAC address to set.
+ */
+ public void setSrcMac(MACAddress srcMac) {
+ this.srcMac = srcMac;
+ }
+
+ /**
+ * Get the matching destination MAC address.
+ *
+ * @return the matching destination MAC address.
+ */
+ public MACAddress dstMac() { return dstMac; }
+
+ /**
+ * Set the matching destination MAC address.
+ *
+ * @param dstMac the matching destination MAC address to set.
+ */
+ public void setDstMac(MACAddress dstMac) {
+ this.dstMac = dstMac;
+ }
+
+ /**
+ * Get the matching source IPv4 prefix.
+ *
+ * @return the matching source IPv4 prefix.
+ */
+ public IPv4Net srcIPv4Net() { return srcIPv4Net; }
+
+ /**
+ * Set the matching source IPv4 prefix.
+ *
+ * @param srcIPv4Net the matching source IPv4 prefix to set.
+ */
+ public void setSrcIPv4Net(IPv4Net srcIPv4Net) {
+ this.srcIPv4Net = srcIPv4Net;
+ }
+
+ /**
+ * Get the matching destination IPv4 prefix.
+ *
+ * @return the matching destination IPv4 prefix.
+ */
+ public IPv4Net dstIPv4Net() { return dstIPv4Net; }
+
+ /**
+ * Set the matching destination IPv4 prefix.
+ *
+ * @param srcIPv4Net the matching destination IPv4 prefix to set.
+ */
+ public void setDstIPv4Net(IPv4Net dstIPv4Net) {
+ this.dstIPv4Net = dstIPv4Net;
+ }
+
+ /**
+ * Convert the matching filter to a string.
+ *
+ * @return the matching filter as a string.
+ */
+ @Override
+ public String toString() {
+ String ret = "";
+ // TODO: Implement it!
+ return ret;
+ }
+}