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 {