[ONOS-6557]Add PiCriterion and PiInstruction builders for flow rules

Change-Id: I9fd8b04f8d0f6c9886825dd6d7e782fd3cce7ae9
diff --git a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java
index 08c9cf5..f932f04 100644
--- a/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java
+++ b/core/api/src/main/java/org/onosproject/net/flow/DefaultTrafficTreatment.java
@@ -35,6 +35,8 @@
 
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
+import org.onosproject.net.pi.runtime.PiTableAction;
+
 import static com.google.common.base.Preconditions.checkNotNull;
 
 /**
@@ -244,6 +246,7 @@
                 case L2MODIFICATION:
                 case L3MODIFICATION:
                 case L4MODIFICATION:
+                case PROTOCOL_INDEPENDENT:
                 case EXTENSION:
                     current.add(instruction);
                     break;
@@ -473,6 +476,11 @@
         }
 
         @Override
+        public Builder piTableAction(PiTableAction piTableAction) {
+            return add(Instructions.piTableAction(piTableAction));
+        }
+
+        @Override
         public TrafficTreatment.Builder extension(ExtensionTreatment extension,
                                                   DeviceId deviceId) {
             return add(Instructions.extension(extension, deviceId));