[AETHER-38] Extract pipeline-dependent code from current T3 implementation
- Exposes some ofdpa specific tables and types
- Introduces a new driver behavior PipelineTraceable
- OfdpaPipelineTraceable is the first implementation of the
new driver behavior
- New abstractions are introduced to encapsulate the input/output
of the traceables processing
- Implements some basic unit tests for Ofdpa implementation
Change-Id: I89d3fdeda445983ec7ebfa9ebb78afb1c6d3fd8f
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java
index 70aafd4..a020a64 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/ofdpa/Ofdpa2Pipeline.java
@@ -251,6 +251,18 @@
}
/**
+ * Determines whether this pipeline requires second VLAN entry in VLAN table.
+ * OF-DPA hardware requires one VLAN filtering rule and one VLAN assignment
+ * flow in the VLAN table in the case of untagged packets. Software emulations
+ * just use one flow.
+ *
+ * @return true if required
+ */
+ public boolean requireSecondVlanTableEntry() {
+ return true;
+ }
+
+ /**
* Determines whether in-port should be matched on in TMAC table rules.
*
* @return true if match on in-port should be programmed