blob: 0d34f30739261d211795f9df83384983cf4435d9 [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 Cascone2102bfb2020-12-04 16:54:24 -080017package org.onosproject.pipelines.fabric;
Yi Tsengbe342052017-11-03 10:21:23 -070018
Daniele Moro88e414c2021-04-08 23:41:51 +020019import org.onosproject.net.pi.model.PiTableId;
20import org.onosproject.net.pi.model.PiMatchFieldId;
21import org.onosproject.net.pi.model.PiCounterId;
Yi Tsengbe342052017-11-03 10:21:23 -070022import org.onosproject.net.pi.model.PiActionId;
23import org.onosproject.net.pi.model.PiActionParamId;
24import org.onosproject.net.pi.model.PiActionProfileId;
Carmelo Cascone356ab8b2019-09-25 01:02:53 -070025import org.onosproject.net.pi.model.PiPacketMetadataId;
Daniele Moro88e414c2021-04-08 23:41:51 +020026import org.onosproject.net.pi.model.PiMeterId;
27
Yi Tsengbe342052017-11-03 10:21:23 -070028/**
29 * Constants for fabric pipeline.
30 */
31public final class FabricConstants {
32
33 // hide default constructor
34 private FabricConstants() {
35 }
36
Yi Tsengbe342052017-11-03 10:21:23 -070037 // Header field IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -080038 public static final PiMatchFieldId HDR_IG_PORT =
39 PiMatchFieldId.of("ig_port");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080040 public static final PiMatchFieldId HDR_VLAN_IS_VALID =
41 PiMatchFieldId.of("vlan_is_valid");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070042 public static final PiMatchFieldId HDR_IPV6_SRC_NET_ID =
43 PiMatchFieldId.of("ipv6_src_net_id");
Daniele Moro08c9e7f2021-07-28 18:53:34 +020044 public static final PiMatchFieldId HDR_COLOR = PiMatchFieldId.of("color");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070045 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");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080050 public static final PiMatchFieldId HDR_L4_DPORT =
51 PiMatchFieldId.of("l4_dport");
Wailok Shumfb7e7872021-06-18 17:30:08 +080052 public static final PiMatchFieldId HDR_PORT_TYPE =
53 PiMatchFieldId.of("port_type");
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");
Robert MacDavidde12b982020-07-15 18:38:59 -070060 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");
Daniele Moro08c9e7f2021-07-28 18:53:34 +020063 public static final PiMatchFieldId HDR_HAS_QFI =
64 PiMatchFieldId.of("has_qfi");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070065 public static final PiMatchFieldId HDR_ETH_DST =
66 PiMatchFieldId.of("eth_dst");
Robert MacDavidde12b982020-07-15 18:38:59 -070067 public static final PiMatchFieldId HDR_ICMP_TYPE =
68 PiMatchFieldId.of("icmp_type");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070069 public static final PiMatchFieldId HDR_IPV4_DST =
70 PiMatchFieldId.of("ipv4_dst");
71 public static final PiMatchFieldId HDR_IPV6_TRAFFIC_CLASS =
72 PiMatchFieldId.of("ipv6_traffic_class");
Robert MacDavidde12b982020-07-15 18:38:59 -070073 public static final PiMatchFieldId HDR_TUNNEL_IPV4_DST =
74 PiMatchFieldId.of("tunnel_ipv4_dst");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070075 public static final PiMatchFieldId HDR_ETH_TYPE =
76 PiMatchFieldId.of("eth_type");
Robert MacDavidde12b982020-07-15 18:38:59 -070077 public static final PiMatchFieldId HDR_GTPU_IS_VALID =
78 PiMatchFieldId.of("gtpu_is_valid");
79 public static final PiMatchFieldId HDR_NEXT_ID =
80 PiMatchFieldId.of("next_id");
Daniele Moro5a2de712019-09-24 14:34:07 -070081 public static final PiMatchFieldId HDR_IP_ETH_TYPE =
82 PiMatchFieldId.of("ip_eth_type");
Carmelo Casconeb5324e72018-11-25 02:26:32 -080083 public static final PiMatchFieldId HDR_L4_SPORT =
84 PiMatchFieldId.of("l4_sport");
Robert MacDavidde12b982020-07-15 18:38:59 -070085 public static final PiMatchFieldId HDR_ICMP_CODE =
86 PiMatchFieldId.of("icmp_code");
Daniele Moro7c3a0022019-07-12 13:38:34 -070087 public static final PiMatchFieldId HDR_INNER_VLAN_ID =
88 PiMatchFieldId.of("inner_vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070089 public static final PiMatchFieldId HDR_IPV4_ECN =
90 PiMatchFieldId.of("ipv4_ecn");
Robert MacDavidde12b982020-07-15 18:38:59 -070091 public static final PiMatchFieldId HDR_PPPOE_SESSION_ID =
92 PiMatchFieldId.of("pppoe_session_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070093 public static final PiMatchFieldId HDR_EG_SPEC =
94 PiMatchFieldId.of("eg_spec");
Robert MacDavidde12b982020-07-15 18:38:59 -070095 public static final PiMatchFieldId HDR_IPV4_DST_ADDR =
96 PiMatchFieldId.of("ipv4_dst_addr");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070097 public static final PiMatchFieldId HDR_LINE_ID =
98 PiMatchFieldId.of("line_id");
99 public static final PiMatchFieldId HDR_IPV4_DSCP =
100 PiMatchFieldId.of("ipv4_dscp");
Robert MacDavidde12b982020-07-15 18:38:59 -0700101 public static final PiMatchFieldId HDR_FAR_ID = PiMatchFieldId.of("far_id");
Daniele Moro5a2de712019-09-24 14:34:07 -0700102 public static final PiMatchFieldId HDR_EG_PORT =
103 PiMatchFieldId.of("eg_port");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400104 public static final PiMatchFieldId HDR_UE_ADDR =
105 PiMatchFieldId.of("ue_addr");
106 public static final PiMatchFieldId HDR_TEID = PiMatchFieldId.of("teid");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200107 public static final PiMatchFieldId HDR_SLICE_ID =
108 PiMatchFieldId.of("slice_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700109 public static final PiMatchFieldId HDR_INT_IS_VALID =
110 PiMatchFieldId.of("int_is_valid");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200111 public static final PiMatchFieldId HDR_TC = PiMatchFieldId.of("tc");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700112 public static final PiMatchFieldId HDR_MPLS_LABEL =
113 PiMatchFieldId.of("mpls_label");
114 public static final PiMatchFieldId HDR_IP_PROTO =
115 PiMatchFieldId.of("ip_proto");
116 public static final PiMatchFieldId HDR_PPPOE_PROTOCOL =
117 PiMatchFieldId.of("pppoe_protocol");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200118 public static final PiMatchFieldId HDR_QFI = PiMatchFieldId.of("qfi");
Yi Tsengbe342052017-11-03 10:21:23 -0700119 // Table IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800120 public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800121 PiTableId.of("FabricIngress.next.hashed");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700122 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_T_LINE_MAP =
123 PiTableId.of("FabricIngress.bng_ingress.t_line_map");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700124 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_TB_INT_INSERT =
125 PiTableId.of("FabricEgress.process_int_main.process_int_transit.tb_int_insert");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800126 public static final PiTableId FABRIC_INGRESS_SPGW_UPLINK_PDRS =
127 PiTableId.of("FabricIngress.spgw.uplink_pdrs");
128 public static final PiTableId FABRIC_INGRESS_SPGW_INTERFACES =
129 PiTableId.of("FabricIngress.spgw.interfaces");
Charles Chan384aea22018-08-23 22:08:02 -0700130 public static final PiTableId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER =
131 PiTableId.of("FabricIngress.filtering.fwd_classifier");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700132 public static final PiTableId FABRIC_INGRESS_NEXT_XCONNECT =
133 PiTableId.of("FabricIngress.next.xconnect");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800134 public static final PiTableId FABRIC_INGRESS_NEXT_SIMPLE =
135 PiTableId.of("FabricIngress.next.simple");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700136 public static final PiTableId FABRIC_INGRESS_NEXT_MULTICAST =
137 PiTableId.of("FabricIngress.next.multicast");
138 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_TB_INT_SOURCE =
139 PiTableId.of("FabricEgress.process_int_main.process_int_source.tb_int_source");
Charles Chan384aea22018-08-23 22:08:02 -0700140 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V6 =
141 PiTableId.of("FabricIngress.forwarding.routing_v6");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700142 public static final PiTableId FABRIC_INGRESS_FORWARDING_MPLS =
143 PiTableId.of("FabricIngress.forwarding.mpls");
144 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V4 =
145 PiTableId.of("FabricIngress.forwarding.routing_v4");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200146 public static final PiTableId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_CLASSIFIER =
147 PiTableId.of("FabricIngress.slice_tc_classifier.classifier");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700148 public static final PiTableId FABRIC_INGRESS_ACL_ACL =
149 PiTableId.of("FabricIngress.acl.acl");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200150 public static final PiTableId FABRIC_EGRESS_DSCP_REWRITER_REWRITER =
151 PiTableId.of("FabricEgress.dscp_rewriter.rewriter");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800152 public static final PiTableId FABRIC_INGRESS_PRE_NEXT_NEXT_MPLS =
153 PiTableId.of("FabricIngress.pre_next.next_mpls");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700154 public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
155 PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800156 public static final PiTableId FABRIC_INGRESS_PRE_NEXT_NEXT_VLAN =
157 PiTableId.of("FabricIngress.pre_next.next_vlan");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700158 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V4 =
159 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v4");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400160 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_TERM_V6 =
161 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_term_v6");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200162 public static final PiTableId FABRIC_INGRESS_QOS_QUEUES =
163 PiTableId.of("FabricIngress.qos.queues");
Robert MacDavidde12b982020-07-15 18:38:59 -0700164 public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
165 PiTableId.of("FabricIngress.forwarding.bridging");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700166 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_LINE_SESSION_MAP =
167 PiTableId.of("FabricIngress.bng_ingress.downstream.t_line_session_map");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800168 public static final PiTableId FABRIC_INGRESS_SPGW_FARS =
169 PiTableId.of("FabricIngress.spgw.fars");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700170 public static final PiTableId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN =
171 PiTableId.of("FabricEgress.egress_next.egress_vlan");
172 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SINK =
173 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_sink");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800174 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_T_PPPOE_CP =
175 PiTableId.of("FabricIngress.bng_ingress.upstream.t_pppoe_cp");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700176 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_TB_GENERATE_REPORT =
177 PiTableId.of("FabricEgress.process_int_main.process_int_report.tb_generate_report");
178 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
179 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
180 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_QOS_V6 =
181 PiTableId.of("FabricIngress.bng_ingress.downstream.t_qos_v6");
182 public static final PiTableId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_T_QOS_V4 =
183 PiTableId.of("FabricIngress.bng_ingress.downstream.t_qos_v4");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800184 public static final PiTableId FABRIC_INGRESS_SPGW_DOWNLINK_PDRS =
185 PiTableId.of("FabricIngress.spgw.downlink_pdrs");
Yi Tsengbe342052017-11-03 10:21:23 -0700186 // Indirect Counter IDs
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800187 public static final PiCounterId FABRIC_EGRESS_SPGW_PDR_COUNTER =
188 PiCounterId.of("FabricEgress.spgw.pdr_counter");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700189 public static final PiCounterId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_C_LINE_TX =
190 PiCounterId.of("FabricEgress.bng_egress.downstream.c_line_tx");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800191 public static final PiCounterId FABRIC_INGRESS_SPGW_PDR_COUNTER =
192 PiCounterId.of("FabricIngress.spgw.pdr_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800193 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800194 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700195 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_DROPPED =
196 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_dropped");
197 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_CONTROL =
198 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_control");
199 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_C_TERMINATED =
200 PiCounterId.of("FabricIngress.bng_ingress.upstream.c_terminated");
201 public static final PiCounterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_C_LINE_RX =
202 PiCounterId.of("FabricIngress.bng_ingress.downstream.c_line_rx");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800203 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800204 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700205 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800206 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800207 PiCounterId.of("FabricIngress.next.multicast_counter");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800208 public static final PiCounterId FABRIC_INGRESS_PRE_NEXT_NEXT_MPLS_COUNTER =
209 PiCounterId.of("FabricIngress.pre_next.next_mpls_counter");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800210 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
211 PiCounterId.of("FabricIngress.next.simple_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800212 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800213 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800214 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800215 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Daniele Moro5a2de712019-09-24 14:34:07 -0700216 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
217 PiCounterId.of("FabricIngress.next.hashed_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900218 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
219 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700220 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
221 PiCounterId.of("FabricEgress.process_int_main.process_int_source.counter_int_source");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700222 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
223 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200224 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
225 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
226 public static final PiCounterId FABRIC_INGRESS_QOS_QUEUES_STATS =
227 PiCounterId.of("FabricIngress.qos.queues_stats");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800228 public static final PiCounterId FABRIC_INGRESS_ACL_ACL_COUNTER =
229 PiCounterId.of("FabricIngress.acl.acl_counter");
230 public static final PiCounterId FABRIC_INGRESS_NEXT_XCONNECT_COUNTER =
231 PiCounterId.of("FabricIngress.next.xconnect_counter");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200232 public static final PiCounterId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_CLASSIFIER_STATS =
233 PiCounterId.of("FabricIngress.slice_tc_classifier.classifier_stats");
Charles Chan384aea22018-08-23 22:08:02 -0700234 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V6_COUNTER =
235 PiCounterId.of("FabricIngress.forwarding.routing_v6_counter");
236 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
237 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800238 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800239 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800240 public static final PiCounterId FABRIC_INGRESS_PRE_NEXT_NEXT_VLAN_COUNTER =
241 PiCounterId.of("FabricIngress.pre_next.next_vlan_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700242 // Action IDs
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200243 public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V4 =
244 PiActionId.of("FabricEgress.bng_egress.downstream.encap_v4");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800245 public static final PiActionId FABRIC_INGRESS_NEXT_SET_NEXT_ID_XCONNECT =
246 PiActionId.of("FabricIngress.next.set_next_id_xconnect");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800247 public static final PiActionId FABRIC_INGRESS_PRE_NEXT_SET_VLAN =
248 PiActionId.of("FabricIngress.pre_next.set_vlan");
249 public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_TUNNEL_FAR =
250 PiActionId.of("FabricIngress.spgw.load_tunnel_far");
Charles Chancd03f072018-08-31 17:46:37 -0700251 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4 =
252 PiActionId.of("FabricIngress.forwarding.nop_routing_v4");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700253 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_BESTEFF =
254 PiActionId.of("FabricIngress.bng_ingress.downstream.qos_besteff");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800255 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT_WITH_INTERNAL_VLAN =
256 PiActionId.of("FabricIngress.filtering.permit_with_internal_vlan");
257 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_HASHED =
258 PiActionId.of("FabricIngress.next.routing_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800259 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
260 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700261 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
262 PiActionId.of("FabricEgress.process_int_main.process_int_source.int_source_dscp");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700263 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_TRANSIT_INIT_METADATA =
264 PiActionId.of("FabricEgress.process_int_main.process_int_transit.init_metadata");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800265 public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_DBUF_FAR =
266 PiActionId.of("FabricIngress.spgw.load_dbuf_far");
Robert MacDavidde12b982020-07-15 18:38:59 -0700267 public static final PiActionId FABRIC_INGRESS_ACL_DROP =
268 PiActionId.of("FabricIngress.acl.drop");
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700269 public static final PiActionId FABRIC_INGRESS_ACL_SET_CLONE_SESSION_ID =
270 PiActionId.of("FabricIngress.acl.set_clone_session_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700271 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_PUNT_TO_CPU =
272 PiActionId.of("FabricIngress.bng_ingress.upstream.punt_to_cpu");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700273 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_DROP =
274 PiActionId.of("FabricIngress.bng_ingress.downstream.drop");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200275 public static final PiActionId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_TRUST_DSCP =
276 PiActionId.of("FabricIngress.slice_tc_classifier.trust_dscp");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800277 public static final PiActionId FABRIC_INGRESS_PRE_NEXT_SET_DOUBLE_VLAN =
278 PiActionId.of("FabricIngress.pre_next.set_double_vlan");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200279 public static final PiActionId FABRIC_EGRESS_DSCP_REWRITER_REWRITE =
280 PiActionId.of("FabricEgress.dscp_rewriter.rewrite");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700281 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_SET_LINE =
282 PiActionId.of("FabricIngress.bng_ingress.set_line");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700283 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_DISABLED =
284 PiActionId.of("FabricIngress.bng_ingress.upstream.term_disabled");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800285 public static final PiActionId FABRIC_INGRESS_ACL_SET_NEXT_ID_ACL =
286 PiActionId.of("FabricIngress.acl.set_next_id_acl");
287 public static final PiActionId FABRIC_INGRESS_FILTERING_PERMIT =
288 PiActionId.of("FabricIngress.filtering.permit");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200289 public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_NORMAL_FAR =
290 PiActionId.of("FabricIngress.spgw.load_normal_far");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800291 public static final PiActionId FABRIC_INGRESS_SPGW_IFACE_MISS =
292 PiActionId.of("FabricIngress.spgw.iface_miss");
Charles Chan384aea22018-08-23 22:08:02 -0700293 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
294 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v4");
Charles Chan384aea22018-08-23 22:08:02 -0700295 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V6 =
296 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800297 public static final PiActionId FABRIC_INGRESS_NEXT_ROUTING_SIMPLE =
298 PiActionId.of("FabricIngress.next.routing_simple");
ersuneetsinghe326c722021-03-25 21:17:29 -0300299 public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_PDR_QOS =
300 PiActionId.of("FabricIngress.spgw.load_pdr_qos");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200301 public static final PiActionId FABRIC_INGRESS_QOS_SET_QUEUE =
302 PiActionId.of("FabricIngress.qos.set_queue");
303 public static final PiActionId FABRIC_EGRESS_DSCP_REWRITER_CLEAR =
304 PiActionId.of("FabricEgress.dscp_rewriter.clear");
pierventre48e78822020-12-15 17:34:54 +0100305 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_PUSH_VLAN =
306 PiActionId.of("FabricEgress.egress_next.push_vlan");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200307 public static final PiActionId FABRIC_INGRESS_QOS_METER_DROP =
308 PiActionId.of("FabricIngress.qos.meter_drop");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800309 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_HASHED =
310 PiActionId.of("FabricIngress.next.output_hashed");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800311 public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_IFACE =
312 PiActionId.of("FabricIngress.spgw.load_iface");
Yi Tseng47eac892018-07-11 02:17:04 +0800313 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
314 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700315 public static final PiActionId FABRIC_EGRESS_BNG_EGRESS_DOWNSTREAM_ENCAP_V6 =
316 PiActionId.of("FabricEgress.bng_egress.downstream.encap_v6");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800317 public static final PiActionId FABRIC_INGRESS_ACL_PUNT_TO_CPU =
318 PiActionId.of("FabricIngress.acl.punt_to_cpu");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700319 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_QOS_PRIO =
320 PiActionId.of("FabricIngress.bng_ingress.downstream.qos_prio");
pierventre48e78822020-12-15 17:34:54 +0100321 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_DROP =
322 PiActionId.of("FabricEgress.egress_next.drop");
Carmelo Cascone2102bfb2020-12-04 16:54:24 -0800323 public static final PiActionId FABRIC_INGRESS_SPGW_LOAD_PDR =
324 PiActionId.of("FabricIngress.spgw.load_pdr");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800325 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
326 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900327 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
328 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800329 public static final PiActionId FABRIC_INGRESS_ACL_NOP_ACL =
330 PiActionId.of("FabricIngress.acl.nop_acl");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700331 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_ENABLED_V6 =
332 PiActionId.of("FabricIngress.bng_ingress.upstream.term_enabled_v6");
333 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_UPSTREAM_TERM_ENABLED_V4 =
334 PiActionId.of("FabricIngress.bng_ingress.upstream.term_enabled_v4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900335 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
336 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800337 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng47eac892018-07-11 02:17:04 +0800338 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
339 PiActionId.of("FabricIngress.next.output_simple");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800340 public static final PiActionId FABRIC_INGRESS_FILTERING_DENY =
341 PiActionId.of("FabricIngress.filtering.deny");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800342 public static final PiActionId FABRIC_INGRESS_PRE_NEXT_SET_MPLS_LABEL =
343 PiActionId.of("FabricIngress.pre_next.set_mpls_label");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700344 public static final PiActionId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_SET_SESSION =
345 PiActionId.of("FabricIngress.bng_ingress.downstream.set_session");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700346 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP_ID =
347 PiActionId.of("FabricIngress.next.set_mcast_group_id");
Yi Tseng47eac892018-07-11 02:17:04 +0800348 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
349 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200350 public static final PiActionId FABRIC_INGRESS_SLICE_TC_CLASSIFIER_SET_SLICE_ID_TC =
351 PiActionId.of("FabricIngress.slice_tc_classifier.set_slice_id_tc");
Carmelo Cascone79a3a312018-08-16 17:14:43 -0700352 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_MAIN_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
353 PiActionId.of("FabricEgress.process_int_main.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800354 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700355 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_XCONNECT =
356 PiActionId.of("FabricIngress.next.output_xconnect");
Yi Tsengbe342052017-11-03 10:21:23 -0700357 // Action Param IDs
Daniele Moro7c3a0022019-07-12 13:38:34 -0700358 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700359 public static final PiActionParamId MON_PORT =
360 PiActionParamId.of("mon_port");
ersuneetsinghe326c722021-03-25 21:17:29 -0300361 public static final PiActionParamId QID = PiActionParamId.of("qid");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400362 public static final PiActionParamId NOTIFY_CP =
363 PiActionParamId.of("notify_cp");
Robert MacDavidde12b982020-07-15 18:38:59 -0700364 public static final PiActionParamId SRC_IFACE =
365 PiActionParamId.of("src_iface");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400366 public static final PiActionParamId SWITCH_ID =
367 PiActionParamId.of("switch_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700368 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700369 public static final PiActionParamId CLONE_ID =
370 PiActionParamId.of("clone_id");
Wailok Shumfb7e7872021-06-18 17:30:08 +0800371 public static final PiActionParamId PORT_TYPE =
372 PiActionParamId.of("port_type");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400373 public static final PiActionParamId FAR_ID = PiActionParamId.of("far_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700374 public static final PiActionParamId VLAN_ID = PiActionParamId.of("vlan_id");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400375 public static final PiActionParamId TUNNEL_SRC_ADDR =
376 PiActionParamId.of("tunnel_src_addr");
Robert MacDavidde12b982020-07-15 18:38:59 -0700377 public static final PiActionParamId TUNNEL_SRC_PORT =
378 PiActionParamId.of("tunnel_src_port");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700379 public static final PiActionParamId LABEL = PiActionParamId.of("label");
380 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400381 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700382 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800383 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200384 public static final PiActionParamId TC = PiActionParamId.of("tc");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700385 public static final PiActionParamId INNER_VLAN_ID =
386 PiActionParamId.of("inner_vlan_id");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700387 public static final PiActionParamId PPPOE_SESSION_ID =
388 PiActionParamId.of("pppoe_session_id");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400389 public static final PiActionParamId CTR_ID = PiActionParamId.of("ctr_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900390 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900391 public static final PiActionParamId INS_MASK0003 =
392 PiActionParamId.of("ins_mask0003");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200393 public static final PiActionParamId NEEDS_QFI_PUSH =
394 PiActionParamId.of("needs_qfi_push");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700395 public static final PiActionParamId FWD_TYPE =
396 PiActionParamId.of("fwd_type");
Daniele Moro7c3a0022019-07-12 13:38:34 -0700397 public static final PiActionParamId OUTER_VLAN_ID =
398 PiActionParamId.of("outer_vlan_id");
Robert MacDavidde12b982020-07-15 18:38:59 -0700399 public static final PiActionParamId NEEDS_GTPU_DECAP =
400 PiActionParamId.of("needs_gtpu_decap");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700401 public static final PiActionParamId INS_MASK0407 =
402 PiActionParamId.of("ins_mask0407");
403 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200404 public static final PiActionParamId SLICE_ID =
405 PiActionParamId.of("slice_id");
406 public static final PiActionParamId LINE_ID = PiActionParamId.of("line_id");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400407 public static final PiActionParamId DROP = PiActionParamId.of("drop");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800408 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800409 PiActionParamId.of("port_num");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200410 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Robert MacDavidbec6b6a2020-05-21 21:32:38 -0400411 public static final PiActionParamId TUNNEL_DST_ADDR =
412 PiActionParamId.of("tunnel_dst_addr");
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200413 public static final PiActionParamId QFI = PiActionParamId.of("qfi");
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800414 public static final PiActionParamId GROUP_ID =
415 PiActionParamId.of("group_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900416 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
Yi Tsengbe342052017-11-03 10:21:23 -0700417 // Action Profile IDs
Carmelo Casconeb5324e72018-11-25 02:26:32 -0800418 public static final PiActionProfileId FABRIC_INGRESS_NEXT_HASHED_SELECTOR =
419 PiActionProfileId.of("FabricIngress.next.hashed_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700420 // Packet Metadata IDs
Carmelo Cascone4c289b72019-01-22 15:30:45 -0800421 public static final PiPacketMetadataId INGRESS_PORT =
422 PiPacketMetadataId.of("ingress_port");
Carmelo Cascone2388cc12021-05-26 19:30:30 +0200423 public static final PiPacketMetadataId DO_FORWARDING =
424 PiPacketMetadataId.of("do_forwarding");
Carmelo Cascone4c289b72019-01-22 15:30:45 -0800425 public static final PiPacketMetadataId EGRESS_PORT =
426 PiPacketMetadataId.of("egress_port");
Daniele Moro1edc0bd2019-08-21 17:22:50 -0700427 // Meter IDs
Daniele Moro08c9e7f2021-07-28 18:53:34 +0200428 public static final PiMeterId FABRIC_INGRESS_QOS_SLICE_TC_METER =
429 PiMeterId.of("FabricIngress.qos.slice_tc_meter");
Daniele Moro1edc0bd2019-08-21 17:22:50 -0700430 public static final PiMeterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_M_BESTEFF =
431 PiMeterId.of("FabricIngress.bng_ingress.downstream.m_besteff");
432 public static final PiMeterId FABRIC_INGRESS_BNG_INGRESS_DOWNSTREAM_M_PRIO =
433 PiMeterId.of("FabricIngress.bng_ingress.downstream.m_prio");
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700434}