[CORD-801] OFDPA pipeline for OpenvSwitch
Drops TTL_IN, TTL_OUT and MPLS_BOS instructions which are not supported by OpenvSwitch.
This will allow us to run OFDPA pipeline with OpenvSwitch >= 2.6.0
Change-Id: Icfa6f2fdaa857877a57ae4c719354483b24c5816
diff --git a/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa3Pipeline.java b/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa3Pipeline.java
index 4f9740c..966933b 100644
--- a/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa3Pipeline.java
+++ b/drivers/default/src/main/java/org/onosproject/driver/pipeline/Ofdpa3Pipeline.java
@@ -18,16 +18,11 @@
import org.onlab.packet.VlanId;
import org.onosproject.core.ApplicationId;
-import org.onosproject.core.CoreService;
-import org.onosproject.net.DeviceId;
import org.onosproject.net.behaviour.PipelinerContext;
-import org.onosproject.net.device.DeviceService;
import org.onosproject.net.flow.FlowRule;
-import org.onosproject.net.flow.FlowRuleService;
import org.onosproject.net.flow.criteria.PortCriterion;
import org.onosproject.net.flow.criteria.VlanIdCriterion;
import org.onosproject.net.flowobjective.ForwardingObjective;
-import org.onosproject.net.group.GroupService;
import java.util.Collection;
import java.util.List;
@@ -37,24 +32,15 @@
*/
public class Ofdpa3Pipeline extends Ofdpa2Pipeline {
@Override
- public void init(DeviceId deviceId, PipelinerContext context) {
- this.deviceId = deviceId;
-
- // Initialize OFDPA group handler
- groupHandler = new Ofdpa3GroupHandler();
- groupHandler.init(deviceId, context);
-
- serviceDirectory = context.directory();
- coreService = serviceDirectory.get(CoreService.class);
- flowRuleService = serviceDirectory.get(FlowRuleService.class);
- groupService = serviceDirectory.get(GroupService.class);
- flowObjectiveStore = context.store();
- deviceService = serviceDirectory.get(DeviceService.class);
-
+ protected void initDriverId() {
driverId = coreService.registerApplication(
"org.onosproject.driver.Ofdpa3Pipeline");
+ }
- initializePipeline();
+ @Override
+ protected void initGroupHander(PipelinerContext context) {
+ groupHandler = new Ofdpa3GroupHandler();
+ groupHandler.init(deviceId, context);
}
@Override