blob: 9ecc65ffe489304325bb01f79087a1c25711a51f [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 Casconeb5324e72018-11-25 02:26:32 -080036 public static final PiMatchFieldId HDR_ICMP_CODE =
37 PiMatchFieldId.of("icmp_code");
38 public static final PiMatchFieldId HDR_IG_PORT =
39 PiMatchFieldId.of("ig_port");
40 public static final PiMatchFieldId HDR_ETH_DST =
41 PiMatchFieldId.of("eth_dst");
42 public static final PiMatchFieldId HDR_GTP_IPV4_DST =
43 PiMatchFieldId.of("gtp_ipv4_dst");
44 public static final PiMatchFieldId HDR_VLAN_IS_VALID =
45 PiMatchFieldId.of("vlan_is_valid");
46 public static final PiMatchFieldId HDR_IPV4_DST =
47 PiMatchFieldId.of("ipv4_dst");
48 public static final PiMatchFieldId HDR_INT_IS_VALID =
49 PiMatchFieldId.of("int_is_valid");
50 public static final PiMatchFieldId HDR_EG_PORT =
51 PiMatchFieldId.of("eg_port");
52 public static final PiMatchFieldId HDR_EG_SPEC =
53 PiMatchFieldId.of("eg_spec");
54 public static final PiMatchFieldId HDR_IPV4_SRC =
55 PiMatchFieldId.of("ipv4_src");
56 public static final PiMatchFieldId HDR_IPV6_DST =
57 PiMatchFieldId.of("ipv6_dst");
58 public static final PiMatchFieldId HDR_ETH_TYPE =
59 PiMatchFieldId.of("eth_type");
Yi Tseng43ee7e82018-04-12 16:37:34 +080060 public static final PiMatchFieldId HDR_MPLS_LABEL =
Carmelo Casconeb5324e72018-11-25 02:26:32 -080061 PiMatchFieldId.of("mpls_label");
62 public static final PiMatchFieldId HDR_ETH_SRC =
63 PiMatchFieldId.of("eth_src");
64 public static final PiMatchFieldId HDR_IP_PROTO =
65 PiMatchFieldId.of("ip_proto");
66 public static final PiMatchFieldId HDR_L4_DPORT =
67 PiMatchFieldId.of("l4_dport");
68 public static final PiMatchFieldId HDR_NEXT_ID =
69 PiMatchFieldId.of("next_id");
70 public static final PiMatchFieldId HDR_ICMP_TYPE =
71 PiMatchFieldId.of("icmp_type");
72 public static final PiMatchFieldId HDR_VLAN_ID =
73 PiMatchFieldId.of("vlan_id");
74 public static final PiMatchFieldId HDR_L4_SPORT =
75 PiMatchFieldId.of("l4_sport");
Yi Tsengbe342052017-11-03 10:21:23 -070076 // Table IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -080077 public static final PiTableId FABRIC_INGRESS_NEXT_MULTICAST =
78 PiTableId.of("FabricIngress.next.multicast");
Yi Tseng43ee7e82018-04-12 16:37:34 +080079 public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
Yi Tseng27b9bc02018-04-12 14:52:40 +080080 PiTableId.of("FabricIngress.next.hashed");
Carmelo Cascone79a3a312018-08-16 17:14:43 -070081 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_TB_INT_SOURCE =
82 PiTableId.of("FabricEgress.process_int_main.process_int_source.tb_int_source");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090083 public static final PiTableId FABRIC_INGRESS_FORWARDING_MPLS =
84 PiTableId.of("FabricIngress.forwarding.mpls");
Charles Chan384aea22018-08-23 22:08:02 -070085 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SINK =
86 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_sink");
87 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V4 =
88 PiTableId.of("FabricIngress.forwarding.routing_v4");
Carmelo Cascone79a3a312018-08-16 17:14:43 -070089 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_TB_INT_INSERT =
90 PiTableId.of("FabricEgress.process_int_main.process_int_transit.tb_int_insert");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080091 public static final PiTableId FABRIC_INGRESS_ACL_ACL =
92 PiTableId.of("FabricIngress.acl.acl");
93 public static final PiTableId FABRIC_INGRESS_NEXT_XCONNECT =
94 PiTableId.of("FabricIngress.next.xconnect");
Charles Chan384aea22018-08-23 22:08:02 -070095 public static final PiTableId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER =
96 PiTableId.of("FabricIngress.filtering.fwd_classifier");
97 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
98 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
Charles Chan384aea22018-08-23 22:08:02 -070099 public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
100 PiTableId.of("FabricIngress.forwarding.bridging");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900101 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_S1U_FILTER_TABLE =
102 PiTableId.of("FabricIngress.spgw_ingress.s1u_filter_table");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700103 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_TB_GENERATE_REPORT =
104 PiTableId.of("FabricEgress.process_int_main.process_int_report.tb_generate_report");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800105 public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
106 PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900107 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_DL_SESS_LOOKUP =
108 PiTableId.of("FabricIngress.spgw_ingress.dl_sess_lookup");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900109 public static final PiTableId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN =
110 PiTableId.of("FabricEgress.egress_next.egress_vlan");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800111 public static final PiTableId FABRIC_INGRESS_NEXT_NEXT_VLAN =
112 PiTableId.of("FabricIngress.next.next_vlan");
113 public static final PiTableId FABRIC_INGRESS_NEXT_SIMPLE =
114 PiTableId.of("FabricIngress.next.simple");
Charles Chan384aea22018-08-23 22:08:02 -0700115 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V6 =
116 PiTableId.of("FabricIngress.forwarding.routing_v6");
Yi Tsengbe342052017-11-03 10:21:23 -0700117 // Indirect Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800118 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800119 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800120 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800121 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700122 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800123 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800124 PiCounterId.of("FabricIngress.next.multicast_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800125 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
126 PiCounterId.of("FabricIngress.next.simple_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800127 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800128 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800129 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800130 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700131 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V4_COUNTER =
132 PiCounterId.of("FabricIngress.forwarding.routing_v4_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900133 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
134 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700135 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
136 PiCounterId.of("FabricEgress.process_int_main.process_int_source.counter_int_source");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200137 public static final PiCounterId FABRIC_INGRESS_SPGW_INGRESS_UE_COUNTER =
138 PiCounterId.of("FabricIngress.spgw_ingress.ue_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700139 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
140 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700141 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
142 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800143 public static final PiCounterId FABRIC_INGRESS_ACL_ACL_COUNTER =
144 PiCounterId.of("FabricIngress.acl.acl_counter");
145 public static final PiCounterId FABRIC_INGRESS_NEXT_XCONNECT_COUNTER =
146 PiCounterId.of("FabricIngress.next.xconnect_counter");
147 public static final PiCounterId FABRIC_INGRESS_NEXT_NEXT_VLAN_COUNTER =
148 PiCounterId.of("FabricIngress.next.next_vlan_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700149 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V6_COUNTER =
150 PiCounterId.of("FabricIngress.forwarding.routing_v6_counter");
151 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
152 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800153 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800154 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800155 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800156 PiCounterId.of("FabricIngress.next.hashed_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700157 // Action IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800158 public static final PiActionId FABRIC_INGRESS_NEXT_SET_NEXT_ID_XCONNECT =
159 PiActionId.of("FabricIngress.next.set_next_id_xconnect");
Charles Chancd03f072018-08-31 17:46:37 -0700160 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4 =
161 PiActionId.of("FabricIngress.forwarding.nop_routing_v4");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800162 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT_WITH_INTERNAL_VLAN =
163 PiActionId.of("FabricIngress.filtering.permit_with_internal_vlan");
164 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_HASHED =
165 PiActionId.of("FabricIngress.next.routing_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800166 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
167 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700168 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
169 PiActionId.of("FabricEgress.process_int_main.process_int_source.int_source_dscp");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700170 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_INIT_METADATA =
171 PiActionId.of("FabricEgress.process_int_main.process_int_transit.init_metadata");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800172 public static final PiActionId FABRIC_INGRESS_ACL_DROP =
173 PiActionId.of("FabricIngress.acl.drop");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800174 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800175 PiActionId.of("FabricIngress.next.set_vlan");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800176 public static final PiActionId FABRIC_INGRESS_ACL_NOP_ACL =
177 PiActionId.of("FabricIngress.acl.nop_acl");
178 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_XCONNECT =
179 PiActionId.of("FabricIngress.next.output_xconnect");
180 public static final PiActionId FABRIC_INGRESS_ACL_SET_NEXT_ID_ACL =
181 PiActionId.of("FabricIngress.acl.set_next_id_acl");
182 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT =
183 PiActionId.of("FabricIngress.filtering.permit");
Charles Chan384aea22018-08-23 22:08:02 -0700184 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
185 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v4");
Charles Chan384aea22018-08-23 22:08:02 -0700186 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V6 =
187 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800188 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_SIMPLE =
189 PiActionId.of("FabricIngress.next.routing_simple");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200190 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
191 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800192 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_HASHED =
193 PiActionId.of("FabricIngress.next.output_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800194 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
195 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800196 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_SIMPLE =
197 PiActionId.of("FabricIngress.next.mpls_routing_simple");
198 public static final PiActionId FABRIC_INGRESS_ACL_PUNT_TO_CPU =
199 PiActionId.of("FabricIngress.acl.punt_to_cpu");
200 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
201 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900202 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
203 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800204 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_HASHED =
205 PiActionId.of("FabricIngress.next.mpls_routing_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900206 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
207 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800208 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng47eac892018-07-11 02:17:04 +0800209 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
210 PiActionId.of("FabricIngress.next.output_simple");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800211 public static final PiActionId FABRIC_INGRESS_ACL_CLONE_TO_CPU =
212 PiActionId.of("FabricIngress.acl.clone_to_cpu");
213 public static final PiActionId FABRIC_INGRESS_FILTERING_DENY =
214 PiActionId.of("FabricIngress.filtering.deny");
Yi Tseng47eac892018-07-11 02:17:04 +0800215 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
216 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700217 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
218 PiActionId.of("FabricEgress.process_int_main.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800219 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800220 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP_ID =
221 PiActionId.of("FabricIngress.next.set_mcast_group_id");
Yi Tsengbe342052017-11-03 10:21:23 -0700222 // Action Param IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800223 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800224 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900225 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200226 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900227 public static final PiActionParamId INS_MASK0407 =
228 PiActionParamId.of("ins_mask0407");
229 public static final PiActionParamId INS_MASK0003 =
230 PiActionParamId.of("ins_mask0003");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200231 public static final PiActionParamId S1U_ENB_ADDR =
232 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800233 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800234 PiActionParamId.of("port_num");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200235 public static final PiActionParamId S1U_SGW_ADDR =
236 PiActionParamId.of("s1u_sgw_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800237 public static final PiActionParamId LABEL = PiActionParamId.of("label");
238 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900239 public static final PiActionParamId MON_PORT =
240 PiActionParamId.of("mon_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800241 public static final PiActionParamId FWD_TYPE =
Yi Tsengc6844f52017-12-19 11:58:25 -0800242 PiActionParamId.of("fwd_type");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900243 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
244 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800245 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800246 public static final PiActionParamId GROUP_ID =
247 PiActionParamId.of("group_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900248 public static final PiActionParamId SWITCH_ID =
249 PiActionParamId.of("switch_id");
250 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800251 public static final PiActionParamId VLAN_ID = PiActionParamId.of("vlan_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900252 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
Yi Tsengbe342052017-11-03 10:21:23 -0700253 // Action Profile IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800254 public static final PiActionProfileId FABRIC_INGRESS_NEXT_HASHED_SELECTOR =
255 PiActionProfileId.of("FabricIngress.next.hashed_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700256 // Packet Metadata IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800257 public static final PiControlMetadataId INGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800258 PiControlMetadataId.of("ingress_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800259 public static final PiControlMetadataId EGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800260 PiControlMetadataId.of("egress_port");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700261}