[ONOS-7504] Skip adding or removing flows when operation is ADD_TO_EXIST or REMOVE_FROM_EXIST
Change-Id: Ia45ae50ceb94423df19cc1916dd794e736b9af1b
diff --git a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/pipeliner/FabricNextPipeliner.java b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/pipeliner/FabricNextPipeliner.java
index 0047bd6..ed10839 100644
--- a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/pipeliner/FabricNextPipeliner.java
+++ b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/pipeliner/FabricNextPipeliner.java
@@ -28,6 +28,7 @@
import org.onosproject.net.flow.instructions.Instructions.OutputInstruction;
import org.onosproject.net.flowobjective.DefaultNextObjective;
import org.onosproject.net.flowobjective.NextObjective;
+import org.onosproject.net.flowobjective.Objective;
import org.onosproject.net.flowobjective.ObjectiveError;
import org.onosproject.net.group.DefaultGroupBucket;
import org.onosproject.net.group.DefaultGroupDescription;
@@ -169,6 +170,12 @@
nextObjective.appId()));
// flow
+ // If operation is ADD_TO_EXIST or REMOVE_FROM_EXIST, means we modify
+ // group buckets only, no changes for flow rule
+ if (nextObjective.op() == Objective.Operation.ADD_TO_EXISTING ||
+ nextObjective.op() == Objective.Operation.REMOVE_FROM_EXISTING) {
+ return;
+ }
TrafficSelector selector = buildNextIdSelector(nextObjective.id());
TrafficTreatment treatment = DefaultTrafficTreatment.builder()
.piTableAction(PiActionGroupId.of(nextObjective.id()))