blob: 22b983a2d8affdb3fd5697adaf29a25eefc0fbae [file] [log] [blame]
Jonghwan Hyunb9358822017-12-06 17:55:27 -08001/*
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.basic;
18
19import org.onosproject.net.pi.model.PiActionId;
20import org.onosproject.net.pi.model.PiActionParamId;
21import org.onosproject.net.pi.model.PiCounterId;
22import org.onosproject.net.pi.model.PiMatchFieldId;
23import org.onosproject.net.pi.model.PiTableId;
24
25import static org.onosproject.pipelines.basic.BasicConstants.DOT;
26import static org.onosproject.pipelines.basic.BasicConstants.HDR;
27import static org.onosproject.pipelines.basic.BasicConstants.LOCAL_METADATA;
28
29/**
30 * Constants for INT pipeline.
31 */
32public final class IntConstants {
33
34 // Hide default constructor
35 private IntConstants() {
36 }
37
38 // Strings
39 private static final String CTRL_SET_SOURCE_SINK = "process_set_source_sink";
40 private static final String CTRL_INT_SOURCE = "process_int_source";
41 private static final String CTRL_INT_TRANSIT = "process_int_transit";
42 private static final String CTRL_INT_SINK = "process_int_sink";
43 private static final String CTRL_INT_OUTER_ENCAP = "process_int_outer_encap";
44 private static final String INT_METADATA = "int_meta";
45 private static final String INT_HDR = "int_header";
46
47 // Header field IDs
48 public static final PiMatchFieldId LOCAL_META_SRC_PORT_ID =
49 PiMatchFieldId.of(LOCAL_METADATA + DOT + "l4_src_port");
50 public static final PiMatchFieldId LOCAL_META_DST_PORT_ID =
51 PiMatchFieldId.of(LOCAL_METADATA + DOT + "l4_dst_port");
52 public static final PiMatchFieldId INT_META_SINK_ID =
53 PiMatchFieldId.of(LOCAL_METADATA + DOT + INT_METADATA + DOT + "sink");
54 public static final PiMatchFieldId INT_HDR_INST_MASK_0003_ID =
55 PiMatchFieldId.of(HDR + DOT + INT_HDR + DOT + "instruction_mask_0003");
56 public static final PiMatchFieldId INT_HDR_INST_MASK_0407_ID =
57 PiMatchFieldId.of(HDR + DOT + INT_HDR + DOT + "instruction_mask_0407");
58
59 // Table IDs
60 public static final PiTableId TBL_SET_SOURCE_SINK_ID =
61 PiTableId.of(CTRL_SET_SOURCE_SINK + DOT + "tb_set_source_sink");
62 public static final PiTableId TBL_INT_SOURCE_ID =
63 PiTableId.of(CTRL_INT_SOURCE + DOT + "tb_int_source");
64 public static final PiTableId TBL_INT_INSERT_ID =
65 PiTableId.of(CTRL_INT_TRANSIT + DOT + "tb_int_insert");
66 public static final PiTableId TBL_INT_INST_0003_ID =
67 PiTableId.of(CTRL_INT_TRANSIT + DOT + "tb_int_inst_0003");
68 public static final PiTableId TBL_INT_INST_0407_ID =
69 PiTableId.of(CTRL_INT_TRANSIT + DOT + "tb_int_inst_0407");
70
71 // Counter IDs
72 public static final PiCounterId CNT_SET_SOURCE_SINK_ID =
73 PiCounterId.of(CTRL_SET_SOURCE_SINK + DOT + "counter_set_source_sink");
74 public static final PiCounterId CNT_INT_SOURCE_ID =
75 PiCounterId.of(CTRL_INT_SOURCE + DOT + "counter_int_source");
76 public static final PiCounterId CNT_INT_INSERT_ID =
77 PiCounterId.of(CTRL_INT_TRANSIT + DOT + "counter_int_insert");
78 public static final PiCounterId CNT_INT_INST_0003_ID =
79 PiCounterId.of(CTRL_INT_TRANSIT + DOT + "counter_int_inst_0003");
80 public static final PiCounterId CNT_INT_INST_0407_ID =
81 PiCounterId.of(CTRL_INT_TRANSIT + DOT + "counter_int_inst_0407");
82
83 // Action IDs
84 public static final PiActionId ACT_INT_SET_SOURCE_ID =
85 PiActionId.of(CTRL_SET_SOURCE_SINK + DOT + "int_set_source");
86 public static final PiActionId ACT_INT_SET_SINK_ID =
87 PiActionId.of(CTRL_SET_SOURCE_SINK + DOT + "int_set_sink");
88 public static final PiActionId ACT_INT_SOURCE_DSCP_ID =
89 PiActionId.of(CTRL_INT_SOURCE + DOT + "int_source_dscp");
90 public static final PiActionId ACT_INT_UPDATE_TOTAL_HOP_CNT_ID =
91 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_update_total_hop_cnt");
92 public static final PiActionId ACT_INT_TRANSIT_ID =
93 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_transit");
94 public static final PiActionId ACT_INT_SET_HEADER_0003_I0_ID =
95 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i0");
96 public static final PiActionId ACT_INT_SET_HEADER_0003_I1_ID =
97 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i1");
98 public static final PiActionId ACT_INT_SET_HEADER_0003_I2_ID =
99 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i2");
100 public static final PiActionId ACT_INT_SET_HEADER_0003_I3_ID =
101 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i3");
102 public static final PiActionId ACT_INT_SET_HEADER_0003_I4_ID =
103 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i4");
104 public static final PiActionId ACT_INT_SET_HEADER_0003_I5_ID =
105 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i5");
106 public static final PiActionId ACT_INT_SET_HEADER_0003_I6_ID =
107 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i6");
108 public static final PiActionId ACT_INT_SET_HEADER_0003_I7_ID =
109 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i7");
110 public static final PiActionId ACT_INT_SET_HEADER_0003_I8_ID =
111 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i8");
112 public static final PiActionId ACT_INT_SET_HEADER_0003_I9_ID =
113 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i9");
114 public static final PiActionId ACT_INT_SET_HEADER_0003_I10_ID =
115 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i10");
116 public static final PiActionId ACT_INT_SET_HEADER_0003_I11_ID =
117 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i11");
118 public static final PiActionId ACT_INT_SET_HEADER_0003_I12_ID =
119 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i12");
120 public static final PiActionId ACT_INT_SET_HEADER_0003_I13_ID =
121 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i13");
122 public static final PiActionId ACT_INT_SET_HEADER_0003_I14_ID =
123 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i14");
124 public static final PiActionId ACT_INT_SET_HEADER_0003_I15_ID =
125 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0003_i15");
126 public static final PiActionId ACT_INT_SET_HEADER_0407_I0_ID =
127 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i0");
128 public static final PiActionId ACT_INT_SET_HEADER_0407_I1_ID =
129 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i1");
130 public static final PiActionId ACT_INT_SET_HEADER_0407_I2_ID =
131 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i2");
132 public static final PiActionId ACT_INT_SET_HEADER_0407_I3_ID =
133 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i3");
134 public static final PiActionId ACT_INT_SET_HEADER_0407_I4_ID =
135 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i4");
136 public static final PiActionId ACT_INT_SET_HEADER_0407_I5_ID =
137 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i5");
138 public static final PiActionId ACT_INT_SET_HEADER_0407_I6_ID =
139 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i6");
140 public static final PiActionId ACT_INT_SET_HEADER_0407_I7_ID =
141 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i7");
142 public static final PiActionId ACT_INT_SET_HEADER_0407_I8_ID =
143 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i8");
144 public static final PiActionId ACT_INT_SET_HEADER_0407_I9_ID =
145 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i9");
146 public static final PiActionId ACT_INT_SET_HEADER_0407_I10_ID =
147 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i10");
148 public static final PiActionId ACT_INT_SET_HEADER_0407_I11_ID =
149 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i11");
150 public static final PiActionId ACT_INT_SET_HEADER_0407_I12_ID =
151 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i12");
152 public static final PiActionId ACT_INT_SET_HEADER_0407_I13_ID =
153 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i13");
154 public static final PiActionId ACT_INT_SET_HEADER_0407_I14_ID =
155 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i14");
156 public static final PiActionId ACT_INT_SET_HEADER_0407_I15_ID =
157 PiActionId.of(CTRL_INT_TRANSIT + DOT + "int_set_header_0407_i15");
158 public static final PiActionId ACT_INT_UPDATE_IPV4_ID =
159 PiActionId.of(CTRL_INT_OUTER_ENCAP + DOT + "int_update_ipv4");
160 public static final PiActionId ACT_INT_UPDATE_UDP_ID =
161 PiActionId.of(CTRL_INT_OUTER_ENCAP + DOT + "int_update_udp");
162 public static final PiActionId ACT_INT_UPDATE_SHIM_ID =
163 PiActionId.of(CTRL_INT_OUTER_ENCAP + DOT + "int_update_shim");
164 public static final PiActionId ACT_INT_RESTORE_HEADER_ID =
165 PiActionId.of(CTRL_INT_SINK + DOT + "restore_header");
166 public static final PiActionId ACT_INT_SINK_ID =
167 PiActionId.of(CTRL_INT_SINK + DOT + "int_sink");
168
169 // Action param IDs
170 public static final PiActionParamId ACT_PRM_MAX_HOP_ID = PiActionParamId.of("max_hop");
171 public static final PiActionParamId ACT_PRM_INS_CNT_ID = PiActionParamId.of("ins_cnt");
172 public static final PiActionParamId ACT_PRM_INS_MASK0003_ID = PiActionParamId.of("ins_mask0003");
173 public static final PiActionParamId ACT_PRM_INS_MASK0407_ID = PiActionParamId.of("ins_mask0407");
174 public static final PiActionParamId ACT_PRM_SWITCH_ID = PiActionParamId.of("switch_id");
175}