Adding a driver for OF-DPA in Qumran based switches.

Change-Id: I0dae54488e02dbd86c9bb81c556efba2f3f3f0dd
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java
index cd25643..77efbe6 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa2Pipeline.java
@@ -199,6 +199,15 @@
         return true;
     }
 
+    /**
+     * Determines whether in-port should be matched on in TMAC table rules.
+     *
+     * @return true if match on in-port should be programmed
+     */
+    protected boolean matchInPortTmacTable() {
+        return true;
+    }
+
     //////////////////////////////////////
     //  Flow Objectives
     //////////////////////////////////////
@@ -624,7 +633,9 @@
             // for unicast IP packets
             TrafficSelector.Builder selector = DefaultTrafficSelector.builder();
             TrafficTreatment.Builder treatment = DefaultTrafficTreatment.builder();
-            selector.matchInPort(pnum);
+            if (matchInPortTmacTable()) {
+                selector.matchInPort(pnum);
+            }
             if (requireVlanExtensions()) {
                 selector.extension(ofdpaMatchVlanVid, deviceId);
             } else {
@@ -645,7 +656,9 @@
             //for MPLS packets
             selector = DefaultTrafficSelector.builder();
             treatment = DefaultTrafficTreatment.builder();
-            selector.matchInPort(pnum);
+            if (matchInPortTmacTable()) {
+                selector.matchInPort(pnum);
+            }
             if (requireVlanExtensions()) {
                 selector.extension(ofdpaMatchVlanVid, deviceId);
             } else {
@@ -668,7 +681,9 @@
              */
             selector = DefaultTrafficSelector.builder();
             treatment = DefaultTrafficTreatment.builder();
-            selector.matchInPort(pnum);
+            if (matchInPortTmacTable()) {
+                selector.matchInPort(pnum);
+            }
             if (requireVlanExtensions()) {
                 selector.extension(ofdpaMatchVlanVid, deviceId);
             } else {