blob: eb927ad115ebaef05323418c9bb6c1cec41258c5 [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;
Carmelo Cascone4c289b72019-01-22 15:30:45 -080022import org.onosproject.net.pi.model.PiPacketMetadataId;
Yi Tsengbe342052017-11-03 10:21:23 -070023import 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_IG_PORT =
37 PiMatchFieldId.of("ig_port");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080038 public static final PiMatchFieldId HDR_VLAN_IS_VALID =
39 PiMatchFieldId.of("vlan_is_valid");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070040 public static final PiMatchFieldId HDR_IPV6_SRC_NET_ID =
41 PiMatchFieldId.of("ipv6_src_net_id");
42 public static final PiMatchFieldId HDR_C_TAG = PiMatchFieldId.of("c_tag");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080043 public static final PiMatchFieldId HDR_IPV4_SRC =
44 PiMatchFieldId.of("ipv4_src");
45 public static final PiMatchFieldId HDR_IPV6_DST =
46 PiMatchFieldId.of("ipv6_dst");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080047 public static final PiMatchFieldId HDR_L4_DPORT =
48 PiMatchFieldId.of("l4_dport");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070049 public static final PiMatchFieldId HDR_PPPOE_CODE =
50 PiMatchFieldId.of("pppoe_code");
51 public static final PiMatchFieldId HDR_IPV6_SRC =
52 PiMatchFieldId.of("ipv6_src");
53 public static final PiMatchFieldId HDR_ETH_SRC =
54 PiMatchFieldId.of("eth_src");
55 public static final PiMatchFieldId HDR_S_TAG = PiMatchFieldId.of("s_tag");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080056 public static final PiMatchFieldId HDR_VLAN_ID =
57 PiMatchFieldId.of("vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070058 public static final PiMatchFieldId HDR_ETH_DST =
59 PiMatchFieldId.of("eth_dst");
60 public static final PiMatchFieldId HDR_ICMP_TYPE =
61 PiMatchFieldId.of("icmp_type");
62 public static final PiMatchFieldId HDR_IPV4_DST =
63 PiMatchFieldId.of("ipv4_dst");
64 public static final PiMatchFieldId HDR_IPV6_TRAFFIC_CLASS =
65 PiMatchFieldId.of("ipv6_traffic_class");
66 public static final PiMatchFieldId HDR_IPV6_DST_NET_ID =
67 PiMatchFieldId.of("ipv6_dst_net_id");
68 public static final PiMatchFieldId HDR_ETH_TYPE =
69 PiMatchFieldId.of("eth_type");
70 public static final PiMatchFieldId HDR_NEXT_ID =
71 PiMatchFieldId.of("next_id");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080072 public static final PiMatchFieldId HDR_L4_SPORT =
73 PiMatchFieldId.of("l4_sport");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070074 public static final PiMatchFieldId HDR_ICMP_CODE =
75 PiMatchFieldId.of("icmp_code");
76 public static final PiMatchFieldId HDR_IPV4_ECN =
77 PiMatchFieldId.of("ipv4_ecn");
78 public static final PiMatchFieldId HDR_PPPOE_SESSION_ID =
79 PiMatchFieldId.of("pppoe_session_id");
80 public static final PiMatchFieldId HDR_EG_SPEC =
81 PiMatchFieldId.of("eg_spec");
82 public static final PiMatchFieldId HDR_LINE_ID =
83 PiMatchFieldId.of("line_id");
84 public static final PiMatchFieldId HDR_IPV4_DSCP =
85 PiMatchFieldId.of("ipv4_dscp");
86 public static final PiMatchFieldId HDR_EG_PORT =
87 PiMatchFieldId.of("eg_port");
88 public static final PiMatchFieldId HDR_GTP_IPV4_DST =
89 PiMatchFieldId.of("gtp_ipv4_dst");
90 public static final PiMatchFieldId HDR_INT_IS_VALID =
91 PiMatchFieldId.of("int_is_valid");
92 public static final PiMatchFieldId HDR_MPLS_LABEL =
93 PiMatchFieldId.of("mpls_label");
94 public static final PiMatchFieldId HDR_IP_PROTO =
95 PiMatchFieldId.of("ip_proto");
96 public static final PiMatchFieldId HDR_PPPOE_PROTOCOL =
97 PiMatchFieldId.of("pppoe_protocol");
Yi Tsengbe342052017-11-03 10:21:23 -070098 // Table IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +080099 public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800100 PiTableId.of("FabricIngress.next.hashed");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700101 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_TB_INT_INSERT =
102 PiTableId.of("FabricEgress.process_int_main.process_int_transit.tb_int_insert");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700103 public static final PiTableId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_T_SESSION_ENCAP =
104 PiTableId.of("FabricEgress.bng_egress.downstream.t_session_encap");
Charles Chan384aea22018-08-23 22:08:02 -0700105 public static final PiTableId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER =
106 PiTableId.of("FabricIngress.filtering.fwd_classifier");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700107 public static final PiTableId FABRIC_INGRESS_NEXT_XCONNECT =
108 PiTableId.of("FabricIngress.next.xconnect");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800109 public static final PiTableId FABRIC_INGRESS_NEXT_NEXT_VLAN =
110 PiTableId.of("FabricIngress.next.next_vlan");
111 public static final PiTableId FABRIC_INGRESS_NEXT_SIMPLE =
112 PiTableId.of("FabricIngress.next.simple");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700113 public static final PiTableId FABRIC_INGRESS_NEXT_MULTICAST =
114 PiTableId.of("FabricIngress.next.multicast");
115 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_TB_INT_SOURCE =
116 PiTableId.of("FabricEgress.process_int_main.process_int_source.tb_int_source");
Charles Chan384aea22018-08-23 22:08:02 -0700117 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V6 =
118 PiTableId.of("FabricIngress.forwarding.routing_v6");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700119 public static final PiTableId FABRIC_INGRESS_FORWARDING_MPLS =
120 PiTableId.of("FabricIngress.forwarding.mpls");
121 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V4 =
122 PiTableId.of("FabricIngress.forwarding.routing_v4");
123 public static final PiTableId FABRIC_INGRESS_ACL_ACL =
124 PiTableId.of("FabricIngress.acl.acl");
125 public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
126 PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
127 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_CP =
128 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_cp");
129 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V4 =
130 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v4");
131 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_S1U_FILTER_TABLE =
132 PiTableId.of("FabricIngress.spgw_ingress.s1u_filter_table");
133 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_LINE_MAP_V6 =
134 PiTableId.of("FabricIngress.bng_ingress.downstream.t_line_map_v6");
135 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_LINE_MAP_V4 =
136 PiTableId.of("FabricIngress.bng_ingress.downstream.t_line_map_v4");
137 public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
138 PiTableId.of("FabricIngress.forwarding.bridging");
139 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_LINE_MAP =
140 PiTableId.of("FabricIngress.bng_ingress.upstream.t_line_map");
141 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_DL_SESS_LOOKUP =
142 PiTableId.of("FabricIngress.spgw_ingress.dl_sess_lookup");
143 public static final PiTableId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN =
144 PiTableId.of("FabricEgress.egress_next.egress_vlan");
145 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SINK =
146 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_sink");
147 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_TB_GENERATE_REPORT =
148 PiTableId.of("FabricEgress.process_int_main.process_int_report.tb_generate_report");
149 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
150 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
151 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_QOS_V6 =
152 PiTableId.of("FabricIngress.bng_ingress.downstream.t_qos_v6");
153 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_QOS_V4 =
154 PiTableId.of("FabricIngress.bng_ingress.downstream.t_qos_v4");
155 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V6 =
156 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v6");
Yi Tsengbe342052017-11-03 10:21:23 -0700157 // Indirect Counter IDs
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700158 public static final PiCounterId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_C_LINE_TX =
159 PiCounterId.of("FabricEgress.bng_egress.downstream.c_line_tx");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800160 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800161 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700162 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_DROPPED =
163 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_dropped");
164 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_CONTROL =
165 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_control");
166 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_TERMINATED =
167 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_terminated");
168 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_C_LINE_RX =
169 PiCounterId.of("FabricIngress.bng_ingress.downstream.c_line_rx");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800170 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800171 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700172 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800173 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800174 PiCounterId.of("FabricIngress.next.multicast_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800175 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
176 PiCounterId.of("FabricIngress.next.simple_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800177 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800178 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800179 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800180 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700181 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V4_COUNTER =
182 PiCounterId.of("FabricIngress.forwarding.routing_v4_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900183 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
184 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700185 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
186 PiCounterId.of("FabricEgress.process_int_main.process_int_source.counter_int_source");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200187 public static final PiCounterId FABRIC_INGRESS_SPGW_INGRESS_UE_COUNTER =
188 PiCounterId.of("FabricIngress.spgw_ingress.ue_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700189 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
190 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700191 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
192 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800193 public static final PiCounterId FABRIC_INGRESS_ACL_ACL_COUNTER =
194 PiCounterId.of("FabricIngress.acl.acl_counter");
195 public static final PiCounterId FABRIC_INGRESS_NEXT_XCONNECT_COUNTER =
196 PiCounterId.of("FabricIngress.next.xconnect_counter");
197 public static final PiCounterId FABRIC_INGRESS_NEXT_NEXT_VLAN_COUNTER =
198 PiCounterId.of("FabricIngress.next.next_vlan_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700199 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V6_COUNTER =
200 PiCounterId.of("FabricIngress.forwarding.routing_v6_counter");
201 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
202 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800203 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800204 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800205 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800206 PiCounterId.of("FabricIngress.next.hashed_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700207 // Action IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800208 public static final PiActionId FABRIC_INGRESS_NEXT_SET_NEXT_ID_XCONNECT =
209 PiActionId.of("FabricIngress.next.set_next_id_xconnect");
Charles Chancd03f072018-08-31 17:46:37 -0700210 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4 =
211 PiActionId.of("FabricIngress.forwarding.nop_routing_v4");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700212 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_BESTEFF =
213 PiActionId.of("FabricIngress.bng_ingress.downstream.qos_besteff");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800214 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT_WITH_INTERNAL_VLAN =
215 PiActionId.of("FabricIngress.filtering.permit_with_internal_vlan");
216 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_HASHED =
217 PiActionId.of("FabricIngress.next.routing_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800218 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
219 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700220 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
221 PiActionId.of("FabricEgress.process_int_main.process_int_source.int_source_dscp");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700222 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_INIT_METADATA =
223 PiActionId.of("FabricEgress.process_int_main.process_int_transit.init_metadata");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800224 public static final PiActionId FABRIC_INGRESS_ACL_DROP =
225 PiActionId.of("FabricIngress.acl.drop");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700226 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_PUNT_TO_CPU =
227 PiActionId.of("FabricIngress.bng_ingress.upstream.punt_to_cpu");
228 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_SET_LINE =
229 PiActionId.of("FabricIngress.bng_ingress.upstream.set_line");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800230 public static final PiActionId FABRIC_INGRESS_ACL_NOP_ACL =
231 PiActionId.of("FabricIngress.acl.nop_acl");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700232 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_DISABLED =
233 PiActionId.of("FabricIngress.bng_ingress.upstream.term_disabled");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800234 public static final PiActionId FABRIC_INGRESS_ACL_SET_NEXT_ID_ACL =
235 PiActionId.of("FabricIngress.acl.set_next_id_acl");
236 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT =
237 PiActionId.of("FabricIngress.filtering.permit");
Charles Chan384aea22018-08-23 22:08:02 -0700238 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
239 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v4");
Charles Chan384aea22018-08-23 22:08:02 -0700240 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V6 =
241 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800242 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_SIMPLE =
243 PiActionId.of("FabricIngress.next.routing_simple");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200244 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
245 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700246 public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V4 =
247 PiActionId.of("FabricEgress.bng_egress.downstream.encap_v4");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800248 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_HASHED =
249 PiActionId.of("FabricIngress.next.output_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800250 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
251 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700252 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_SET_LINE_NEXT =
253 PiActionId.of("FabricIngress.bng_ingress.downstream.set_line_next");
254 public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V6 =
255 PiActionId.of("FabricEgress.bng_egress.downstream.encap_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800256 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_SIMPLE =
257 PiActionId.of("FabricIngress.next.mpls_routing_simple");
258 public static final PiActionId FABRIC_INGRESS_ACL_PUNT_TO_CPU =
259 PiActionId.of("FabricIngress.acl.punt_to_cpu");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700260 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_PRIO =
261 PiActionId.of("FabricIngress.bng_ingress.downstream.qos_prio");
262 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
263 PiActionId.of("FabricIngress.next.set_vlan");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800264 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
265 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900266 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
267 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800268 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_HASHED =
269 PiActionId.of("FabricIngress.next.mpls_routing_hashed");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700270 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_ENABLED_V6 =
271 PiActionId.of("FabricIngress.bng_ingress.upstream.term_enabled_v6");
272 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_ENABLED_V4 =
273 PiActionId.of("FabricIngress.bng_ingress.upstream.term_enabled_v4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900274 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
275 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800276 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng47eac892018-07-11 02:17:04 +0800277 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
278 PiActionId.of("FabricIngress.next.output_simple");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800279 public static final PiActionId FABRIC_INGRESS_ACL_CLONE_TO_CPU =
280 PiActionId.of("FabricIngress.acl.clone_to_cpu");
281 public static final PiActionId FABRIC_INGRESS_FILTERING_DENY =
282 PiActionId.of("FabricIngress.filtering.deny");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700283 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP_ID =
284 PiActionId.of("FabricIngress.next.set_mcast_group_id");
Yi Tseng47eac892018-07-11 02:17:04 +0800285 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
286 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700287 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_SET_LINE_DROP =
288 PiActionId.of("FabricIngress.bng_ingress.downstream.set_line_drop");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700289 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
290 PiActionId.of("FabricEgress.process_int_main.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800291 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700292 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_XCONNECT =
293 PiActionId.of("FabricIngress.next.output_xconnect");
Yi Tsengbe342052017-11-03 10:21:23 -0700294 // Action Param IDs
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700295 public static final PiActionParamId MON_PORT =
296 PiActionParamId.of("mon_port");
297 public static final PiActionParamId C_TAG = PiActionParamId.of("c_tag");
298 public static final PiActionParamId S1U_SGW_ADDR =
299 PiActionParamId.of("s1u_sgw_addr");
300 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
301 public static final PiActionParamId VLAN_ID = PiActionParamId.of("vlan_id");
302 public static final PiActionParamId LABEL = PiActionParamId.of("label");
303 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
304 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800305 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700306 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
307 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
308 public static final PiActionParamId PPPOE_SESSION_ID =
309 PiActionParamId.of("pppoe_session_id");
310 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900311 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700312 public static final PiActionParamId SWITCH_ID =
313 PiActionParamId.of("switch_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900314 public static final PiActionParamId INS_MASK0003 =
315 PiActionParamId.of("ins_mask0003");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700316 public static final PiActionParamId LINE_ID = PiActionParamId.of("line_id");
317 public static final PiActionParamId FWD_TYPE =
318 PiActionParamId.of("fwd_type");
319 public static final PiActionParamId INS_MASK0407 =
320 PiActionParamId.of("ins_mask0407");
321 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200322 public static final PiActionParamId S1U_ENB_ADDR =
323 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800324 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800325 PiActionParamId.of("port_num");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800326 public static final PiActionParamId GROUP_ID =
327 PiActionParamId.of("group_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900328 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
Yi Tsengbe342052017-11-03 10:21:23 -0700329 // Action Profile IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800330 public static final PiActionProfileId FABRIC_INGRESS_NEXT_HASHED_SELECTOR =
331 PiActionProfileId.of("FabricIngress.next.hashed_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700332 // Packet Metadata IDs
Carmelo Cascone4c289b72019-01-22 15:30:45 -0800333 public static final PiPacketMetadataId INGRESS_PORT =
334 PiPacketMetadataId.of("ingress_port");
335 public static final PiPacketMetadataId EGRESS_PORT =
336 PiPacketMetadataId.of("egress_port");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700337}