blob: 78cf0717d6a71f6dbbfacbc6908a34cc968fed24 [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");
Charles Chancd03f072018-08-31 17:46:37 -0700180 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ROUTING_V4 =
181 PiActionId.of("FabricIngress.forwarding.nop_routing_v4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900182 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_UPDATE_TOTAL_HOP_CNT =
183 PiActionId.of("FabricEgress.process_int_transit.int_update_total_hop_cnt");
Carmelo Cascone8a715f82018-08-20 23:16:27 -0700184 public static final PiActionId FABRIC_INGRESS_FILTERING_NOP_INGRESS_PORT_VLAN =
185 PiActionId.of("FabricIngress.filtering.nop_ingress_port_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900186 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I14 =
187 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i14");
Yi Tseng47eac892018-07-11 02:17:04 +0800188 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_BRIDGING =
189 PiActionId.of("FabricIngress.forwarding.set_next_id_bridging");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700190 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I15 =
191 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i15");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900192 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I2 =
193 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i2");
Charles Chancf696e52018-08-16 16:25:13 -0700194 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I5 =
195 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i5");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900196 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I4 =
197 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i4");
198 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_INT_SINK =
199 PiActionId.of("FabricEgress.process_int_sink.int_sink");
200 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I3 =
201 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i3");
202 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I13 =
203 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i13");
204 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I7 =
205 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i7");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800206 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800207 PiActionId.of("FabricIngress.next.set_vlan");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800208 public static final PiActionId FABRIC_EGRESS_PKT_IO_EGRESS_POP_VLAN =
Yi Tseng20f9e7b2018-05-24 23:27:39 +0800209 PiActionId.of("FabricEgress.pkt_io_egress.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900210 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I8 =
211 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i8");
212 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I9 =
213 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i9");
214 public static final PiActionId FABRIC_EGRESS_SPGW_EGRESS_GTPU_ENCAP =
215 PiActionId.of("FabricEgress.spgw_egress.gtpu_encap");
216 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I4 =
217 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i4");
218 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I5 =
219 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i5");
Yi Tseng47eac892018-07-11 02:17:04 +0800220 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_VLAN =
221 PiActionId.of("FabricIngress.filtering.set_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900222 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I11 =
223 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i11");
224 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I0 =
225 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i0");
226 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I1 =
227 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i1");
Yi Tseng47eac892018-07-11 02:17:04 +0800228 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_SIMPLE =
229 PiActionId.of("FabricIngress.next.l3_routing_simple");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900230 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I3 =
231 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i3");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800232 public static final PiActionId FABRIC_INGRESS_NEXT_SET_MCAST_GROUP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800233 PiActionId.of("FabricIngress.next.set_mcast_group");
Charles Chan384aea22018-08-23 22:08:02 -0700234 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V4 =
235 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900236 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_UDP =
237 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_udp");
Charles Chan384aea22018-08-23 22:08:02 -0700238 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ROUTING_V6 =
239 PiActionId.of("FabricIngress.forwarding.set_next_id_routing_v6");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200240 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_SET_DL_SESS_INFO =
241 PiActionId.of("FabricIngress.spgw_ingress.set_dl_sess_info");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800242 public static final PiActionId FABRIC_INGRESS_FILTERING_PUSH_INTERNAL_VLAN =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800243 PiActionId.of("FabricIngress.filtering.push_internal_vlan");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200244 public static final PiActionId FABRIC_INGRESS_FORWARDING_CLONE_TO_CPU =
245 PiActionId.of("FabricIngress.forwarding.clone_to_cpu");
246 public static final PiActionId FABRIC_INGRESS_SPGW_INGRESS_GTPU_DECAP =
247 PiActionId.of("FabricIngress.spgw_ingress.gtpu_decap");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900248 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I15 =
249 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i15");
250 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I12 =
251 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i12");
Yi Tseng47eac892018-07-11 02:17:04 +0800252 public static final PiActionId FABRIC_INGRESS_FORWARDING_POP_MPLS_AND_NEXT =
253 PiActionId.of("FabricIngress.forwarding.pop_mpls_and_next");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900254 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I10 =
255 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i10");
256 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I11 =
257 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i11");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200258 public static final PiActionId DROP_NOW = PiActionId.of("drop_now");
Yi Tseng47eac892018-07-11 02:17:04 +0800259 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_HASHED =
260 PiActionId.of("FabricIngress.next.l3_routing_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900261 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SOURCE_INT_SOURCE_DSCP =
262 PiActionId.of("FabricEgress.process_int_source.int_source_dscp");
263 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_REPORT_DO_REPORT_ENCAPSULATION =
264 PiActionId.of("FabricEgress.process_int_report.do_report_encapsulation");
Yi Tseng47eac892018-07-11 02:17:04 +0800265 public static final PiActionId FABRIC_EGRESS_EGRESS_NEXT_POP_VLAN =
266 PiActionId.of("FabricEgress.egress_next.pop_vlan");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900267 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SINK =
268 PiActionId.of("FabricIngress.process_set_source_sink.int_set_sink");
269 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_SHIM =
270 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_shim");
Yi Tseng47eac892018-07-11 02:17:04 +0800271 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_HASHED =
272 PiActionId.of("FabricIngress.next.mpls_routing_v4_hashed");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900273 public static final PiActionId FABRIC_INGRESS_PROCESS_SET_SOURCE_SINK_INT_SET_SOURCE =
274 PiActionId.of("FabricIngress.process_set_source_sink.int_set_source");
Yi Tseng47eac892018-07-11 02:17:04 +0800275 public static final PiActionId NOP = PiActionId.of("nop");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800276 public static final PiActionId FABRIC_INGRESS_FORWARDING_DROP =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800277 PiActionId.of("FabricIngress.forwarding.drop");
Yi Tseng47eac892018-07-11 02:17:04 +0800278 public static final PiActionId FABRIC_INGRESS_NEXT_OUTPUT_SIMPLE =
279 PiActionId.of("FabricIngress.next.output_simple");
280 public static final PiActionId FABRIC_INGRESS_FILTERING_DROP =
281 PiActionId.of("FabricIngress.filtering.drop");
Charles Chancf696e52018-08-16 16:25:13 -0700282 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_OUTER_ENCAP_INT_UPDATE_IPV4 =
283 PiActionId.of("FabricEgress.process_int_outer_encap.int_update_ipv4");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900284 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I8 =
285 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i8");
286 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I9 =
287 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i9");
288 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_SINK_RESTORE_HEADER =
289 PiActionId.of("FabricEgress.process_int_sink.restore_header");
Yi Tseng47eac892018-07-11 02:17:04 +0800290 public static final PiActionId FABRIC_INGRESS_FILTERING_SET_FORWARDING_TYPE =
291 PiActionId.of("FabricIngress.filtering.set_forwarding_type");
292 public static final PiActionId FABRIC_INGRESS_NEXT_SET_VLAN_OUTPUT =
293 PiActionId.of("FabricIngress.next.set_vlan_output");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900294 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I6 =
295 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i6");
296 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I7 =
297 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i7");
298 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I0 =
299 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i0");
300 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I1 =
301 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i1");
302 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0003_I2 =
303 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0003_i2");
Yi Tseng47eac892018-07-11 02:17:04 +0800304 public static final PiActionId NO_ACTION = PiActionId.of("NoAction");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900305 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_TRANSIT =
306 PiActionId.of("FabricEgress.process_int_transit.int_transit");
Yi Tseng47eac892018-07-11 02:17:04 +0800307 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V4_SIMPLE =
308 PiActionId.of("FabricIngress.next.mpls_routing_v4_simple");
Charles Chancf696e52018-08-16 16:25:13 -0700309 public static final PiActionId FABRIC_INGRESS_FORWARDING_NOP_ACL =
310 PiActionId.of("FabricIngress.forwarding.nop_acl");
Carmelo Cascone8a715f82018-08-20 23:16:27 -0700311 public static final PiActionId FABRIC_INGRESS_NEXT_MPLS_ROUTING_V6_HASHED =
312 PiActionId.of("FabricIngress.next.mpls_routing_v6_hashed");
Yi Tseng47eac892018-07-11 02:17:04 +0800313 public static final PiActionId FABRIC_INGRESS_NEXT_L3_ROUTING_VLAN =
314 PiActionId.of("FabricIngress.next.l3_routing_vlan");
315 public static final PiActionId FABRIC_INGRESS_FORWARDING_SET_NEXT_ID_ACL =
316 PiActionId.of("FabricIngress.forwarding.set_next_id_acl");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900317 public static final PiActionId FABRIC_EGRESS_PROCESS_INT_TRANSIT_INT_SET_HEADER_0407_I6 =
318 PiActionId.of("FabricEgress.process_int_transit.int_set_header_0407_i6");
Yi Tsengbe342052017-11-03 10:21:23 -0700319 // Action Param IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800320 public static final PiActionParamId DMAC = PiActionParamId.of("dmac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900321 public static final PiActionParamId MON_IP = PiActionParamId.of("mon_ip");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200322 public static final PiActionParamId TEID = PiActionParamId.of("teid");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900323 public static final PiActionParamId INS_MASK0407 =
324 PiActionParamId.of("ins_mask0407");
325 public static final PiActionParamId INS_MASK0003 =
326 PiActionParamId.of("ins_mask0003");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200327 public static final PiActionParamId S1U_ENB_ADDR =
328 PiActionParamId.of("s1u_enb_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800329 public static final PiActionParamId PORT_NUM =
Yi Tsengc6844f52017-12-19 11:58:25 -0800330 PiActionParamId.of("port_num");
Carmelo Cascone1e8843f2018-07-19 19:01:12 +0200331 public static final PiActionParamId S1U_SGW_ADDR =
332 PiActionParamId.of("s1u_sgw_addr");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800333 public static final PiActionParamId LABEL = PiActionParamId.of("label");
334 public static final PiActionParamId SMAC = PiActionParamId.of("smac");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900335 public static final PiActionParamId MON_PORT =
336 PiActionParamId.of("mon_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800337 public static final PiActionParamId GID = PiActionParamId.of("gid");
338 public static final PiActionParamId NEW_VLAN_ID =
Yi Tsengc6844f52017-12-19 11:58:25 -0800339 PiActionParamId.of("new_vlan_id");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800340 public static final PiActionParamId FWD_TYPE =
Yi Tsengc6844f52017-12-19 11:58:25 -0800341 PiActionParamId.of("fwd_type");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900342 public static final PiActionParamId MON_MAC = PiActionParamId.of("mon_mac");
343 public static final PiActionParamId SRC_MAC = PiActionParamId.of("src_mac");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800344 public static final PiActionParamId NEXT_ID = PiActionParamId.of("next_id");
Jonghwan Hyuned478dc2018-08-06 15:35:18 +0900345 public static final PiActionParamId INS_CNT = PiActionParamId.of("ins_cnt");
346 public static final PiActionParamId SWITCH_ID =
347 PiActionParamId.of("switch_id");
348 public static final PiActionParamId MAX_HOP = PiActionParamId.of("max_hop");
349 public static final PiActionParamId SRC_IP = PiActionParamId.of("src_ip");
Yi Tsengbe342052017-11-03 10:21:23 -0700350 // Action Profile IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800351 public static final PiActionProfileId FABRIC_INGRESS_NEXT_ECMP_SELECTOR =
Yi Tseng27b9bc02018-04-12 14:52:40 +0800352 PiActionProfileId.of("FabricIngress.next.ecmp_selector");
Yi Tsengbe342052017-11-03 10:21:23 -0700353 // Packet Metadata IDs
Yi Tseng43ee7e82018-04-12 16:37:34 +0800354 public static final PiControlMetadataId INGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800355 PiControlMetadataId.of("ingress_port");
Yi Tseng43ee7e82018-04-12 16:37:34 +0800356 public static final PiControlMetadataId EGRESS_PORT =
Yi Tsengc6844f52017-12-19 11:58:25 -0800357 PiControlMetadataId.of("egress_port");
Carmelo Cascone9b0171b2018-08-14 01:43:57 -0700358}