blob: 0c0b3809d67fc4093055d342ec0c56189db15ffb [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
Yi Tseng43ee7e82018-04-12 16:37:34 +080036 public static final PiMatchFieldId HDR_VLAN_TAG_VLAN_ID =
37 PiMatchFieldId.of("hdr.vlan_tag.vlan_id");
38 public static final PiMatchFieldId HDR_MPLS_LABEL =
39 PiMatchFieldId.of("hdr.mpls.label");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090040 public static final PiMatchFieldId STANDARD_METADATA_EGRESS_PORT =
41 PiMatchFieldId.of("standard_metadata.egress_port");
42 public static final PiMatchFieldId STANDARD_METADATA_INGRESS_PORT =
43 PiMatchFieldId.of("standard_metadata.ingress_port");
44 public static final PiMatchFieldId HDR_VLAN_TAG_IS_VALID =
45 PiMatchFieldId.of("hdr.vlan_tag.is_valid");
46 public static final PiMatchFieldId HDR_ICMP_ICMP_CODE =
47 PiMatchFieldId.of("hdr.icmp.icmp_code");
Yi Tseng43ee7e82018-04-12 16:37:34 +080048 public static final PiMatchFieldId HDR_ETHERNET_SRC_ADDR =
49 PiMatchFieldId.of("hdr.ethernet.src_addr");
50 public static final PiMatchFieldId HDR_ICMP_ICMP_TYPE =
51 PiMatchFieldId.of("hdr.icmp.icmp_type");
Yi Tseng8235a1a2018-07-24 20:57:28 +080052 public static final PiMatchFieldId HDR_VLAN_TAG_ETHER_TYPE =
53 PiMatchFieldId.of("hdr.vlan_tag.ether_type");
Yi Tseng8235a1a2018-07-24 20:57:28 +080054 public static final PiMatchFieldId HDR_IPV4_DST_ADDR =
55 PiMatchFieldId.of("hdr.ipv4.dst_addr");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090056 public static final PiMatchFieldId HDR_INT_HEADER_INSTRUCTION_MASK_0003 =
57 PiMatchFieldId.of("hdr.int_header.instruction_mask_0003");
58 public static final PiMatchFieldId FABRIC_METADATA_L4_SRC_PORT =
59 PiMatchFieldId.of("fabric_metadata.l4_src_port");
60 public static final PiMatchFieldId FABRIC_METADATA_L4_DST_PORT =
61 PiMatchFieldId.of("fabric_metadata.l4_dst_port");
62 public static final PiMatchFieldId STANDARD_METADATA_EGRESS_SPEC =
63 PiMatchFieldId.of("standard_metadata.egress_spec");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070064 public static final PiMatchFieldId GTPU_IPV4_DST_ADDR =
65 PiMatchFieldId.of("gtpu_ipv4.dst_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +080066 public static final PiMatchFieldId FABRIC_METADATA_IP_PROTO =
67 PiMatchFieldId.of("fabric_metadata.ip_proto");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090068 public static final PiMatchFieldId FABRIC_METADATA_NEXT_ID =
69 PiMatchFieldId.of("fabric_metadata.next_id");
70 public static final PiMatchFieldId HDR_IPV4_SRC_ADDR =
71 PiMatchFieldId.of("hdr.ipv4.src_addr");
72 public static final PiMatchFieldId HDR_INT_HEADER_INSTRUCTION_MASK_0407 =
73 PiMatchFieldId.of("hdr.int_header.instruction_mask_0407");
74 public static final PiMatchFieldId HDR_IPV6_DST_ADDR =
75 PiMatchFieldId.of("hdr.ipv6.dst_addr");
76 public static final PiMatchFieldId IPV4_DST_ADDR =
77 PiMatchFieldId.of("ipv4.dst_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +080078 public static final PiMatchFieldId HDR_ETHERNET_DST_ADDR =
79 PiMatchFieldId.of("hdr.ethernet.dst_addr");
Yi Tsengbe342052017-11-03 10:21:23 -070080 // Table IDs
Charles Chan384aea22018-08-23 22:08:02 -070081 public static final PiTableId FABRIC_INGRESS_FORWARDING_ACL =
82 PiTableId.of("FabricIngress.forwarding.acl");
Yi Tseng43ee7e82018-04-12 16:37:34 +080083 public static final PiTableId FABRIC_INGRESS_NEXT_HASHED =
Yi Tseng27b9bc02018-04-12 14:52:40 +080084 PiTableId.of("FabricIngress.next.hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090085 public static final PiTableId FABRIC_INGRESS_FORWARDING_MPLS =
86 PiTableId.of("FabricIngress.forwarding.mpls");
Charles Chan384aea22018-08-23 22:08:02 -070087 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SINK =
88 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_sink");
89 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V4 =
90 PiTableId.of("FabricIngress.forwarding.routing_v4");
91 public static final PiTableId FABRIC_INGRESS_NEXT_SIMPLE =
92 PiTableId.of("FabricIngress.next.simple");
93 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_SOURCE_TB_INT_SOURCE =
94 PiTableId.of("FabricEgress.process_int_source.tb_int_source");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090095 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_TRANSIT_TB_INT_INST_0003 =
96 PiTableId.of("FabricEgress.process_int_transit.tb_int_inst_0003");
Charles Chan384aea22018-08-23 22:08:02 -070097 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_TRANSIT_TB_INT_INSERT =
98 PiTableId.of("FabricEgress.process_int_transit.tb_int_insert");
99 public static final PiTableId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER =
100 PiTableId.of("FabricIngress.filtering.fwd_classifier");
101 public static final PiTableId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_TB_SET_SOURCE =
102 PiTableId.of("FabricIngress.process_set_source_sink.tb_set_source");
103 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_REPORT_TB_GENERATE_REPORT =
104 PiTableId.of("FabricEgress.process_int_report.tb_generate_report");
105 public static final PiTableId FABRIC_INGRESS_FORWARDING_BRIDGING =
106 PiTableId.of("FabricIngress.forwarding.bridging");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900107 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_S1U_FILTER_TABLE =
108 PiTableId.of("FabricIngress.spgw_ingress.s1u_filter_table");
109 public static final PiTableId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN =
110 PiTableId.of("FabricIngress.filtering.ingress_port_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900111 public static final PiTableId FABRIC_INGRESS_SPGW_INGRESS_DL_SESS_LOOKUP =
112 PiTableId.of("FabricIngress.spgw_ingress.dl_sess_lookup");
Charles Chan384aea22018-08-23 22:08:02 -0700113 public static final PiTableId FABRIC_EGRESS_PROCESS_INT_TRANSIT_TB_INT_INST_0407 =
114 PiTableId.of("FabricEgress.process_int_transit.tb_int_inst_0407");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900115 public static final PiTableId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN =
116 PiTableId.of("FabricEgress.egress_next.egress_vlan");
Charles Chan384aea22018-08-23 22:08:02 -0700117 public static final PiTableId FABRIC_INGRESS_NEXT_MULTICAST =
118 PiTableId.of("FabricIngress.next.multicast");
119 public static final PiTableId FABRIC_INGRESS_NEXT_VLAN_META =
120 PiTableId.of("FabricIngress.next.vlan_meta");
121 public static final PiTableId FABRIC_INGRESS_FORWARDING_ROUTING_V6 =
122 PiTableId.of("FabricIngress.forwarding.routing_v6");
Yi Tsengbe342052017-11-03 10:21:23 -0700123 // Indirect Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800124 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_EGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800125 PiCounterId.of("FabricIngress.port_counters_control.egress_port_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800126 public static final PiCounterId FABRIC_INGRESS_PORT_COUNTERS_CONTROL_INGRESS_PORT_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800127 PiCounterId.of("FabricIngress.port_counters_control.ingress_port_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700128 // Direct Counter IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800129 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ACL_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800130 PiCounterId.of("FabricIngress.forwarding.acl_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800131 public static final PiCounterId FABRIC_INGRESS_NEXT_MULTICAST_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800132 PiCounterId.of("FabricIngress.next.multicast_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700133 public static final PiCounterId FABRIC_INGRESS_NEXT_VLAN_META_COUNTER =
134 PiCounterId.of("FabricIngress.next.vlan_meta_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800135 public static final PiCounterId FABRIC_INGRESS_FILTERING_FWD_CLASSIFIER_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800136 PiCounterId.of("FabricIngress.filtering.fwd_classifier_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800137 public static final PiCounterId FABRIC_INGRESS_FORWARDING_BRIDGING_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800138 PiCounterId.of("FabricIngress.forwarding.bridging_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700139 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V4_COUNTER =
140 PiCounterId.of("FabricIngress.forwarding.routing_v4_counter");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900141 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SOURCE =
142 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_source");
Charles Chan384aea22018-08-23 22:08:02 -0700143 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INST_0407 =
144 PiCounterId.of("FabricEgress.process_int_transit.counter_int_inst_0407");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200145 public static final PiCounterId FABRIC_INGRESS_SPGW_INGRESS_UE_COUNTER =
146 PiCounterId.of("FabricIngress.spgw_ingress.ue_counter");
Yi Tseng47eac892018-07-11 02:17:04 +0800147 public static final PiCounterId FABRIC_EGRESS_EGRESS_NEXT_EGRESS_VLAN_COUNTER =
148 PiCounterId.of("FabricEgress.egress_next.egress_vlan_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800149 public static final PiCounterId FABRIC_INGRESS_NEXT_SIMPLE_COUNTER =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800150 PiCounterId.of("FabricIngress.next.simple_counter");
Charles Chan384aea22018-08-23 22:08:02 -0700151 public static final PiCounterId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_COUNTER_SET_SINK =
152 PiCounterId.of("FabricIngress.process_set_source_sink.counter_set_sink");
153 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INSERT =
154 PiCounterId.of("FabricEgress.process_int_transit.counter_int_insert");
155 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_SOURCE_COUNTER_INT_SOURCE =
156 PiCounterId.of("FabricEgress.process_int_source.counter_int_source");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900157 public static final PiCounterId FABRIC_EGRESS_PROCESS_INT_TRANSIT_COUNTER_INT_INST_0003 =
158 PiCounterId.of("FabricEgress.process_int_transit.counter_int_inst_0003");
Charles Chan384aea22018-08-23 22:08:02 -0700159 public static final PiCounterId FABRIC_INGRESS_FORWARDING_ROUTING_V6_COUNTER =
160 PiCounterId.of("FabricIngress.forwarding.routing_v6_counter");
161 public static final PiCounterId FABRIC_INGRESS_FILTERING_INGRESS_PORT_VLAN_COUNTER =
162 PiCounterId.of("FabricIngress.filtering.ingress_port_vlan_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800163 public static final PiCounterId FABRIC_INGRESS_FORWARDING_MPLS_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800164 PiCounterId.of("FabricIngress.forwarding.mpls_counter");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800165 public static final PiCounterId FABRIC_INGRESS_NEXT_HASHED_COUNTER =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800166 PiCounterId.of("FabricIngress.next.hashed_counter");
Yi Tsengbe342052017-11-03 10:21:23 -0700167 // Action IDs
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900168 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I14 =
169 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i14");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700170 public static final PiActionId FABRIC_INGRESS_FORWARDING_PUNT_TO_CPU =
171 PiActionId.of("FabricIngress.forwarding.punt_to_cpu");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900172 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I12 =
173 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i12");
174 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I13 =
175 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i13");
176 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I10 =
177 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i10");
Yi Tseng47eac892018-07-11 02:17:04 +0800178 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_SIMPLE =
179 PiActionId.of("FabricIngress.next.mpls_routing_v6_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900180 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_UPDATE_TOTAL_HOP_CNT =
181 PiActionId.of("FabricEgress.process_int_transit.int_update_total_hop_cnt");
Carmelo Cascone8a715f82018-08-20 23:16:27 -0700182 public static final PiActionId FABRIC_INGRESS_FILTERING_NOP_INGRESS_PORT_VLAN =
183 PiActionId.of("FabricIngress.filtering.nop_ingress_port_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900184 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I14 =
185 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i14");
Yi Tseng47eac892018-07-11 02:17:04 +0800186 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
187 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700188 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I15 =
189 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i15");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900190 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I2 =
191 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i2");
Charles Chancf696e52018-08-16 16:25:13 -0700192 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I5 =
193 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i5");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900194 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I4 =
195 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i4");
196 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_INT_SINK =
197 PiActionId.of("FabricEgress.process_int_sink.int_sink");
198 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I3 =
199 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i3");
200 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I13 =
201 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i13");
202 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I7 =
203 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i7");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800204 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800205 PiActionId.of("FabricIngress.next.set_vlan");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800206 public static final PiActionId FABRIC_EGRESS_PKT_IO_EGRESS_POP_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800207 PiActionId.of("FabricEgress.pkt_io_egress.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900208 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I8 =
209 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i8");
210 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I9 =
211 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i9");
212 public static final PiActionId FABRIC_EGRESS_SPGW_EGRESS_GTPU_ENCAP =
213 PiActionId.of("FabricEgress.spgw_egress.gtpu_encap");
214 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I4 =
215 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i4");
216 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I5 =
217 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i5");
Yi Tseng47eac892018-07-11 02:17:04 +0800218 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_VLAN =
219 PiActionId.of("FabricIngress.filtering.set_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900220 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I11 =
221 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i11");
222 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I0 =
223 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i0");
224 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I1 =
225 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i1");
Yi Tseng47eac892018-07-11 02:17:04 +0800226 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_SIMPLE =
227 PiActionId.of("FabricIngress.next.l3_routing_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900228 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I3 =
229 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i3");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800230 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800231 PiActionId.of("FabricIngress.next.set_mcast_group");
Charles Chan384aea22018-08-23 22:08:02 -0700232 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
233 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900234 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_UDP =
235 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_udp");
Charles Chan384aea22018-08-23 22:08:02 -0700236 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V6 =
237 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200238 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
239 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800240 public static final PiActionId FABRIC_INGRESS_FILTERING_PUSH_INTERNAL_VLAN =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800241 PiActionId.of("FabricIngress.filtering.push_internal_vlan");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200242 public static final PiActionId FABRIC_INGRESS_FORWARDING_CLONE_TO_CPU =
243 PiActionId.of("FabricIngress.forwarding.clone_to_cpu");
244 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_GTPU_DECAP =
245 PiActionId.of("FabricIngress.spgw_ingress.gtpu_decap");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900246 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I15 =
247 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i15");
248 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I12 =
249 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i12");
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");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900252 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I10 =
253 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i10");
254 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I11 =
255 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i11");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200256 public static final PiActionId DROP_NOW = PiActionId.of("drop_now");
Yi Tseng47eac892018-07-11 02:17:04 +0800257 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_HASHED =
258 PiActionId.of("FabricIngress.next.l3_routing_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900259 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
260 PiActionId.of("FabricEgress.process_int_source.int_source_dscp");
261 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
262 PiActionId.of("FabricEgress.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800263 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
264 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900265 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
266 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
267 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_SHIM =
268 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_shim");
Yi Tseng47eac892018-07-11 02:17:04 +0800269 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_HASHED =
270 PiActionId.of("FabricIngress.next.mpls_routing_v4_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900271 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
272 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800273 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800274 public static final PiActionId FABRIC_INGRESS_FORWARDING_DROP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800275 PiActionId.of("FabricIngress.forwarding.drop");
Yi Tseng47eac892018-07-11 02:17:04 +0800276 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
277 PiActionId.of("FabricIngress.next.output_simple");
278 public static final PiActionId FABRIC_INGRESS_FILTERING_DROP =
279 PiActionId.of("FabricIngress.filtering.drop");
Charles Chancf696e52018-08-16 16:25:13 -0700280 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_IPV4 =
281 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_ipv4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900282 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I8 =
283 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i8");
284 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I9 =
285 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i9");
286 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_RESTORE_HEADER =
287 PiActionId.of("FabricEgress.process_int_sink.restore_header");
Yi Tseng47eac892018-07-11 02:17:04 +0800288 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
289 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
290 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN_OUTPUT =
291 PiActionId.of("FabricIngress.next.set_vlan_output");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900292 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I6 =
293 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i6");
294 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I7 =
295 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i7");
296 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I0 =
297 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i0");
298 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I1 =
299 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i1");
300 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I2 =
301 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i2");
Yi Tseng47eac892018-07-11 02:17:04 +0800302 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900303 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_TRANSIT =
304 PiActionId.of("FabricEgress.process_int_transit.int_transit");
Yi Tseng47eac892018-07-11 02:17:04 +0800305 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_SIMPLE =
306 PiActionId.of("FabricIngress.next.mpls_routing_v4_simple");
Charles Chancf696e52018-08-16 16:25:13 -0700307 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ACL =
308 PiActionId.of("FabricIngress.forwarding.nop_acl");
Carmelo Cascone8a715f82018-08-20 23:16:27 -0700309 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_HASHED =
310 PiActionId.of("FabricIngress.next.mpls_routing_v6_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800311 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_VLAN =
312 PiActionId.of("FabricIngress.next.l3_routing_vlan");
313 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ACL =
314 PiActionId.of("FabricIngress.forwarding.set_next_id_acl");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900315 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I6 =
316 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i6");
Yi Tsengbe342052017-11-03 10:21:23 -0700317 // Action Param IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800318 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900319 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200320 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900321 public static final PiActionParamId INS_MASK0407 =
322 PiActionParamId.of("ins_mask0407");
323 public static final PiActionParamId INS_MASK0003 =
324 PiActionParamId.of("ins_mask0003");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200325 public static final PiActionParamId S1U_ENB_ADDR =
326 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800327 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800328 PiActionParamId.of("port_num");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200329 public static final PiActionParamId S1U_SGW_ADDR =
330 PiActionParamId.of("s1u_sgw_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800331 public static final PiActionParamId LABEL = PiActionParamId.of("label");
332 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900333 public static final PiActionParamId MON_PORT =
334 PiActionParamId.of("mon_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800335 public static final PiActionParamId GID = PiActionParamId.of("gid");
336 public static final PiActionParamId NEW_VLAN_ID =
Yi Tsengc6844f52017-12-19 11:58:25 -0800337 PiActionParamId.of("new_vlan_id");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800338 public static final PiActionParamId FWD_TYPE =
Yi Tsengc6844f52017-12-19 11:58:25 -0800339 PiActionParamId.of("fwd_type");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900340 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
341 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800342 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900343 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
344 public static final PiActionParamId SWITCH_ID =
345 PiActionParamId.of("switch_id");
346 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
347 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
Yi Tsengbe342052017-11-03 10:21:23 -0700348 // Action Profile IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800349 public static final PiActionProfileId FABRIC_INGRESS_NEXT_ECMP_SELECTOR =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800350 PiActionProfileId.of("FabricIngress.next.ecmp_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700351 // Packet Metadata IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800352 public static final PiControlMetadataId INGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800353 PiControlMetadataId.of("ingress_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800354 public static final PiControlMetadataId EGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800355 PiControlMetadataId.of("egress_port");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700356}