blob: 23580f4f50228f4e4f19ffe592955b689e9005fb [file] [log] [blame]
Yi Tsengbe342052017-11-03 10:21:23 -07001/*
2 * Copyright 2017-present Open Networking Foundation
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package org.onosproject.pipelines.fabric;
18
19import org.onosproject.net.pi.model.PiActionId;
20import org.onosproject.net.pi.model.PiActionParamId;
21import org.onosproject.net.pi.model.PiActionProfileId;
22import org.onosproject.net.pi.model.PiControlMetadataId;
23import org.onosproject.net.pi.model.PiCounterId;
24import org.onosproject.net.pi.model.PiMatchFieldId;
25import org.onosproject.net.pi.model.PiTableId;
26/**
27 * Constants for fabric pipeline.
28 */
29public final class FabricConstants {
30
31 // hide default constructor
32 private FabricConstants() {
33 }
34
Yi Tsengbe342052017-11-03 10:21:23 -070035 // Header field IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +080036 public static final PiMatchFieldId HDR_VLAN_TAG_VLAN_ID =
37 PiMatchFieldId.of("hdr.vlan_tag.vlan_id");
38 public static final PiMatchFieldId HDR_MPLS_LABEL =
39 PiMatchFieldId.of("hdr.mpls.label");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090040 public static final PiMatchFieldId STANDARD_METADATA_EGRESS_PORT =
41 PiMatchFieldId.of("standard_metadata.egress_port");
42 public static final PiMatchFieldId STANDARD_METADATA_INGRESS_PORT =
43 PiMatchFieldId.of("standard_metadata.ingress_port");
44 public static final PiMatchFieldId HDR_VLAN_TAG_IS_VALID =
45 PiMatchFieldId.of("hdr.vlan_tag.is_valid");
46 public static final PiMatchFieldId HDR_ICMP_ICMP_CODE =
47 PiMatchFieldId.of("hdr.icmp.icmp_code");
Yi Tseng43ee7e82018-04-12 16:37:34 +080048 public static final PiMatchFieldId HDR_ETHERNET_SRC_ADDR =
49 PiMatchFieldId.of("hdr.ethernet.src_addr");
50 public static final PiMatchFieldId HDR_ICMP_ICMP_TYPE =
51 PiMatchFieldId.of("hdr.icmp.icmp_type");
Yi Tseng8235a1a2018-07-24 20:57:28 +080052 public static final PiMatchFieldId HDR_VLAN_TAG_ETHER_TYPE =
53 PiMatchFieldId.of("hdr.vlan_tag.ether_type");
Yi Tseng8235a1a2018-07-24 20:57:28 +080054 public static final PiMatchFieldId HDR_IPV4_DST_ADDR =
55 PiMatchFieldId.of("hdr.ipv4.dst_addr");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090056 public static final PiMatchFieldId HDR_INT_HEADER_INSTRUCTION_MASK_0003 =
57 PiMatchFieldId.of("hdr.int_header.instruction_mask_0003");
58 public static final PiMatchFieldId FABRIC_METADATA_L4_SRC_PORT =
59 PiMatchFieldId.of("fabric_metadata.l4_src_port");
60 public static final PiMatchFieldId FABRIC_METADATA_L4_DST_PORT =
61 PiMatchFieldId.of("fabric_metadata.l4_dst_port");
62 public static final PiMatchFieldId STANDARD_METADATA_EGRESS_SPEC =
63 PiMatchFieldId.of("standard_metadata.egress_spec");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070064 public static final PiMatchFieldId GTPU_IPV4_DST_ADDR =
65 PiMatchFieldId.of("gtpu_ipv4.dst_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +080066 public static final PiMatchFieldId FABRIC_METADATA_IP_PROTO =
67 PiMatchFieldId.of("fabric_metadata.ip_proto");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090068 public static final PiMatchFieldId FABRIC_METADATA_NEXT_ID =
69 PiMatchFieldId.of("fabric_metadata.next_id");
70 public static final PiMatchFieldId HDR_IPV4_SRC_ADDR =
71 PiMatchFieldId.of("hdr.ipv4.src_addr");
72 public static final PiMatchFieldId HDR_INT_HEADER_INSTRUCTION_MASK_0407 =
73 PiMatchFieldId.of("hdr.int_header.instruction_mask_0407");
74 public static final PiMatchFieldId HDR_IPV6_DST_ADDR =
75 PiMatchFieldId.of("hdr.ipv6.dst_addr");
76 public static final PiMatchFieldId IPV4_DST_ADDR =
77 PiMatchFieldId.of("ipv4.dst_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +080078 public static final PiMatchFieldId HDR_ETHERNET_DST_ADDR =
79 PiMatchFieldId.of("hdr.ethernet.dst_addr");
Yi Tsengbe342052017-11-03 10:21:23 -070080 // Table IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +080081 public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
Yi Tseng27b9bc02018-04-12 14:52:40 +080082 PiTableId.of("FabricIngress.next.hashed");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020083 public static final PiTableId FABRIC_INGRESS_FORWARDING_MULTICAST_V4 =
84 PiTableId.of("FabricIngress.forwarding.multicast_v4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090085 public static final PiTableId FABRIC_INGRESS_FORWARDING_MULTICAST_V6 =
86 PiTableId.of("FabricIngress.forwarding.multicast_v6");
87 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_SOURCE_TB_INT_SOURCE =
88 PiTableId.of("FabricEgress.process_int_source.tb_int_source");
89 public static final PiTableId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER =
90 PiTableId.of("FabricIngress.filtering.fwd_classifier");
91 public static final PiTableId FABRIC_INGRESS_FORWARDING_UNICAST_V4 =
92 PiTableId.of("FabricIngress.forwarding.unicast_v4");
Yi Tseng43ee7e82018-04-12 16:37:34 +080093 public static final PiTableId FABRIC_INGRESS_FORWARDING_UNICAST_V6 =
Yi Tseng27b9bc02018-04-12 14:52:40 +080094 PiTableId.of("FabricIngress.forwarding.unicast_v6");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090095 public static final PiTableId FABRIC_INGRESS_NEXT_SIMPLE =
96 PiTableId.of("FabricIngress.next.simple");
97 public static final PiTableId FABRIC_INGRESS_NEXT_MULTICAST =
98 PiTableId.of("FabricIngress.next.multicast");
99 public static final PiTableId FABRIC_INGRESS_FORWARDING_MPLS =
100 PiTableId.of("FabricIngress.forwarding.mpls");
101 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_TRANSIT_TB_INT_INST_0003 =
102 PiTableId.of("FabricEgress.process_int_transit.tb_int_inst_0003");
103 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_S1U_FILTER_TABLE =
104 PiTableId.of("FabricIngress.spgw_ingress.s1u_filter_table");
105 public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
106 PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
107 public static final PiTableId FABRIC_INGRESS_FORWARDING_ACL =
108 PiTableId.of("FabricIngress.forwarding.acl");
109 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_REPORT_TB_GENERATE_REPORT =
110 PiTableId.of("FabricEgress.process_int_report.tb_generate_report");
111 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_TRANSIT_TB_INT_INST_0407 =
112 PiTableId.of("FabricEgress.process_int_transit.tb_int_inst_0407");
113 public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
114 PiTableId.of("FabricIngress.forwarding.bridging");
115 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_DL_SESS_LOOKUP =
116 PiTableId.of("FabricIngress.spgw_ingress.dl_sess_lookup");
117 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_TRANSIT_TB_INT_INSERT =
118 PiTableId.of("FabricEgress.process_int_transit.tb_int_insert");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800119 public static final PiTableId FABRIC_INGRESS_NEXT_VLAN_META =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800120 PiTableId.of("FabricIngress.next.vlan_meta");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900121 public static final PiTableId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN =
122 PiTableId.of("FabricEgress.egress_next.egress_vlan");
123 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SINK =
124 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_sink");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900125 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
126 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
Yi Tsengbe342052017-11-03 10:21:23 -0700127 // Indirect Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800128 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800129 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800130 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800131 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700132 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800133 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ACL_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800134 PiCounterId.of("FabricIngress.forwarding.acl_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800135 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800136 PiCounterId.of("FabricIngress.next.multicast_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900137 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INST_0407 =
138 PiCounterId.of("FabricEgress.process_int_transit.counter_int_inst_0407");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200139 public static final PiCounterId FABRIC_INGRESS_FORWARDING_UNICAST_V6_COUNTER =
140 PiCounterId.of("FabricIngress.forwarding.unicast_v6_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800141 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800142 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800143 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800144 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800145 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MULTICAST_V6_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800146 PiCounterId.of("FabricIngress.forwarding.multicast_v6_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900147 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
148 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800149 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MULTICAST_V4_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800150 PiCounterId.of("FabricIngress.forwarding.multicast_v4_counter");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200151 public static final PiCounterId FABRIC_INGRESS_SPGW_INGRESS_UE_COUNTER =
152 PiCounterId.of("FabricIngress.spgw_ingress.ue_counter");
Yi Tseng47eac892018-07-11 02:17:04 +0800153 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
154 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900155 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INSERT =
156 PiCounterId.of("FabricEgress.process_int_transit.counter_int_insert");
157 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
158 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
159 public static final PiCounterId FABRIC_INGRESS_NEXT_VLAN_META_COUNTER =
160 PiCounterId.of("FabricIngress.next.vlan_meta_counter");
161 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
162 PiCounterId.of("FabricEgress.process_int_source.counter_int_source");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800163 public static final PiCounterId FABRIC_INGRESS_FORWARDING_UNICAST_V4_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800164 PiCounterId.of("FabricIngress.forwarding.unicast_v4_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800165 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800166 PiCounterId.of("FabricIngress.next.simple_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800167 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800168 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900169 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INST_0003 =
170 PiCounterId.of("FabricEgress.process_int_transit.counter_int_inst_0003");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800171 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800172 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800173 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800174 PiCounterId.of("FabricIngress.next.hashed_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700175 // Action IDs
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900176 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I14 =
177 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i14");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700178 public static final PiActionId FABRIC_INGRESS_FORWARDING_PUNT_TO_CPU =
179 PiActionId.of("FabricIngress.forwarding.punt_to_cpu");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900180 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I12 =
181 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i12");
182 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I13 =
183 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i13");
184 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I10 =
185 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i10");
Yi Tseng47eac892018-07-11 02:17:04 +0800186 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_SIMPLE =
187 PiActionId.of("FabricIngress.next.mpls_routing_v6_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900188 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_UPDATE_TOTAL_HOP_CNT =
189 PiActionId.of("FabricEgress.process_int_transit.int_update_total_hop_cnt");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200190 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_HASHED =
191 PiActionId.of("FabricIngress.next.mpls_routing_v6_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900192 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I14 =
193 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i14");
Yi Tseng47eac892018-07-11 02:17:04 +0800194 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
195 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700196 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I15 =
197 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i15");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900198 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I2 =
199 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i2");
200 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_IPV4 =
201 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_ipv4");
202 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I4 =
203 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i4");
204 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_INT_SINK =
205 PiActionId.of("FabricEgress.process_int_sink.int_sink");
206 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I3 =
207 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i3");
208 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I13 =
209 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i13");
210 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I7 =
211 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i7");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800212 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800213 PiActionId.of("FabricIngress.next.set_vlan");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800214 public static final PiActionId FABRIC_EGRESS_PKT_IO_EGRESS_POP_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800215 PiActionId.of("FabricEgress.pkt_io_egress.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900216 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I8 =
217 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i8");
218 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I9 =
219 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i9");
220 public static final PiActionId FABRIC_EGRESS_SPGW_EGRESS_GTPU_ENCAP =
221 PiActionId.of("FabricEgress.spgw_egress.gtpu_encap");
222 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I4 =
223 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i4");
224 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I5 =
225 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i5");
Yi Tseng47eac892018-07-11 02:17:04 +0800226 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_VLAN =
227 PiActionId.of("FabricIngress.filtering.set_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900228 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I11 =
229 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i11");
230 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I0 =
231 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i0");
232 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I1 =
233 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i1");
Yi Tseng47eac892018-07-11 02:17:04 +0800234 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_SIMPLE =
235 PiActionId.of("FabricIngress.next.l3_routing_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900236 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I3 =
237 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i3");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800238 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800239 PiActionId.of("FabricIngress.next.set_mcast_group");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900240 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_UDP =
241 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_udp");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200242 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
243 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800244 public static final PiActionId FABRIC_INGRESS_FILTERING_PUSH_INTERNAL_VLAN =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800245 PiActionId.of("FabricIngress.filtering.push_internal_vlan");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200246 public static final PiActionId FABRIC_INGRESS_FORWARDING_CLONE_TO_CPU =
247 PiActionId.of("FabricIngress.forwarding.clone_to_cpu");
248 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_GTPU_DECAP =
249 PiActionId.of("FabricIngress.spgw_ingress.gtpu_decap");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900250 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I15 =
251 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i15");
252 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I12 =
253 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i12");
Yi Tseng47eac892018-07-11 02:17:04 +0800254 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
255 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900256 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I10 =
257 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i10");
258 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I11 =
259 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i11");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200260 public static final PiActionId DROP_NOW = PiActionId.of("drop_now");
Yi Tseng47eac892018-07-11 02:17:04 +0800261 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_HASHED =
262 PiActionId.of("FabricIngress.next.l3_routing_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900263 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
264 PiActionId.of("FabricEgress.process_int_source.int_source_dscp");
265 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
266 PiActionId.of("FabricEgress.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800267 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
268 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900269 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
270 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
271 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_SHIM =
272 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_shim");
Yi Tseng47eac892018-07-11 02:17:04 +0800273 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_HASHED =
274 PiActionId.of("FabricIngress.next.mpls_routing_v4_hashed");
275 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_UNICAST_V6 =
276 PiActionId.of("FabricIngress.forwarding.set_next_id_unicast_v6");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900277 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
278 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800279 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_UNICAST_V4 =
280 PiActionId.of("FabricIngress.forwarding.set_next_id_unicast_v4");
281 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800282 public static final PiActionId FABRIC_INGRESS_FORWARDING_DROP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800283 PiActionId.of("FabricIngress.forwarding.drop");
Yi Tseng47eac892018-07-11 02:17:04 +0800284 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
285 PiActionId.of("FabricIngress.next.output_simple");
286 public static final PiActionId FABRIC_INGRESS_FILTERING_DROP =
287 PiActionId.of("FabricIngress.filtering.drop");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900288 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I8 =
289 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i8");
290 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I9 =
291 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i9");
292 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_RESTORE_HEADER =
293 PiActionId.of("FabricEgress.process_int_sink.restore_header");
Yi Tseng47eac892018-07-11 02:17:04 +0800294 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
295 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
296 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN_OUTPUT =
297 PiActionId.of("FabricIngress.next.set_vlan_output");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900298 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I6 =
299 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i6");
300 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I7 =
301 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i7");
302 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I0 =
303 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i0");
304 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I1 =
305 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i1");
306 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I2 =
307 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i2");
Yi Tseng47eac892018-07-11 02:17:04 +0800308 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
309 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_MULTICAST_V6 =
310 PiActionId.of("FabricIngress.forwarding.set_next_id_multicast_v6");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900311 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_TRANSIT =
312 PiActionId.of("FabricEgress.process_int_transit.int_transit");
Yi Tseng47eac892018-07-11 02:17:04 +0800313 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_MULTICAST_V4 =
314 PiActionId.of("FabricIngress.forwarding.set_next_id_multicast_v4");
315 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_SIMPLE =
316 PiActionId.of("FabricIngress.next.mpls_routing_v4_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900317 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I5 =
318 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i5");
Yi Tseng47eac892018-07-11 02:17:04 +0800319 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_VLAN =
320 PiActionId.of("FabricIngress.next.l3_routing_vlan");
321 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ACL =
322 PiActionId.of("FabricIngress.forwarding.set_next_id_acl");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900323 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I6 =
324 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i6");
Yi Tsengbe342052017-11-03 10:21:23 -0700325 // Action Param IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800326 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900327 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200328 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900329 public static final PiActionParamId INS_MASK0407 =
330 PiActionParamId.of("ins_mask0407");
331 public static final PiActionParamId INS_MASK0003 =
332 PiActionParamId.of("ins_mask0003");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200333 public static final PiActionParamId S1U_ENB_ADDR =
334 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800335 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800336 PiActionParamId.of("port_num");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200337 public static final PiActionParamId S1U_SGW_ADDR =
338 PiActionParamId.of("s1u_sgw_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800339 public static final PiActionParamId LABEL = PiActionParamId.of("label");
340 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900341 public static final PiActionParamId MON_PORT =
342 PiActionParamId.of("mon_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800343 public static final PiActionParamId GID = PiActionParamId.of("gid");
344 public static final PiActionParamId NEW_VLAN_ID =
Yi Tsengc6844f52017-12-19 11:58:25 -0800345 PiActionParamId.of("new_vlan_id");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800346 public static final PiActionParamId FWD_TYPE =
Yi Tsengc6844f52017-12-19 11:58:25 -0800347 PiActionParamId.of("fwd_type");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900348 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
349 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800350 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900351 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
352 public static final PiActionParamId SWITCH_ID =
353 PiActionParamId.of("switch_id");
354 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
355 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
Yi Tsengbe342052017-11-03 10:21:23 -0700356 // Action Profile IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800357 public static final PiActionProfileId FABRIC_INGRESS_NEXT_ECMP_SELECTOR =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800358 PiActionProfileId.of("FabricIngress.next.ecmp_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700359 // Packet Metadata IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800360 public static final PiControlMetadataId INGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800361 PiControlMetadataId.of("ingress_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800362 public static final PiControlMetadataId EGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800363 PiControlMetadataId.of("egress_port");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700364}