blob: 2a4b730d3c6cc89146cf154cdce41f6970be8456 [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
Carmelo Cascone1e8843f2018-07-19 19:01:12 +020036 public static final PiMatchFieldId SPGW_META_S1U_SGW_ADDR =
37 PiMatchFieldId.of("spgw_meta.s1u_sgw_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +080038 public static final PiMatchFieldId HDR_VLAN_TAG_VLAN_ID =
39 PiMatchFieldId.of("hdr.vlan_tag.vlan_id");
40 public static final PiMatchFieldId HDR_MPLS_LABEL =
41 PiMatchFieldId.of("hdr.mpls.label");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090042 public static final PiMatchFieldId STANDARD_METADATA_EGRESS_PORT =
43 PiMatchFieldId.of("standard_metadata.egress_port");
44 public static final PiMatchFieldId STANDARD_METADATA_INGRESS_PORT =
45 PiMatchFieldId.of("standard_metadata.ingress_port");
46 public static final PiMatchFieldId HDR_VLAN_TAG_IS_VALID =
47 PiMatchFieldId.of("hdr.vlan_tag.is_valid");
48 public static final PiMatchFieldId HDR_ICMP_ICMP_CODE =
49 PiMatchFieldId.of("hdr.icmp.icmp_code");
Yi Tseng43ee7e82018-04-12 16:37:34 +080050 public static final PiMatchFieldId HDR_ETHERNET_SRC_ADDR =
51 PiMatchFieldId.of("hdr.ethernet.src_addr");
52 public static final PiMatchFieldId HDR_ICMP_ICMP_TYPE =
53 PiMatchFieldId.of("hdr.icmp.icmp_type");
Yi Tseng8235a1a2018-07-24 20:57:28 +080054 public static final PiMatchFieldId HDR_VLAN_TAG_ETHER_TYPE =
55 PiMatchFieldId.of("hdr.vlan_tag.ether_type");
Yi Tseng8235a1a2018-07-24 20:57:28 +080056 public static final PiMatchFieldId HDR_IPV4_DST_ADDR =
57 PiMatchFieldId.of("hdr.ipv4.dst_addr");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090058 public static final PiMatchFieldId HDR_INT_HEADER_INSTRUCTION_MASK_0003 =
59 PiMatchFieldId.of("hdr.int_header.instruction_mask_0003");
60 public static final PiMatchFieldId FABRIC_METADATA_L4_SRC_PORT =
61 PiMatchFieldId.of("fabric_metadata.l4_src_port");
62 public static final PiMatchFieldId FABRIC_METADATA_L4_DST_PORT =
63 PiMatchFieldId.of("fabric_metadata.l4_dst_port");
64 public static final PiMatchFieldId STANDARD_METADATA_EGRESS_SPEC =
65 PiMatchFieldId.of("standard_metadata.egress_spec");
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");
125 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_UE_CDR_TABLE =
126 PiTableId.of("FabricIngress.spgw_ingress.ue_cdr_table");
127 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
128 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
129 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_UE_FILTER_TABLE =
130 PiTableId.of("FabricIngress.spgw_ingress.ue_filter_table");
Yi Tsengbe342052017-11-03 10:21:23 -0700131 // Indirect Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800132 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800133 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800134 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800135 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700136 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800137 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ACL_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800138 PiCounterId.of("FabricIngress.forwarding.acl_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800139 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800140 PiCounterId.of("FabricIngress.next.multicast_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900141 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INST_0407 =
142 PiCounterId.of("FabricEgress.process_int_transit.counter_int_inst_0407");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200143 public static final PiCounterId FABRIC_INGRESS_FORWARDING_UNICAST_V6_COUNTER =
144 PiCounterId.of("FabricIngress.forwarding.unicast_v6_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800145 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800146 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800147 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800148 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800149 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MULTICAST_V6_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800150 PiCounterId.of("FabricIngress.forwarding.multicast_v6_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900151 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
152 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800153 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MULTICAST_V4_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800154 PiCounterId.of("FabricIngress.forwarding.multicast_v4_counter");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200155 public static final PiCounterId FABRIC_INGRESS_SPGW_INGRESS_UE_COUNTER =
156 PiCounterId.of("FabricIngress.spgw_ingress.ue_counter");
Yi Tseng47eac892018-07-11 02:17:04 +0800157 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
158 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900159 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INSERT =
160 PiCounterId.of("FabricEgress.process_int_transit.counter_int_insert");
161 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
162 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
163 public static final PiCounterId FABRIC_INGRESS_NEXT_VLAN_META_COUNTER =
164 PiCounterId.of("FabricIngress.next.vlan_meta_counter");
165 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
166 PiCounterId.of("FabricEgress.process_int_source.counter_int_source");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800167 public static final PiCounterId FABRIC_INGRESS_FORWARDING_UNICAST_V4_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800168 PiCounterId.of("FabricIngress.forwarding.unicast_v4_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800169 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800170 PiCounterId.of("FabricIngress.next.simple_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800171 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800172 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900173 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INST_0003 =
174 PiCounterId.of("FabricEgress.process_int_transit.counter_int_inst_0003");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800175 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800176 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800177 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800178 PiCounterId.of("FabricIngress.next.hashed_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700179 // Action IDs
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900180 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I14 =
181 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i14");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200182 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_UPDATE_UE_CDR =
183 PiActionId.of("FabricIngress.spgw_ingress.update_ue_cdr");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900184 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I12 =
185 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i12");
186 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I13 =
187 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i13");
188 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I10 =
189 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i10");
Yi Tseng47eac892018-07-11 02:17:04 +0800190 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_SIMPLE =
191 PiActionId.of("FabricIngress.next.mpls_routing_v6_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900192 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_UPDATE_TOTAL_HOP_CNT =
193 PiActionId.of("FabricEgress.process_int_transit.int_update_total_hop_cnt");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200194 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_HASHED =
195 PiActionId.of("FabricIngress.next.mpls_routing_v6_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900196 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I14 =
197 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i14");
Yi Tseng47eac892018-07-11 02:17:04 +0800198 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
199 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200200 public static final PiActionId FABRIC_INGRESS_FORWARDING_PUNT_TO_CPU =
201 PiActionId.of("FabricIngress.forwarding.punt_to_cpu");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900202 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I2 =
203 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i2");
204 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_IPV4 =
205 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_ipv4");
206 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I4 =
207 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i4");
208 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_INT_SINK =
209 PiActionId.of("FabricEgress.process_int_sink.int_sink");
210 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I3 =
211 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i3");
212 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I13 =
213 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i13");
214 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I7 =
215 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i7");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800216 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800217 PiActionId.of("FabricIngress.next.set_vlan");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800218 public static final PiActionId FABRIC_EGRESS_PKT_IO_EGRESS_POP_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800219 PiActionId.of("FabricEgress.pkt_io_egress.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900220 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I8 =
221 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i8");
222 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I9 =
223 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i9");
224 public static final PiActionId FABRIC_EGRESS_SPGW_EGRESS_GTPU_ENCAP =
225 PiActionId.of("FabricEgress.spgw_egress.gtpu_encap");
226 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I4 =
227 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i4");
228 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I5 =
229 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i5");
Yi Tseng47eac892018-07-11 02:17:04 +0800230 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_VLAN =
231 PiActionId.of("FabricIngress.filtering.set_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900232 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I11 =
233 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i11");
234 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I0 =
235 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i0");
236 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I1 =
237 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i1");
Yi Tseng47eac892018-07-11 02:17:04 +0800238 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_SIMPLE =
239 PiActionId.of("FabricIngress.next.l3_routing_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900240 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I3 =
241 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i3");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800242 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800243 PiActionId.of("FabricIngress.next.set_mcast_group");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900244 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_UDP =
245 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_udp");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200246 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
247 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800248 public static final PiActionId FABRIC_INGRESS_FILTERING_PUSH_INTERNAL_VLAN =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800249 PiActionId.of("FabricIngress.filtering.push_internal_vlan");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200250 public static final PiActionId FABRIC_INGRESS_FORWARDING_CLONE_TO_CPU =
251 PiActionId.of("FabricIngress.forwarding.clone_to_cpu");
252 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_GTPU_DECAP =
253 PiActionId.of("FabricIngress.spgw_ingress.gtpu_decap");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900254 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I15 =
255 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i15");
256 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I12 =
257 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i12");
Yi Tseng47eac892018-07-11 02:17:04 +0800258 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
259 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900260 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I10 =
261 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i10");
262 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I11 =
263 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i11");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200264 public static final PiActionId DROP_NOW = PiActionId.of("drop_now");
Yi Tseng47eac892018-07-11 02:17:04 +0800265 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_HASHED =
266 PiActionId.of("FabricIngress.next.l3_routing_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900267 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
268 PiActionId.of("FabricEgress.process_int_source.int_source_dscp");
269 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
270 PiActionId.of("FabricEgress.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800271 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
272 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900273 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
274 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
275 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_SHIM =
276 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_shim");
Yi Tseng47eac892018-07-11 02:17:04 +0800277 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_HASHED =
278 PiActionId.of("FabricIngress.next.mpls_routing_v4_hashed");
279 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_UNICAST_V6 =
280 PiActionId.of("FabricIngress.forwarding.set_next_id_unicast_v6");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900281 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
282 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800283 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_UNICAST_V4 =
284 PiActionId.of("FabricIngress.forwarding.set_next_id_unicast_v4");
285 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800286 public static final PiActionId FABRIC_INGRESS_FORWARDING_DROP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800287 PiActionId.of("FabricIngress.forwarding.drop");
Yi Tseng47eac892018-07-11 02:17:04 +0800288 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
289 PiActionId.of("FabricIngress.next.output_simple");
290 public static final PiActionId FABRIC_INGRESS_FILTERING_DROP =
291 PiActionId.of("FabricIngress.filtering.drop");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900292 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I8 =
293 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i8");
294 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I9 =
295 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i9");
296 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_RESTORE_HEADER =
297 PiActionId.of("FabricEgress.process_int_sink.restore_header");
Yi Tseng47eac892018-07-11 02:17:04 +0800298 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
299 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
300 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN_OUTPUT =
301 PiActionId.of("FabricIngress.next.set_vlan_output");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900302 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I6 =
303 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i6");
304 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I7 =
305 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i7");
306 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I0 =
307 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i0");
308 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I1 =
309 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i1");
310 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I2 =
311 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i2");
Yi Tseng47eac892018-07-11 02:17:04 +0800312 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
313 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_MULTICAST_V6 =
314 PiActionId.of("FabricIngress.forwarding.set_next_id_multicast_v6");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900315 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_TRANSIT =
316 PiActionId.of("FabricEgress.process_int_transit.int_transit");
Yi Tseng47eac892018-07-11 02:17:04 +0800317 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_MULTICAST_V4 =
318 PiActionId.of("FabricIngress.forwarding.set_next_id_multicast_v4");
319 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_SIMPLE =
320 PiActionId.of("FabricIngress.next.mpls_routing_v4_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900321 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I5 =
322 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i5");
Yi Tseng47eac892018-07-11 02:17:04 +0800323 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_VLAN =
324 PiActionId.of("FabricIngress.next.l3_routing_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900325 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I15 =
326 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i15");
Yi Tseng47eac892018-07-11 02:17:04 +0800327 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ACL =
328 PiActionId.of("FabricIngress.forwarding.set_next_id_acl");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900329 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I6 =
330 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i6");
Yi Tsengbe342052017-11-03 10:21:23 -0700331 // Action Param IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800332 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900333 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200334 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900335 public static final PiActionParamId INS_MASK0407 =
336 PiActionParamId.of("ins_mask0407");
337 public static final PiActionParamId INS_MASK0003 =
338 PiActionParamId.of("ins_mask0003");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200339 public static final PiActionParamId S1U_ENB_ADDR =
340 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800341 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800342 PiActionParamId.of("port_num");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200343 public static final PiActionParamId S1U_SGW_ADDR =
344 PiActionParamId.of("s1u_sgw_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800345 public static final PiActionParamId LABEL = PiActionParamId.of("label");
346 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900347 public static final PiActionParamId MON_PORT =
348 PiActionParamId.of("mon_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800349 public static final PiActionParamId GID = PiActionParamId.of("gid");
350 public static final PiActionParamId NEW_VLAN_ID =
Yi Tsengc6844f52017-12-19 11:58:25 -0800351 PiActionParamId.of("new_vlan_id");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800352 public static final PiActionParamId FWD_TYPE =
Yi Tsengc6844f52017-12-19 11:58:25 -0800353 PiActionParamId.of("fwd_type");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900354 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
355 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800356 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900357 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
358 public static final PiActionParamId SWITCH_ID =
359 PiActionParamId.of("switch_id");
360 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
361 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
Yi Tsengbe342052017-11-03 10:21:23 -0700362 // Action Profile IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800363 public static final PiActionProfileId FABRIC_INGRESS_NEXT_ECMP_SELECTOR =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800364 PiActionProfileId.of("FabricIngress.next.ecmp_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700365 // Packet Metadata IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800366 public static final PiControlMetadataId INGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800367 PiControlMetadataId.of("ingress_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800368 public static final PiControlMetadataId EGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800369 PiControlMetadataId.of("egress_port");
Yi Tseng8235a1a2018-07-24 20:57:28 +0800370}