blob: c10f3f58d82364cb4e4117106671f305a412db7a [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
Carmelo Cascone36d5e7a2019-09-25 01:02:53 -070017package org.onosproject.pipelines.fabric.impl.behaviour;
Yi Tsengbe342052017-11-03 10:21:23 -070018
19import org.onosproject.net.pi.model.PiActionId;
20import org.onosproject.net.pi.model.PiActionParamId;
21import org.onosproject.net.pi.model.PiActionProfileId;
Yi Tsengbe342052017-11-03 10:21:23 -070022import org.onosproject.net.pi.model.PiCounterId;
23import org.onosproject.net.pi.model.PiMatchFieldId;
Carmelo Cascone36d5e7a2019-09-25 01:02:53 -070024import org.onosproject.net.pi.model.PiMeterId;
25import org.onosproject.net.pi.model.PiPacketMetadataId;
Yi Tsengbe342052017-11-03 10:21:23 -070026import org.onosproject.net.pi.model.PiTableId;
27/**
28 * Constants for fabric pipeline.
29 */
30public final class FabricConstants {
31
32 // hide default constructor
33 private FabricConstants() {
34 }
35
Yi Tsengbe342052017-11-03 10:21:23 -070036 // Header field IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -080037 public static final PiMatchFieldId HDR_IG_PORT =
38 PiMatchFieldId.of("ig_port");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080039 public static final PiMatchFieldId HDR_VLAN_IS_VALID =
40 PiMatchFieldId.of("vlan_is_valid");
Daniele Moro7c3a0022019-07-12 13:38:34 -070041 public static final PiMatchFieldId HDR_EG_PORT =
42 PiMatchFieldId.of("eg_port");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070043 public static final PiMatchFieldId HDR_IPV6_SRC_NET_ID =
44 PiMatchFieldId.of("ipv6_src_net_id");
45 public static final PiMatchFieldId HDR_C_TAG = PiMatchFieldId.of("c_tag");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080046 public static final PiMatchFieldId HDR_IPV4_SRC =
47 PiMatchFieldId.of("ipv4_src");
48 public static final PiMatchFieldId HDR_IPV6_DST =
49 PiMatchFieldId.of("ipv6_dst");
Daniele Moro7c3a0022019-07-12 13:38:34 -070050 public static final PiMatchFieldId HDR_IS_MPLS =
51 PiMatchFieldId.of("is_mpls");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080052 public static final PiMatchFieldId HDR_L4_DPORT =
53 PiMatchFieldId.of("l4_dport");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070054 public static final PiMatchFieldId HDR_PPPOE_CODE =
55 PiMatchFieldId.of("pppoe_code");
56 public static final PiMatchFieldId HDR_IPV6_SRC =
57 PiMatchFieldId.of("ipv6_src");
58 public static final PiMatchFieldId HDR_ETH_SRC =
59 PiMatchFieldId.of("eth_src");
60 public static final PiMatchFieldId HDR_S_TAG = PiMatchFieldId.of("s_tag");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080061 public static final PiMatchFieldId HDR_VLAN_ID =
62 PiMatchFieldId.of("vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070063 public static final PiMatchFieldId HDR_ETH_DST =
64 PiMatchFieldId.of("eth_dst");
65 public static final PiMatchFieldId HDR_ICMP_TYPE =
66 PiMatchFieldId.of("icmp_type");
67 public static final PiMatchFieldId HDR_IPV4_DST =
68 PiMatchFieldId.of("ipv4_dst");
69 public static final PiMatchFieldId HDR_IPV6_TRAFFIC_CLASS =
70 PiMatchFieldId.of("ipv6_traffic_class");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070071 public static final PiMatchFieldId HDR_ETH_TYPE =
72 PiMatchFieldId.of("eth_type");
73 public static final PiMatchFieldId HDR_NEXT_ID =
74 PiMatchFieldId.of("next_id");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080075 public static final PiMatchFieldId HDR_L4_SPORT =
76 PiMatchFieldId.of("l4_sport");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070077 public static final PiMatchFieldId HDR_ICMP_CODE =
78 PiMatchFieldId.of("icmp_code");
Daniele Moro7c3a0022019-07-12 13:38:34 -070079 public static final PiMatchFieldId HDR_INNER_VLAN_ID =
80 PiMatchFieldId.of("inner_vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070081 public static final PiMatchFieldId HDR_IPV4_ECN =
82 PiMatchFieldId.of("ipv4_ecn");
83 public static final PiMatchFieldId HDR_PPPOE_SESSION_ID =
84 PiMatchFieldId.of("pppoe_session_id");
85 public static final PiMatchFieldId HDR_EG_SPEC =
86 PiMatchFieldId.of("eg_spec");
87 public static final PiMatchFieldId HDR_LINE_ID =
88 PiMatchFieldId.of("line_id");
89 public static final PiMatchFieldId HDR_IPV4_DSCP =
90 PiMatchFieldId.of("ipv4_dscp");
Daniele Moro7c3a0022019-07-12 13:38:34 -070091 public static final PiMatchFieldId HDR_IS_IPV4 =
92 PiMatchFieldId.of("is_ipv4");
93 public static final PiMatchFieldId HDR_IS_IPV6 =
94 PiMatchFieldId.of("is_ipv6");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070095 public static final PiMatchFieldId HDR_GTP_IPV4_DST =
96 PiMatchFieldId.of("gtp_ipv4_dst");
97 public static final PiMatchFieldId HDR_INT_IS_VALID =
98 PiMatchFieldId.of("int_is_valid");
99 public static final PiMatchFieldId HDR_MPLS_LABEL =
100 PiMatchFieldId.of("mpls_label");
101 public static final PiMatchFieldId HDR_IP_PROTO =
102 PiMatchFieldId.of("ip_proto");
103 public static final PiMatchFieldId HDR_PPPOE_PROTOCOL =
104 PiMatchFieldId.of("pppoe_protocol");
Yi Tsengbe342052017-11-03 10:21:23 -0700105 // Table IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800106 public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800107 PiTableId.of("FabricIngress.next.hashed");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700108 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_T_LINE_MAP =
109 PiTableId.of("FabricIngress.bng_ingress.t_line_map");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700110 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_TB_INT_INSERT =
111 PiTableId.of("FabricEgress.process_int_main.process_int_transit.tb_int_insert");
Charles Chan384aea22018-08-23 22:08:02 -0700112 public static final PiTableId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER =
113 PiTableId.of("FabricIngress.filtering.fwd_classifier");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700114 public static final PiTableId FABRIC_INGRESS_NEXT_XCONNECT =
115 PiTableId.of("FabricIngress.next.xconnect");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800116 public static final PiTableId FABRIC_INGRESS_NEXT_NEXT_VLAN =
117 PiTableId.of("FabricIngress.next.next_vlan");
118 public static final PiTableId FABRIC_INGRESS_NEXT_SIMPLE =
119 PiTableId.of("FabricIngress.next.simple");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700120 public static final PiTableId FABRIC_INGRESS_NEXT_MULTICAST =
121 PiTableId.of("FabricIngress.next.multicast");
122 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_TB_INT_SOURCE =
123 PiTableId.of("FabricEgress.process_int_main.process_int_source.tb_int_source");
Charles Chan384aea22018-08-23 22:08:02 -0700124 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V6 =
125 PiTableId.of("FabricIngress.forwarding.routing_v6");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700126 public static final PiTableId FABRIC_INGRESS_FORWARDING_MPLS =
127 PiTableId.of("FabricIngress.forwarding.mpls");
128 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V4 =
129 PiTableId.of("FabricIngress.forwarding.routing_v4");
130 public static final PiTableId FABRIC_INGRESS_ACL_ACL =
131 PiTableId.of("FabricIngress.acl.acl");
132 public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
133 PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
134 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_CP =
135 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_cp");
136 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V4 =
137 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v4");
138 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_S1U_FILTER_TABLE =
139 PiTableId.of("FabricIngress.spgw_ingress.s1u_filter_table");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700140 public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
141 PiTableId.of("FabricIngress.forwarding.bridging");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700142 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_DL_SESS_LOOKUP =
143 PiTableId.of("FabricIngress.spgw_ingress.dl_sess_lookup");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700144 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_LINE_SESSION_MAP =
145 PiTableId.of("FabricIngress.bng_ingress.downstream.t_line_session_map");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700146 public static final PiTableId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN =
147 PiTableId.of("FabricEgress.egress_next.egress_vlan");
148 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SINK =
149 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_sink");
150 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_TB_GENERATE_REPORT =
151 PiTableId.of("FabricEgress.process_int_main.process_int_report.tb_generate_report");
152 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
153 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
154 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_QOS_V6 =
155 PiTableId.of("FabricIngress.bng_ingress.downstream.t_qos_v6");
156 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_QOS_V4 =
157 PiTableId.of("FabricIngress.bng_ingress.downstream.t_qos_v4");
158 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V6 =
159 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v6");
Yi Tsengbe342052017-11-03 10:21:23 -0700160 // Indirect Counter IDs
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700161 public static final PiCounterId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_C_LINE_TX =
162 PiCounterId.of("FabricEgress.bng_egress.downstream.c_line_tx");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800163 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800164 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700165 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_DROPPED =
166 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_dropped");
167 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_CONTROL =
168 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_control");
169 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_TERMINATED =
170 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_terminated");
171 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_C_LINE_RX =
172 PiCounterId.of("FabricIngress.bng_ingress.downstream.c_line_rx");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800173 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800174 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700175 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800176 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800177 PiCounterId.of("FabricIngress.next.multicast_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800178 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
179 PiCounterId.of("FabricIngress.next.simple_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800180 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800181 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800182 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800183 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700184 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V4_COUNTER =
185 PiCounterId.of("FabricIngress.forwarding.routing_v4_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900186 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
187 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700188 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
189 PiCounterId.of("FabricEgress.process_int_main.process_int_source.counter_int_source");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200190 public static final PiCounterId FABRIC_INGRESS_SPGW_INGRESS_UE_COUNTER =
191 PiCounterId.of("FabricIngress.spgw_ingress.ue_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700192 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
193 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700194 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
195 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800196 public static final PiCounterId FABRIC_INGRESS_ACL_ACL_COUNTER =
197 PiCounterId.of("FabricIngress.acl.acl_counter");
198 public static final PiCounterId FABRIC_INGRESS_NEXT_XCONNECT_COUNTER =
199 PiCounterId.of("FabricIngress.next.xconnect_counter");
200 public static final PiCounterId FABRIC_INGRESS_NEXT_NEXT_VLAN_COUNTER =
201 PiCounterId.of("FabricIngress.next.next_vlan_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700202 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V6_COUNTER =
203 PiCounterId.of("FabricIngress.forwarding.routing_v6_counter");
204 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
205 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800206 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800207 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800208 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800209 PiCounterId.of("FabricIngress.next.hashed_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700210 // Action IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800211 public static final PiActionId FABRIC_INGRESS_NEXT_SET_NEXT_ID_XCONNECT =
212 PiActionId.of("FabricIngress.next.set_next_id_xconnect");
Charles Chancd03f072018-08-31 17:46:37 -0700213 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4 =
214 PiActionId.of("FabricIngress.forwarding.nop_routing_v4");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700215 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_BESTEFF =
216 PiActionId.of("FabricIngress.bng_ingress.downstream.qos_besteff");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800217 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT_WITH_INTERNAL_VLAN =
218 PiActionId.of("FabricIngress.filtering.permit_with_internal_vlan");
219 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_HASHED =
220 PiActionId.of("FabricIngress.next.routing_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800221 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
222 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700223 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
224 PiActionId.of("FabricEgress.process_int_main.process_int_source.int_source_dscp");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700225 public static final PiActionId FABRIC_INGRESS_NEXT_SET_DOUBLE_VLAN =
226 PiActionId.of("FabricIngress.next.set_double_vlan");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700227 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_INIT_METADATA =
228 PiActionId.of("FabricEgress.process_int_main.process_int_transit.init_metadata");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800229 public static final PiActionId FABRIC_INGRESS_ACL_DROP =
230 PiActionId.of("FabricIngress.acl.drop");
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700231 public static final PiActionId FABRIC_INGRESS_ACL_SET_CLONE_SESSION_ID =
232 PiActionId.of("FabricIngress.acl.set_clone_session_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700233 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_PUNT_TO_CPU =
234 PiActionId.of("FabricIngress.bng_ingress.upstream.punt_to_cpu");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700235 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_DROP =
236 PiActionId.of("FabricIngress.bng_ingress.downstream.drop");
237 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
238 PiActionId.of("FabricIngress.next.set_vlan");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800239 public static final PiActionId FABRIC_INGRESS_ACL_NOP_ACL =
240 PiActionId.of("FabricIngress.acl.nop_acl");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700241 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_SET_LINE =
242 PiActionId.of("FabricIngress.bng_ingress.set_line");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700243 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_DISABLED =
244 PiActionId.of("FabricIngress.bng_ingress.upstream.term_disabled");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800245 public static final PiActionId FABRIC_INGRESS_ACL_SET_NEXT_ID_ACL =
246 PiActionId.of("FabricIngress.acl.set_next_id_acl");
247 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT =
248 PiActionId.of("FabricIngress.filtering.permit");
Charles Chan384aea22018-08-23 22:08:02 -0700249 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
250 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v4");
Charles Chan384aea22018-08-23 22:08:02 -0700251 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V6 =
252 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800253 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_SIMPLE =
254 PiActionId.of("FabricIngress.next.routing_simple");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200255 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
256 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700257 public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V4 =
258 PiActionId.of("FabricEgress.bng_egress.downstream.encap_v4");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800259 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_HASHED =
260 PiActionId.of("FabricIngress.next.output_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800261 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
262 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700263 public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V6 =
264 PiActionId.of("FabricEgress.bng_egress.downstream.encap_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800265 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_SIMPLE =
266 PiActionId.of("FabricIngress.next.mpls_routing_simple");
267 public static final PiActionId FABRIC_INGRESS_ACL_PUNT_TO_CPU =
268 PiActionId.of("FabricIngress.acl.punt_to_cpu");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700269 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_PRIO =
270 PiActionId.of("FabricIngress.bng_ingress.downstream.qos_prio");
Carmelo Casconeb5324e72018-11-25 02:26:32 -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");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800275 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_HASHED =
276 PiActionId.of("FabricIngress.next.mpls_routing_hashed");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700277 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_ENABLED_V6 =
278 PiActionId.of("FabricIngress.bng_ingress.upstream.term_enabled_v6");
279 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_ENABLED_V4 =
280 PiActionId.of("FabricIngress.bng_ingress.upstream.term_enabled_v4");
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 NOP = PiActionId.of("nop");
Yi Tseng47eac892018-07-11 02:17:04 +0800284 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
285 PiActionId.of("FabricIngress.next.output_simple");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800286 public static final PiActionId FABRIC_INGRESS_FILTERING_DENY =
287 PiActionId.of("FabricIngress.filtering.deny");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700288 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_SET_SESSION =
289 PiActionId.of("FabricIngress.bng_ingress.downstream.set_session");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700290 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP_ID =
291 PiActionId.of("FabricIngress.next.set_mcast_group_id");
Yi Tseng47eac892018-07-11 02:17:04 +0800292 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
293 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700294 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
295 PiActionId.of("FabricEgress.process_int_main.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800296 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700297 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_XCONNECT =
298 PiActionId.of("FabricIngress.next.output_xconnect");
Yi Tsengbe342052017-11-03 10:21:23 -0700299 // Action Param IDs
Daniele Moro7c3a0022019-07-12 13:38:34 -0700300 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700301 public static final PiActionParamId MON_PORT =
302 PiActionParamId.of("mon_port");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700303 public static final PiActionParamId S1U_SGW_ADDR =
304 PiActionParamId.of("s1u_sgw_addr");
305 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700306 public static final PiActionParamId CLONE_ID =
307 PiActionParamId.of("clone_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700308 public static final PiActionParamId VLAN_ID = PiActionParamId.of("vlan_id");
309 public static final PiActionParamId LABEL = PiActionParamId.of("label");
310 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
311 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800312 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700313 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700314 public static final PiActionParamId INNER_VLAN_ID =
315 PiActionParamId.of("inner_vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700316 public static final PiActionParamId PPPOE_SESSION_ID =
317 PiActionParamId.of("pppoe_session_id");
318 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900319 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700320 public static final PiActionParamId SWITCH_ID =
321 PiActionParamId.of("switch_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900322 public static final PiActionParamId INS_MASK0003 =
323 PiActionParamId.of("ins_mask0003");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700324 public static final PiActionParamId LINE_ID = PiActionParamId.of("line_id");
325 public static final PiActionParamId FWD_TYPE =
326 PiActionParamId.of("fwd_type");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700327 public static final PiActionParamId OUTER_VLAN_ID =
328 PiActionParamId.of("outer_vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700329 public static final PiActionParamId INS_MASK0407 =
330 PiActionParamId.of("ins_mask0407");
331 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200332 public static final PiActionParamId S1U_ENB_ADDR =
333 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800334 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800335 PiActionParamId.of("port_num");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800336 public static final PiActionParamId GROUP_ID =
337 PiActionParamId.of("group_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900338 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
Yi Tsengbe342052017-11-03 10:21:23 -0700339 // Action Profile IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800340 public static final PiActionProfileId FABRIC_INGRESS_NEXT_HASHED_SELECTOR =
341 PiActionProfileId.of("FabricIngress.next.hashed_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700342 // Packet Metadata IDs
Carmelo Cascone4c289b72019-01-22 15:30:45 -0800343 public static final PiPacketMetadataId INGRESS_PORT =
344 PiPacketMetadataId.of("ingress_port");
345 public static final PiPacketMetadataId EGRESS_PORT =
346 PiPacketMetadataId.of("egress_port");
Daniele Moroa354b672019-08-21 17:22:50 -0700347 // Meter IDs
348 public static final PiMeterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_M_BESTEFF =
349 PiMeterId.of("FabricIngress.bng_ingress.downstream.m_besteff");
350 public static final PiMeterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_M_PRIO =
351 PiMeterId.of("FabricIngress.bng_ingress.downstream.m_prio");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700352}