[ONOS-7285][ONOS-7263] VLAN support by fabric.p4

Change-Id: I9ea460bca2698eb74f0d4988830a1e7cc7bc2768
diff --git a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
index d8db593..5bb6a5d 100644
--- a/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
+++ b/pipelines/fabric/src/main/java/org/onosproject/pipelines/fabric/FabricConstants.java
@@ -59,6 +59,8 @@
             buildPiMatchField(ETHERNET, "src_addr", true);
     public static final PiMatchFieldId HF_ICMP_ICMP_TYPE_ID =
             buildPiMatchField(ICMP, "icmp_type", true);
+    public static final PiMatchFieldId HF_STANDARD_METADATA_EGRESS_PORT_ID =
+            buildPiMatchField(STANDARD_METADATA, "egress_port", false);
     public static final PiMatchFieldId HF_FABRIC_METADATA_NEXT_ID_ID =
             buildPiMatchField(FABRIC_METADATA, "next_id", false);
     public static final PiMatchFieldId HF_FABRIC_METADATA_L4_DST_PORT_ID =
@@ -91,6 +93,8 @@
             PiTableId.of("FabricIngress.forwarding.acl");
     public static final PiTableId TBL_HASHED_ID =
             PiTableId.of("FabricIngress.next.hashed");
+    public static final PiTableId TBL_EGRESS_VLAN_ID =
+            PiTableId.of("FabricEgress.egress_next.egress_vlan");
     public static final PiTableId TBL_MPLS_ID =
             PiTableId.of("FabricIngress.forwarding.mpls");
     public static final PiTableId TBL_MULTICAST_ID =
@@ -105,12 +109,14 @@
             PiTableId.of("FabricIngress.filtering.fwd_classifier");
     public static final PiTableId TBL_BRIDGING_ID =
             PiTableId.of("FabricIngress.forwarding.bridging");
+    public static final PiTableId TBL_SIMPLE_ID =
+            PiTableId.of("FabricIngress.next.simple");
     public static final PiTableId TBL_INGRESS_PORT_VLAN_ID =
             PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
     public static final PiTableId TBL_UNICAST_V6_ID =
             PiTableId.of("FabricIngress.forwarding.unicast_v6");
-    public static final PiTableId TBL_SIMPLE_ID =
-            PiTableId.of("FabricIngress.next.simple");
+    public static final PiTableId TBL_VLAN_META_ID =
+            PiTableId.of("FabricIngress.next.vlan_meta");
 
     // Indirect Counter IDs
     public static final PiCounterId CNT_EGRESS_PORT_COUNTER_ID =
@@ -123,8 +129,8 @@
             PiCounterId.of("FabricIngress.forwarding.acl_counter");
     public static final PiCounterId CNT_MULTICAST_COUNTER_ID =
             PiCounterId.of("FabricIngress.next.multicast_counter");
-    public static final PiCounterId CNT_SIMPLE_COUNTER_ID =
-            PiCounterId.of("FabricIngress.next.simple_counter");
+    public static final PiCounterId CNT_VLAN_META_COUNTER_ID =
+            PiCounterId.of("FabricIngress.next.vlan_meta_counter");
     public static final PiCounterId CNT_FWD_CLASSIFIER_COUNTER_ID =
             PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
     public static final PiCounterId CNT_BRIDGING_COUNTER_ID =
@@ -137,6 +143,8 @@
             PiCounterId.of("FabricIngress.forwarding.unicast_v6_counter");
     public static final PiCounterId CNT_UNICAST_V4_COUNTER_ID =
             PiCounterId.of("FabricIngress.forwarding.unicast_v4_counter");
+    public static final PiCounterId CNT_SIMPLE_COUNTER_ID =
+            PiCounterId.of("FabricIngress.next.simple_counter");
     public static final PiCounterId CNT_INGRESS_PORT_VLAN_COUNTER_ID =
             PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
     public static final PiCounterId CNT_MPLS_COUNTER_ID =
@@ -147,8 +155,12 @@
     // Action IDs
     public static final PiActionId ACT_FABRICINGRESS_FILTERING_DROP_ID =
             PiActionId.of("FabricIngress.filtering.drop");
+    public static final PiActionId ACT_FABRICINGRESS_NEXT_SET_VLAN_ID =
+            PiActionId.of("FabricIngress.next.set_vlan");
     public static final PiActionId ACT_FABRICINGRESS_FORWARDING_POP_MPLS_AND_NEXT_ID =
             PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
+    public static final PiActionId ACT_FABRICEGRESS_EGRESS_NEXT_POP_VLAN_ID =
+            PiActionId.of("FabricEgress.egress_next.pop_vlan");
     public static final PiActionId ACT_FABRICINGRESS_FILTERING_SET_FORWARDING_TYPE_ID =
             PiActionId.of("FabricIngress.filtering.set_forwarding_type");
     public static final PiActionId ACT_NOP_ID = PiActionId.of("nop");
@@ -156,6 +168,10 @@
             PiActionId.of("FabricIngress.filtering.set_vlan");
     public static final PiActionId ACT_FABRICINGRESS_NEXT_MPLS_ROUTING_V6_ID =
             PiActionId.of("FabricIngress.next.mpls_routing_v6");
+    public static final PiActionId ACT_FABRICEGRESS_PKT_IO_EGRESS_POP_VLAN_ID =
+            PiActionId.of("FabricEgress.pkt_io_egress.pop_vlan");
+    public static final PiActionId ACT_FABRICINGRESS_NEXT_L3_ROUTING_VLAN_ID =
+            PiActionId.of("FabricIngress.next.l3_routing_vlan");
     public static final PiActionId ACT_NOACTION_ID = PiActionId.of("NoAction");
     public static final PiActionId ACT_FABRICINGRESS_NEXT_SET_MCAST_GROUP_ID =
             PiActionId.of("FabricIngress.next.set_mcast_group");
@@ -203,6 +219,5 @@
             PiControlMetadataId.of("ingress_port");
     public static final PiControlMetadataId CTRL_META_EGRESS_PORT_ID =
             PiControlMetadataId.of("egress_port");
-
     public static final int PORT_BITWIDTH = 9;
 }