1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2014-2020 Broadcom 3 * All rights reserved. 4 */ 5 6 #include "ulp_template_db_enum.h" 7 #include "ulp_template_db_field.h" 8 #include "ulp_template_struct.h" 9 #include "ulp_rte_parser.h" 10 11 struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_act_tmpl_list[] = { 12 [1] = { 13 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY, 14 .num_tbls = 6, 15 .start_tbl_idx = 0 16 }, 17 [2] = { 18 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY, 19 .num_tbls = 3, 20 .start_tbl_idx = 6 21 }, 22 [3] = { 23 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY, 24 .num_tbls = 3, 25 .start_tbl_idx = 9 26 }, 27 [4] = { 28 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY, 29 .num_tbls = 6, 30 .start_tbl_idx = 12 31 }, 32 [5] = { 33 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY, 34 .num_tbls = 6, 35 .start_tbl_idx = 18 36 }, 37 [6] = { 38 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY, 39 .num_tbls = 5, 40 .start_tbl_idx = 24 41 } 42 }; 43 44 struct bnxt_ulp_mapper_tbl_info ulp_stingray_act_tbl_list[] = { 45 { 46 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 47 .resource_type = TF_TBL_TYPE_ACT_STATS_64, 48 .resource_sub_type = 49 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT, 50 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 51 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT, 52 .direction = TF_DIR_RX, 53 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 54 .result_start_idx = 0, 55 .result_bit_size = 64, 56 .result_num_fields = 1, 57 .encap_num_fields = 0, 58 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 59 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 60 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 61 }, 62 { 63 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 64 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, 65 .resource_sub_type = 66 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 67 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 68 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC, 69 .direction = TF_DIR_RX, 70 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 71 .result_start_idx = 1, 72 .result_bit_size = 32, 73 .result_num_fields = 1, 74 .encap_num_fields = 0, 75 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 76 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 77 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 78 }, 79 { 80 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 81 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, 82 .resource_sub_type = 83 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 84 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 85 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST, 86 .direction = TF_DIR_RX, 87 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 88 .result_start_idx = 2, 89 .result_bit_size = 32, 90 .result_num_fields = 1, 91 .encap_num_fields = 0, 92 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 93 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 94 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 95 }, 96 { 97 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 98 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, 99 .resource_sub_type = 100 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 101 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 102 .direction = TF_DIR_RX, 103 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 104 .result_start_idx = 3, 105 .result_bit_size = 0, 106 .result_num_fields = 0, 107 .encap_num_fields = 12, 108 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 109 .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL, 110 .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR 111 }, 112 { 113 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 114 .resource_type = TF_TBL_TYPE_EXT, 115 .resource_sub_type = 116 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 117 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 118 .direction = TF_DIR_RX, 119 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 120 .result_start_idx = 15, 121 .result_bit_size = 128, 122 .result_num_fields = 26, 123 .encap_num_fields = 0, 124 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 125 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 126 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 127 }, 128 { 129 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 130 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 131 .resource_sub_type = 132 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 133 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 134 .direction = TF_DIR_RX, 135 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 136 .result_start_idx = 41, 137 .result_bit_size = 128, 138 .result_num_fields = 26, 139 .encap_num_fields = 0, 140 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 141 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 142 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 143 }, 144 { 145 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 146 .resource_type = TF_TBL_TYPE_ACT_STATS_64, 147 .resource_sub_type = 148 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT, 149 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 150 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT, 151 .direction = TF_DIR_RX, 152 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 153 .result_start_idx = 67, 154 .result_bit_size = 64, 155 .result_num_fields = 1, 156 .encap_num_fields = 0, 157 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 158 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 159 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 160 }, 161 { 162 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 163 .resource_type = TF_TBL_TYPE_EXT, 164 .resource_sub_type = 165 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 166 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 167 .direction = TF_DIR_RX, 168 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 169 .result_start_idx = 68, 170 .result_bit_size = 128, 171 .result_num_fields = 26, 172 .encap_num_fields = 0, 173 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 174 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 175 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 176 }, 177 { 178 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 179 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 180 .resource_sub_type = 181 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 182 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 183 .direction = TF_DIR_RX, 184 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 185 .result_start_idx = 94, 186 .result_bit_size = 128, 187 .result_num_fields = 26, 188 .encap_num_fields = 0, 189 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 190 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 191 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 192 }, 193 { 194 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 195 .resource_type = TF_TBL_TYPE_ACT_STATS_64, 196 .resource_sub_type = 197 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT, 198 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 199 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT, 200 .direction = TF_DIR_RX, 201 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 202 .result_start_idx = 120, 203 .result_bit_size = 64, 204 .result_num_fields = 1, 205 .encap_num_fields = 0, 206 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 207 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 208 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 209 }, 210 { 211 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 212 .resource_type = TF_TBL_TYPE_EXT, 213 .resource_sub_type = 214 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 215 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 216 .direction = TF_DIR_RX, 217 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 218 .result_start_idx = 121, 219 .result_bit_size = 128, 220 .result_num_fields = 26, 221 .encap_num_fields = 0, 222 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 223 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 224 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 225 }, 226 { 227 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 228 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 229 .resource_sub_type = 230 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 231 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 232 .direction = TF_DIR_RX, 233 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 234 .result_start_idx = 147, 235 .result_bit_size = 128, 236 .result_num_fields = 26, 237 .encap_num_fields = 0, 238 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 239 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 240 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 241 }, 242 { 243 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 244 .resource_type = TF_TBL_TYPE_ACT_STATS_64, 245 .resource_sub_type = 246 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT, 247 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 248 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT, 249 .direction = TF_DIR_TX, 250 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 251 .result_start_idx = 173, 252 .result_bit_size = 64, 253 .result_num_fields = 1, 254 .encap_num_fields = 0, 255 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 256 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 257 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 258 }, 259 { 260 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 261 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, 262 .resource_sub_type = 263 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 264 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET, 265 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG, 266 .direction = TF_DIR_TX, 267 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP, 268 .result_start_idx = 174, 269 .result_bit_size = 0, 270 .result_num_fields = 0, 271 .encap_num_fields = 3, 272 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 273 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 274 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR 275 }, 276 { 277 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 278 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6, 279 .resource_sub_type = 280 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 281 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET, 282 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG, 283 .direction = TF_DIR_TX, 284 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP, 285 .result_start_idx = 177, 286 .result_bit_size = 0, 287 .result_num_fields = 0, 288 .encap_num_fields = 3, 289 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 290 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 291 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR 292 }, 293 { 294 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 295 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, 296 .resource_sub_type = 297 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 298 .direction = TF_DIR_TX, 299 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP, 300 .result_start_idx = 180, 301 .result_bit_size = 0, 302 .result_num_fields = 0, 303 .encap_num_fields = 12, 304 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 305 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 306 .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 307 }, 308 { 309 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 310 .resource_type = TF_TBL_TYPE_EXT, 311 .resource_sub_type = 312 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 313 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 314 .direction = TF_DIR_TX, 315 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 316 .result_start_idx = 192, 317 .result_bit_size = 128, 318 .result_num_fields = 26, 319 .encap_num_fields = 12, 320 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 321 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 322 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 323 }, 324 { 325 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 326 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 327 .resource_sub_type = 328 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 329 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 330 .direction = TF_DIR_TX, 331 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 332 .result_start_idx = 230, 333 .result_bit_size = 128, 334 .result_num_fields = 26, 335 .encap_num_fields = 0, 336 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 337 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 338 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 339 }, 340 { 341 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 342 .resource_type = TF_TBL_TYPE_ACT_STATS_64, 343 .resource_sub_type = 344 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT, 345 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 346 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT, 347 .direction = TF_DIR_TX, 348 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 349 .result_start_idx = 256, 350 .result_bit_size = 64, 351 .result_num_fields = 1, 352 .encap_num_fields = 0, 353 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 354 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 355 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 356 }, 357 { 358 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 359 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, 360 .resource_sub_type = 361 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 362 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 363 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC, 364 .direction = TF_DIR_TX, 365 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 366 .result_start_idx = 257, 367 .result_bit_size = 32, 368 .result_num_fields = 1, 369 .encap_num_fields = 0, 370 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 371 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 372 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 373 }, 374 { 375 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 376 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, 377 .resource_sub_type = 378 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 379 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 380 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST, 381 .direction = TF_DIR_TX, 382 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 383 .result_start_idx = 258, 384 .result_bit_size = 32, 385 .result_num_fields = 1, 386 .encap_num_fields = 0, 387 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 388 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 389 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 390 }, 391 { 392 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 393 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, 394 .resource_sub_type = 395 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 396 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 397 .direction = TF_DIR_TX, 398 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 399 .result_start_idx = 259, 400 .result_bit_size = 0, 401 .result_num_fields = 0, 402 .encap_num_fields = 12, 403 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 404 .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL, 405 .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR 406 }, 407 { 408 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 409 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 410 .resource_sub_type = 411 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 412 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 413 .direction = TF_DIR_TX, 414 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 415 .result_start_idx = 271, 416 .result_bit_size = 128, 417 .result_num_fields = 26, 418 .encap_num_fields = 0, 419 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 420 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 421 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 422 }, 423 { 424 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 425 .resource_type = TF_TBL_TYPE_EXT, 426 .resource_sub_type = 427 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 428 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 429 .direction = TF_DIR_TX, 430 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 431 .result_start_idx = 297, 432 .result_bit_size = 128, 433 .result_num_fields = 26, 434 .encap_num_fields = 11, 435 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 436 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 437 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 438 }, 439 { 440 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 441 .resource_type = TF_TBL_TYPE_ACT_STATS_64, 442 .resource_sub_type = 443 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT, 444 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 445 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT, 446 .direction = TF_DIR_TX, 447 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 448 .result_start_idx = 334, 449 .result_bit_size = 64, 450 .result_num_fields = 1, 451 .encap_num_fields = 0, 452 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 453 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 454 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 455 }, 456 { 457 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 458 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, 459 .resource_sub_type = 460 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 461 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 462 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 463 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN, 464 .direction = TF_DIR_TX, 465 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 466 .result_start_idx = 335, 467 .result_bit_size = 0, 468 .result_num_fields = 0, 469 .encap_num_fields = 12, 470 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 471 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 472 .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 473 }, 474 { 475 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 476 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 477 .resource_sub_type = 478 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 479 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT, 480 .direction = TF_DIR_TX, 481 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 482 .result_start_idx = 347, 483 .result_bit_size = 128, 484 .result_num_fields = 26, 485 .encap_num_fields = 0, 486 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 487 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 488 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 489 }, 490 { 491 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 492 .resource_type = TF_TBL_TYPE_EXT, 493 .resource_sub_type = 494 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 495 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 496 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_NOT_SET, 497 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN, 498 .direction = TF_DIR_TX, 499 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 500 .result_start_idx = 373, 501 .result_bit_size = 128, 502 .result_num_fields = 26, 503 .encap_num_fields = 0, 504 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 505 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 506 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 507 }, 508 { 509 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 510 .resource_type = TF_TBL_TYPE_EXT, 511 .resource_sub_type = 512 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL, 513 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT, 514 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET, 515 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN, 516 .direction = TF_DIR_TX, 517 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO, 518 .result_start_idx = 399, 519 .result_bit_size = 128, 520 .result_num_fields = 26, 521 .encap_num_fields = 11, 522 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP, 523 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE, 524 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR 525 } 526 }; 527 528 struct bnxt_ulp_mapper_result_field_info ulp_stingray_act_result_field_list[] = { 529 { 530 .field_bit_size = 64, 531 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 532 }, 533 { 534 .field_bit_size = 32, 535 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 536 .result_operand = { 537 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, 538 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff, 539 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 541 }, 542 { 543 .field_bit_size = 32, 544 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 545 .result_operand = { 546 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, 547 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff, 548 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 549 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 550 }, 551 { 552 .field_bit_size = 3, 553 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 554 }, 555 { 556 .field_bit_size = 3, 557 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 558 }, 559 { 560 .field_bit_size = 3, 561 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 562 }, 563 { 564 .field_bit_size = 1, 565 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 566 .result_operand = { 567 BNXT_ULP_SYM_ECV_L2_EN_YES, 568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 569 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 570 }, 571 { 572 .field_bit_size = 4, 573 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 574 }, 575 { 576 .field_bit_size = 1, 577 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 578 }, 579 { 580 .field_bit_size = 1, 581 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 582 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 583 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 584 }, 585 { 586 .field_bit_size = 16, 587 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 588 }, 589 { 590 .field_bit_size = 12, 591 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 592 }, 593 { 594 .field_bit_size = 1, 595 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 596 }, 597 { 598 .field_bit_size = 3, 599 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 600 }, 601 { 602 .field_bit_size = 80, 603 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 604 }, 605 { 606 .field_bit_size = 14, 607 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 608 .result_operand = { 609 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 610 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 613 }, 614 { 615 .field_bit_size = 1, 616 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 617 }, 618 { 619 .field_bit_size = 1, 620 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 621 }, 622 { 623 .field_bit_size = 1, 624 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 625 }, 626 { 627 .field_bit_size = 1, 628 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 629 .result_operand = { 630 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 631 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 632 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 633 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 634 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 635 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 636 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 637 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 639 }, 640 { 641 .field_bit_size = 1, 642 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 643 }, 644 { 645 .field_bit_size = 8, 646 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 647 }, 648 { 649 .field_bit_size = 1, 650 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 651 }, 652 { 653 .field_bit_size = 1, 654 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 655 }, 656 { 657 .field_bit_size = 11, 658 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE, 659 .result_operand = { 660 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff, 661 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff, 662 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 664 }, 665 { 666 .field_bit_size = 1, 667 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 668 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 669 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 670 }, 671 { 672 .field_bit_size = 10, 673 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 674 .result_operand = { 675 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, 676 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff, 677 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 678 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 679 }, 680 { 681 .field_bit_size = 16, 682 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 683 .result_operand = { 684 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff, 685 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff, 686 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff, 687 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff, 688 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff, 689 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff, 690 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff, 691 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff, 692 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 693 .result_operand_true = { 694 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, 695 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff, 696 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 697 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 698 }, 699 { 700 .field_bit_size = 10, 701 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 702 .result_operand = { 703 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, 704 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff, 705 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 706 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 707 }, 708 { 709 .field_bit_size = 16, 710 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 711 .result_operand = { 712 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff, 713 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff, 714 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff, 715 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff, 716 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff, 717 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff, 718 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff, 719 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff, 720 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 721 .result_operand_true = { 722 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, 723 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff, 724 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 725 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 726 }, 727 { 728 .field_bit_size = 10, 729 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 730 }, 731 { 732 .field_bit_size = 1, 733 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 734 }, 735 { 736 .field_bit_size = 1, 737 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 738 }, 739 { 740 .field_bit_size = 1, 741 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 742 .result_operand = { 743 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 744 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 747 }, 748 { 749 .field_bit_size = 1, 750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 751 .result_operand = { 752 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 753 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 754 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 755 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 756 }, 757 { 758 .field_bit_size = 4, 759 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST, 760 .result_operand = { 761 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, 762 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, 763 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, 764 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, 765 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, 766 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, 767 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, 768 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff, 769 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 770 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 771 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 772 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 773 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 774 }, 775 { 776 .field_bit_size = 12, 777 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 778 .result_operand = { 779 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, 780 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff, 781 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 782 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 783 }, 784 { 785 .field_bit_size = 1, 786 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 787 }, 788 { 789 .field_bit_size = 1, 790 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 791 }, 792 { 793 .field_bit_size = 2, 794 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 795 }, 796 { 797 .field_bit_size = 1, 798 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 799 }, 800 { 801 .field_bit_size = 14, 802 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 803 .result_operand = { 804 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 805 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 806 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 807 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 808 }, 809 { 810 .field_bit_size = 1, 811 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 812 }, 813 { 814 .field_bit_size = 1, 815 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 816 }, 817 { 818 .field_bit_size = 1, 819 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 820 }, 821 { 822 .field_bit_size = 1, 823 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 824 .result_operand = { 825 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 826 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 827 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 828 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 829 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 830 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 831 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 832 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 833 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 834 }, 835 { 836 .field_bit_size = 8, 837 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 838 }, 839 { 840 .field_bit_size = 1, 841 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 842 }, 843 { 844 .field_bit_size = 1, 845 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 846 }, 847 { 848 .field_bit_size = 11, 849 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE, 850 .result_operand = { 851 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff, 852 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff, 853 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 854 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 855 }, 856 { 857 .field_bit_size = 10, 858 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 859 .result_operand = { 860 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, 861 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff, 862 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 863 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 864 }, 865 { 866 .field_bit_size = 16, 867 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 868 .result_operand = { 869 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff, 870 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff, 871 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff, 872 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff, 873 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff, 874 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff, 875 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff, 876 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff, 877 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 878 .result_operand_true = { 879 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, 880 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff, 881 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 882 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 883 }, 884 { 885 .field_bit_size = 10, 886 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 887 .result_operand = { 888 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, 889 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff, 890 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 891 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 892 }, 893 { 894 .field_bit_size = 16, 895 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 896 .result_operand = { 897 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff, 898 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff, 899 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff, 900 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff, 901 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff, 902 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff, 903 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff, 904 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff, 905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 906 .result_operand_true = { 907 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, 908 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff, 909 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 910 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 911 }, 912 { 913 .field_bit_size = 10, 914 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 915 }, 916 { 917 .field_bit_size = 1, 918 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 919 }, 920 { 921 .field_bit_size = 1, 922 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 923 }, 924 { 925 .field_bit_size = 1, 926 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 927 .result_operand = { 928 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 929 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 930 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 931 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 932 }, 933 { 934 .field_bit_size = 1, 935 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 936 .result_operand = { 937 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 938 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 939 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 940 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 941 }, 942 { 943 .field_bit_size = 4, 944 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST, 945 .result_operand = { 946 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, 947 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, 948 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, 949 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, 950 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, 951 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, 952 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, 953 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff, 954 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 955 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 957 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 958 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 959 }, 960 { 961 .field_bit_size = 12, 962 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 963 .result_operand = { 964 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, 965 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff, 966 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 967 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 968 }, 969 { 970 .field_bit_size = 1, 971 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 972 }, 973 { 974 .field_bit_size = 1, 975 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 976 }, 977 { 978 .field_bit_size = 2, 979 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 980 }, 981 { 982 .field_bit_size = 1, 983 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 984 }, 985 { 986 .field_bit_size = 1, 987 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 988 }, 989 { 990 .field_bit_size = 1, 991 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 992 }, 993 { 994 .field_bit_size = 64, 995 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 996 }, 997 { 998 .field_bit_size = 14, 999 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1000 .result_operand = { 1001 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 1002 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 1003 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1004 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1005 }, 1006 { 1007 .field_bit_size = 1, 1008 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1009 }, 1010 { 1011 .field_bit_size = 1, 1012 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1013 }, 1014 { 1015 .field_bit_size = 1, 1016 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1017 }, 1018 { 1019 .field_bit_size = 1, 1020 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1021 .result_operand = { 1022 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 1023 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 1024 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 1025 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 1026 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 1027 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 1028 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 1029 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 1030 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1031 }, 1032 { 1033 .field_bit_size = 1, 1034 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1035 }, 1036 { 1037 .field_bit_size = 8, 1038 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1039 }, 1040 { 1041 .field_bit_size = 1, 1042 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1043 }, 1044 { 1045 .field_bit_size = 1, 1046 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1047 }, 1048 { 1049 .field_bit_size = 11, 1050 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1051 }, 1052 { 1053 .field_bit_size = 1, 1054 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1055 }, 1056 { 1057 .field_bit_size = 10, 1058 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1059 .result_operand = { 1060 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, 1061 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff, 1062 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1063 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1064 }, 1065 { 1066 .field_bit_size = 16, 1067 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 1068 .result_operand = { 1069 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff, 1070 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff, 1071 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff, 1072 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff, 1073 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff, 1074 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff, 1075 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff, 1076 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff, 1077 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1078 .result_operand_true = { 1079 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, 1080 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff, 1081 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1082 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1083 }, 1084 { 1085 .field_bit_size = 10, 1086 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1087 .result_operand = { 1088 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, 1089 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff, 1090 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1091 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1092 }, 1093 { 1094 .field_bit_size = 16, 1095 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 1096 .result_operand = { 1097 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff, 1098 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff, 1099 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff, 1100 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff, 1101 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff, 1102 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff, 1103 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff, 1104 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff, 1105 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1106 .result_operand_true = { 1107 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, 1108 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff, 1109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1111 }, 1112 { 1113 .field_bit_size = 10, 1114 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1115 }, 1116 { 1117 .field_bit_size = 1, 1118 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1119 }, 1120 { 1121 .field_bit_size = 1, 1122 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1123 }, 1124 { 1125 .field_bit_size = 1, 1126 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 1127 .result_operand = { 1128 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 1129 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 1130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1131 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1132 }, 1133 { 1134 .field_bit_size = 1, 1135 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 1136 .result_operand = { 1137 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 1138 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 1139 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1141 }, 1142 { 1143 .field_bit_size = 4, 1144 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST, 1145 .result_operand = { 1146 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff, 1147 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff, 1148 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff, 1149 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff, 1150 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff, 1151 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff, 1152 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff, 1153 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff, 1154 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1155 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 1156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1157 }, 1158 { 1159 .field_bit_size = 12, 1160 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1161 .result_operand = { 1162 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, 1163 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff, 1164 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1166 }, 1167 { 1168 .field_bit_size = 1, 1169 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1170 .result_operand = { 1171 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff, 1172 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff, 1173 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff, 1174 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff, 1175 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff, 1176 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff, 1177 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff, 1178 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff, 1179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1180 }, 1181 { 1182 .field_bit_size = 1, 1183 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1184 }, 1185 { 1186 .field_bit_size = 2, 1187 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1188 }, 1189 { 1190 .field_bit_size = 1, 1191 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1192 .result_operand = { 1193 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff, 1194 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff, 1195 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff, 1196 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff, 1197 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff, 1198 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff, 1199 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff, 1200 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff, 1201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1202 }, 1203 { 1204 .field_bit_size = 14, 1205 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1206 .result_operand = { 1207 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 1208 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 1209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1211 }, 1212 { 1213 .field_bit_size = 1, 1214 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1215 }, 1216 { 1217 .field_bit_size = 1, 1218 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1219 }, 1220 { 1221 .field_bit_size = 1, 1222 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1223 }, 1224 { 1225 .field_bit_size = 1, 1226 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1227 .result_operand = { 1228 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 1229 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 1230 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 1231 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 1232 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 1233 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 1234 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 1235 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 1236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1237 }, 1238 { 1239 .field_bit_size = 8, 1240 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1241 }, 1242 { 1243 .field_bit_size = 1, 1244 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1245 }, 1246 { 1247 .field_bit_size = 1, 1248 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1249 }, 1250 { 1251 .field_bit_size = 11, 1252 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1253 .result_operand = { 1254 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff, 1255 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff, 1256 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1257 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1258 }, 1259 { 1260 .field_bit_size = 10, 1261 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1262 .result_operand = { 1263 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, 1264 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff, 1265 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1266 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1267 }, 1268 { 1269 .field_bit_size = 16, 1270 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 1271 .result_operand = { 1272 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff, 1273 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff, 1274 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff, 1275 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff, 1276 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff, 1277 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff, 1278 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff, 1279 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff, 1280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1281 .result_operand_true = { 1282 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, 1283 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff, 1284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1286 }, 1287 { 1288 .field_bit_size = 10, 1289 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1290 .result_operand = { 1291 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, 1292 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff, 1293 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1294 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1295 }, 1296 { 1297 .field_bit_size = 16, 1298 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 1299 .result_operand = { 1300 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff, 1301 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff, 1302 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff, 1303 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff, 1304 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff, 1305 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff, 1306 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff, 1307 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff, 1308 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1309 .result_operand_true = { 1310 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, 1311 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff, 1312 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1313 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1314 }, 1315 { 1316 .field_bit_size = 10, 1317 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1318 }, 1319 { 1320 .field_bit_size = 1, 1321 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1322 }, 1323 { 1324 .field_bit_size = 1, 1325 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1326 }, 1327 { 1328 .field_bit_size = 1, 1329 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 1330 .result_operand = { 1331 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 1332 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 1333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1334 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1335 }, 1336 { 1337 .field_bit_size = 1, 1338 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 1339 .result_operand = { 1340 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 1341 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 1342 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1343 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1344 }, 1345 { 1346 .field_bit_size = 4, 1347 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST, 1348 .result_operand = { 1349 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff, 1350 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff, 1351 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff, 1352 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff, 1353 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff, 1354 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff, 1355 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff, 1356 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff, 1357 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1358 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 1359 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1360 }, 1361 { 1362 .field_bit_size = 12, 1363 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1364 .result_operand = { 1365 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, 1366 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff, 1367 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1368 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1369 }, 1370 { 1371 .field_bit_size = 1, 1372 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1373 .result_operand = { 1374 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff, 1375 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff, 1376 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff, 1377 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff, 1378 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff, 1379 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff, 1380 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff, 1381 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff, 1382 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1383 }, 1384 { 1385 .field_bit_size = 1, 1386 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1387 }, 1388 { 1389 .field_bit_size = 2, 1390 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1391 }, 1392 { 1393 .field_bit_size = 1, 1394 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1395 .result_operand = { 1396 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff, 1397 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff, 1398 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff, 1399 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff, 1400 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff, 1401 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff, 1402 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff, 1403 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff, 1404 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1405 }, 1406 { 1407 .field_bit_size = 1, 1408 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1409 }, 1410 { 1411 .field_bit_size = 1, 1412 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1413 }, 1414 { 1415 .field_bit_size = 64, 1416 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1417 }, 1418 { 1419 .field_bit_size = 14, 1420 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1421 .result_operand = { 1422 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 1423 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 1424 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1425 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1426 }, 1427 { 1428 .field_bit_size = 1, 1429 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1430 }, 1431 { 1432 .field_bit_size = 1, 1433 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1434 }, 1435 { 1436 .field_bit_size = 1, 1437 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1438 }, 1439 { 1440 .field_bit_size = 1, 1441 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1442 .result_operand = { 1443 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 1444 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 1445 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 1446 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 1447 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 1448 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 1449 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 1450 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 1451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1452 }, 1453 { 1454 .field_bit_size = 1, 1455 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1456 }, 1457 { 1458 .field_bit_size = 8, 1459 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1460 }, 1461 { 1462 .field_bit_size = 1, 1463 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1464 }, 1465 { 1466 .field_bit_size = 1, 1467 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1468 }, 1469 { 1470 .field_bit_size = 11, 1471 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1472 }, 1473 { 1474 .field_bit_size = 1, 1475 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1476 }, 1477 { 1478 .field_bit_size = 10, 1479 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1480 }, 1481 { 1482 .field_bit_size = 16, 1483 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1484 }, 1485 { 1486 .field_bit_size = 10, 1487 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1488 }, 1489 { 1490 .field_bit_size = 16, 1491 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1492 }, 1493 { 1494 .field_bit_size = 10, 1495 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1496 }, 1497 { 1498 .field_bit_size = 1, 1499 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1500 }, 1501 { 1502 .field_bit_size = 1, 1503 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1504 }, 1505 { 1506 .field_bit_size = 1, 1507 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1508 }, 1509 { 1510 .field_bit_size = 1, 1511 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1512 }, 1513 { 1514 .field_bit_size = 4, 1515 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST, 1516 .result_operand = { 1517 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff, 1518 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff, 1519 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff, 1520 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff, 1521 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff, 1522 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff, 1523 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff, 1524 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff, 1525 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1526 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 1527 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1528 }, 1529 { 1530 .field_bit_size = 12, 1531 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1532 .result_operand = { 1533 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, 1534 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff, 1535 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1536 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1537 }, 1538 { 1539 .field_bit_size = 1, 1540 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1541 .result_operand = { 1542 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff, 1543 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff, 1544 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff, 1545 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff, 1546 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff, 1547 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff, 1548 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff, 1549 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff, 1550 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1551 }, 1552 { 1553 .field_bit_size = 1, 1554 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1555 }, 1556 { 1557 .field_bit_size = 2, 1558 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1559 }, 1560 { 1561 .field_bit_size = 1, 1562 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1563 }, 1564 { 1565 .field_bit_size = 14, 1566 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1567 .result_operand = { 1568 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 1569 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 1570 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1571 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1572 }, 1573 { 1574 .field_bit_size = 1, 1575 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1576 }, 1577 { 1578 .field_bit_size = 1, 1579 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1580 }, 1581 { 1582 .field_bit_size = 1, 1583 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1584 }, 1585 { 1586 .field_bit_size = 1, 1587 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1588 .result_operand = { 1589 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 1590 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 1591 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 1592 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 1593 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 1594 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 1595 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 1596 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 1597 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1598 }, 1599 { 1600 .field_bit_size = 8, 1601 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1602 }, 1603 { 1604 .field_bit_size = 1, 1605 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1606 }, 1607 { 1608 .field_bit_size = 1, 1609 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1610 }, 1611 { 1612 .field_bit_size = 11, 1613 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1614 }, 1615 { 1616 .field_bit_size = 10, 1617 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1618 }, 1619 { 1620 .field_bit_size = 16, 1621 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1622 }, 1623 { 1624 .field_bit_size = 10, 1625 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1626 }, 1627 { 1628 .field_bit_size = 16, 1629 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1630 }, 1631 { 1632 .field_bit_size = 10, 1633 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1634 }, 1635 { 1636 .field_bit_size = 1, 1637 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1638 }, 1639 { 1640 .field_bit_size = 1, 1641 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1642 }, 1643 { 1644 .field_bit_size = 1, 1645 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1646 }, 1647 { 1648 .field_bit_size = 1, 1649 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1650 }, 1651 { 1652 .field_bit_size = 4, 1653 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST, 1654 .result_operand = { 1655 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff, 1656 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff, 1657 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff, 1658 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff, 1659 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff, 1660 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff, 1661 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff, 1662 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff, 1663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 1664 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 1665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1666 }, 1667 { 1668 .field_bit_size = 12, 1669 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1670 .result_operand = { 1671 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, 1672 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff, 1673 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1674 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1675 }, 1676 { 1677 .field_bit_size = 1, 1678 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1679 .result_operand = { 1680 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff, 1681 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff, 1682 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff, 1683 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff, 1684 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff, 1685 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff, 1686 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff, 1687 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff, 1688 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1689 }, 1690 { 1691 .field_bit_size = 1, 1692 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1693 }, 1694 { 1695 .field_bit_size = 2, 1696 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1697 }, 1698 { 1699 .field_bit_size = 1, 1700 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1701 }, 1702 { 1703 .field_bit_size = 1, 1704 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1705 }, 1706 { 1707 .field_bit_size = 1, 1708 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1709 }, 1710 { 1711 .field_bit_size = 64, 1712 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1713 }, 1714 { 1715 .field_bit_size = 48, 1716 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1717 .result_operand = { 1718 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff, 1719 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff, 1720 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1721 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1722 }, 1723 { 1724 .field_bit_size = 32, 1725 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1726 .result_operand = { 1727 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff, 1728 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff, 1729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1730 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1731 }, 1732 { 1733 .field_bit_size = 48, 1734 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1735 }, 1736 { 1737 .field_bit_size = 48, 1738 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1739 .result_operand = { 1740 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff, 1741 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff, 1742 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1743 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1744 }, 1745 { 1746 .field_bit_size = 128, 1747 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1748 .result_operand = { 1749 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff, 1750 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff, 1751 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1752 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1753 }, 1754 { 1755 .field_bit_size = 16, 1756 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1757 }, 1758 { 1759 .field_bit_size = 3, 1760 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 1761 .result_operand = { 1762 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN, 1763 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1764 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1765 }, 1766 { 1767 .field_bit_size = 3, 1768 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 1769 .result_operand = { 1770 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM, 1771 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1772 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1773 }, 1774 { 1775 .field_bit_size = 3, 1776 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1777 .result_operand = { 1778 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff, 1779 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff, 1780 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1781 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1782 }, 1783 { 1784 .field_bit_size = 1, 1785 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 1786 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1787 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1788 }, 1789 { 1790 .field_bit_size = 4, 1791 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1792 .result_operand = { 1793 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff, 1794 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff, 1795 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1796 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1797 }, 1798 { 1799 .field_bit_size = 1, 1800 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1801 }, 1802 { 1803 .field_bit_size = 1, 1804 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 1805 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 1806 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1807 }, 1808 { 1809 .field_bit_size = 48, 1810 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1811 .result_operand = { 1812 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff, 1813 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff, 1814 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1815 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1816 }, 1817 { 1818 .field_bit_size = 0, 1819 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ, 1820 .result_operand = { 1821 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff, 1822 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff, 1823 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff, 1824 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff, 1825 0x00, 0x00, 0x00, 0x00, 0x00, 1826 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1827 }, 1828 { 1829 .field_bit_size = 0, 1830 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ, 1831 .result_operand = { 1832 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff, 1833 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff, 1834 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff, 1835 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff, 1836 0x00, 0x00, 0x00, 0x00, 0x00, 1837 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1838 }, 1839 { 1840 .field_bit_size = 32, 1841 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1842 .result_operand = { 1843 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff, 1844 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff, 1845 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1846 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1847 }, 1848 { 1849 .field_bit_size = 0, 1850 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ, 1851 .result_operand = { 1852 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff, 1853 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff, 1854 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff, 1855 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff, 1856 0x00, 0x00, 0x00, 0x00, 0x00, 1857 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1858 }, 1859 { 1860 .field_bit_size = 14, 1861 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 1862 .result_operand = { 1863 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 1864 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 1865 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1866 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1867 }, 1868 { 1869 .field_bit_size = 1, 1870 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1871 }, 1872 { 1873 .field_bit_size = 1, 1874 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1875 }, 1876 { 1877 .field_bit_size = 1, 1878 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1879 }, 1880 { 1881 .field_bit_size = 1, 1882 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 1883 .result_operand = { 1884 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 1885 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 1886 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 1887 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 1888 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 1889 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 1890 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 1891 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 1892 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1893 }, 1894 { 1895 .field_bit_size = 1, 1896 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1897 }, 1898 { 1899 .field_bit_size = 8, 1900 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1901 }, 1902 { 1903 .field_bit_size = 1, 1904 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1905 }, 1906 { 1907 .field_bit_size = 1, 1908 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1909 }, 1910 { 1911 .field_bit_size = 11, 1912 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1913 }, 1914 { 1915 .field_bit_size = 1, 1916 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1917 }, 1918 { 1919 .field_bit_size = 10, 1920 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1921 }, 1922 { 1923 .field_bit_size = 16, 1924 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1925 }, 1926 { 1927 .field_bit_size = 10, 1928 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1929 }, 1930 { 1931 .field_bit_size = 16, 1932 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1933 }, 1934 { 1935 .field_bit_size = 10, 1936 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1937 }, 1938 { 1939 .field_bit_size = 1, 1940 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1941 }, 1942 { 1943 .field_bit_size = 1, 1944 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1945 }, 1946 { 1947 .field_bit_size = 1, 1948 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1949 }, 1950 { 1951 .field_bit_size = 1, 1952 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1953 }, 1954 { 1955 .field_bit_size = 4, 1956 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1957 }, 1958 { 1959 .field_bit_size = 12, 1960 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 1961 .result_operand = { 1962 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 1963 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 1964 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1965 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1966 }, 1967 { 1968 .field_bit_size = 1, 1969 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1970 }, 1971 { 1972 .field_bit_size = 1, 1973 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1974 }, 1975 { 1976 .field_bit_size = 2, 1977 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1978 }, 1979 { 1980 .field_bit_size = 1, 1981 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 1982 }, 1983 { 1984 .field_bit_size = 3, 1985 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 1986 .result_operand = { 1987 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN, 1988 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1989 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1990 }, 1991 { 1992 .field_bit_size = 3, 1993 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 1994 .result_operand = { 1995 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM, 1996 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 1997 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 1998 }, 1999 { 2000 .field_bit_size = 3, 2001 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2002 .result_operand = { 2003 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff, 2004 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff, 2005 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2006 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2007 }, 2008 { 2009 .field_bit_size = 1, 2010 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2011 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2012 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2013 }, 2014 { 2015 .field_bit_size = 4, 2016 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2017 .result_operand = { 2018 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff, 2019 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff, 2020 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2021 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2022 }, 2023 { 2024 .field_bit_size = 1, 2025 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2026 }, 2027 { 2028 .field_bit_size = 1, 2029 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2030 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2031 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2032 }, 2033 { 2034 .field_bit_size = 48, 2035 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2036 .result_operand = { 2037 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff, 2038 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff, 2039 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2040 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2041 }, 2042 { 2043 .field_bit_size = 0, 2044 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ, 2045 .result_operand = { 2046 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff, 2047 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff, 2048 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff, 2049 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff, 2050 0x00, 0x00, 0x00, 0x00, 0x00, 2051 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2052 }, 2053 { 2054 .field_bit_size = 0, 2055 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ, 2056 .result_operand = { 2057 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff, 2058 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff, 2059 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff, 2060 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff, 2061 0x00, 0x00, 0x00, 0x00, 0x00, 2062 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2063 }, 2064 { 2065 .field_bit_size = 32, 2066 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2067 .result_operand = { 2068 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff, 2069 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff, 2070 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2071 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2072 }, 2073 { 2074 .field_bit_size = 0, 2075 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ, 2076 .result_operand = { 2077 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff, 2078 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff, 2079 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff, 2080 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff, 2081 0x00, 0x00, 0x00, 0x00, 0x00, 2082 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2083 }, 2084 { 2085 .field_bit_size = 14, 2086 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2087 .result_operand = { 2088 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 2089 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 2090 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2091 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2092 }, 2093 { 2094 .field_bit_size = 1, 2095 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2096 }, 2097 { 2098 .field_bit_size = 1, 2099 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2100 }, 2101 { 2102 .field_bit_size = 1, 2103 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2104 }, 2105 { 2106 .field_bit_size = 1, 2107 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 2108 .result_operand = { 2109 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 2110 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 2111 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 2112 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 2113 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 2114 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 2115 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 2116 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 2117 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2118 }, 2119 { 2120 .field_bit_size = 8, 2121 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2122 }, 2123 { 2124 .field_bit_size = 1, 2125 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2126 }, 2127 { 2128 .field_bit_size = 1, 2129 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2130 }, 2131 { 2132 .field_bit_size = 11, 2133 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2134 .result_operand = { 2135 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff, 2136 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff, 2137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2138 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2139 }, 2140 { 2141 .field_bit_size = 10, 2142 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2143 }, 2144 { 2145 .field_bit_size = 16, 2146 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2147 }, 2148 { 2149 .field_bit_size = 10, 2150 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2151 }, 2152 { 2153 .field_bit_size = 16, 2154 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2155 }, 2156 { 2157 .field_bit_size = 10, 2158 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2159 }, 2160 { 2161 .field_bit_size = 1, 2162 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2163 }, 2164 { 2165 .field_bit_size = 1, 2166 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2167 }, 2168 { 2169 .field_bit_size = 1, 2170 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2171 }, 2172 { 2173 .field_bit_size = 1, 2174 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2175 }, 2176 { 2177 .field_bit_size = 4, 2178 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2179 }, 2180 { 2181 .field_bit_size = 12, 2182 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2183 .result_operand = { 2184 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 2185 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 2186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2188 }, 2189 { 2190 .field_bit_size = 1, 2191 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2192 }, 2193 { 2194 .field_bit_size = 1, 2195 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2196 }, 2197 { 2198 .field_bit_size = 2, 2199 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2200 }, 2201 { 2202 .field_bit_size = 1, 2203 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2204 }, 2205 { 2206 .field_bit_size = 1, 2207 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2208 }, 2209 { 2210 .field_bit_size = 1, 2211 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2212 }, 2213 { 2214 .field_bit_size = 64, 2215 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2216 }, 2217 { 2218 .field_bit_size = 32, 2219 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2220 .result_operand = { 2221 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, 2222 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff, 2223 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2224 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2225 }, 2226 { 2227 .field_bit_size = 32, 2228 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2229 .result_operand = { 2230 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, 2231 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff, 2232 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2233 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2234 }, 2235 { 2236 .field_bit_size = 3, 2237 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2238 }, 2239 { 2240 .field_bit_size = 3, 2241 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2242 }, 2243 { 2244 .field_bit_size = 3, 2245 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2246 }, 2247 { 2248 .field_bit_size = 1, 2249 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2250 .result_operand = { 2251 BNXT_ULP_SYM_ECV_L2_EN_YES, 2252 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2253 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2254 }, 2255 { 2256 .field_bit_size = 4, 2257 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2258 }, 2259 { 2260 .field_bit_size = 1, 2261 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2262 }, 2263 { 2264 .field_bit_size = 1, 2265 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2266 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2268 }, 2269 { 2270 .field_bit_size = 16, 2271 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2272 }, 2273 { 2274 .field_bit_size = 12, 2275 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2276 }, 2277 { 2278 .field_bit_size = 1, 2279 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2280 }, 2281 { 2282 .field_bit_size = 3, 2283 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2284 }, 2285 { 2286 .field_bit_size = 80, 2287 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2288 }, 2289 { 2290 .field_bit_size = 14, 2291 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2292 .result_operand = { 2293 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 2294 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 2295 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2297 }, 2298 { 2299 .field_bit_size = 1, 2300 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2301 }, 2302 { 2303 .field_bit_size = 1, 2304 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2305 }, 2306 { 2307 .field_bit_size = 1, 2308 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2309 }, 2310 { 2311 .field_bit_size = 1, 2312 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 2313 .result_operand = { 2314 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 2315 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 2316 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 2317 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 2318 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 2319 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 2320 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 2321 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 2322 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2323 }, 2324 { 2325 .field_bit_size = 8, 2326 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2327 }, 2328 { 2329 .field_bit_size = 1, 2330 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2331 }, 2332 { 2333 .field_bit_size = 1, 2334 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2335 }, 2336 { 2337 .field_bit_size = 11, 2338 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE, 2339 .result_operand = { 2340 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff, 2341 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff, 2342 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2343 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2344 }, 2345 { 2346 .field_bit_size = 10, 2347 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2348 .result_operand = { 2349 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, 2350 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff, 2351 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2352 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2353 }, 2354 { 2355 .field_bit_size = 16, 2356 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 2357 .result_operand = { 2358 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff, 2359 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff, 2360 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff, 2361 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff, 2362 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff, 2363 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff, 2364 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff, 2365 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff, 2366 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2367 .result_operand_true = { 2368 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, 2369 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff, 2370 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2371 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2372 }, 2373 { 2374 .field_bit_size = 10, 2375 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2376 .result_operand = { 2377 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, 2378 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff, 2379 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2381 }, 2382 { 2383 .field_bit_size = 16, 2384 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 2385 .result_operand = { 2386 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff, 2387 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff, 2388 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff, 2389 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff, 2390 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff, 2391 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff, 2392 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff, 2393 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff, 2394 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2395 .result_operand_true = { 2396 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, 2397 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff, 2398 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2399 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2400 }, 2401 { 2402 .field_bit_size = 10, 2403 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2404 }, 2405 { 2406 .field_bit_size = 1, 2407 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2408 }, 2409 { 2410 .field_bit_size = 1, 2411 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2412 }, 2413 { 2414 .field_bit_size = 1, 2415 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 2416 .result_operand = { 2417 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 2418 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 2419 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2420 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2421 }, 2422 { 2423 .field_bit_size = 1, 2424 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 2425 .result_operand = { 2426 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 2427 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 2428 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2429 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2430 }, 2431 { 2432 .field_bit_size = 4, 2433 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST, 2434 .result_operand = { 2435 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, 2436 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, 2437 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, 2438 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, 2439 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, 2440 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, 2441 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, 2442 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff, 2443 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2444 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 2445 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2446 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 2447 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2448 }, 2449 { 2450 .field_bit_size = 12, 2451 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2452 .result_operand = { 2453 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 2454 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 2455 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2456 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2457 }, 2458 { 2459 .field_bit_size = 1, 2460 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2461 }, 2462 { 2463 .field_bit_size = 1, 2464 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2465 }, 2466 { 2467 .field_bit_size = 2, 2468 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2469 }, 2470 { 2471 .field_bit_size = 1, 2472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2473 }, 2474 { 2475 .field_bit_size = 1, 2476 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2477 }, 2478 { 2479 .field_bit_size = 1, 2480 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2481 }, 2482 { 2483 .field_bit_size = 14, 2484 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2485 .result_operand = { 2486 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 2487 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 2488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2489 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2490 }, 2491 { 2492 .field_bit_size = 1, 2493 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2494 }, 2495 { 2496 .field_bit_size = 1, 2497 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2498 }, 2499 { 2500 .field_bit_size = 1, 2501 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2502 }, 2503 { 2504 .field_bit_size = 1, 2505 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 2506 .result_operand = { 2507 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 2508 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 2509 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 2510 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 2511 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 2512 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 2513 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 2514 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 2515 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2516 }, 2517 { 2518 .field_bit_size = 1, 2519 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2520 }, 2521 { 2522 .field_bit_size = 8, 2523 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2524 }, 2525 { 2526 .field_bit_size = 1, 2527 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2528 }, 2529 { 2530 .field_bit_size = 1, 2531 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2532 }, 2533 { 2534 .field_bit_size = 11, 2535 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2536 }, 2537 { 2538 .field_bit_size = 1, 2539 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2540 }, 2541 { 2542 .field_bit_size = 10, 2543 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2544 .result_operand = { 2545 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, 2546 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff, 2547 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2548 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2549 }, 2550 { 2551 .field_bit_size = 16, 2552 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 2553 .result_operand = { 2554 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff, 2555 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff, 2556 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff, 2557 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff, 2558 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff, 2559 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff, 2560 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff, 2561 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff, 2562 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2563 .result_operand_true = { 2564 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, 2565 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff, 2566 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2567 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2568 }, 2569 { 2570 .field_bit_size = 10, 2571 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2572 .result_operand = { 2573 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, 2574 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff, 2575 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2576 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2577 }, 2578 { 2579 .field_bit_size = 16, 2580 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST, 2581 .result_operand = { 2582 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff, 2583 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff, 2584 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff, 2585 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff, 2586 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff, 2587 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff, 2588 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff, 2589 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff, 2590 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2591 .result_operand_true = { 2592 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, 2593 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff, 2594 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2595 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2596 }, 2597 { 2598 .field_bit_size = 10, 2599 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2600 }, 2601 { 2602 .field_bit_size = 1, 2603 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2604 }, 2605 { 2606 .field_bit_size = 1, 2607 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2608 }, 2609 { 2610 .field_bit_size = 1, 2611 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 2612 .result_operand = { 2613 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 2614 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 2615 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2617 }, 2618 { 2619 .field_bit_size = 1, 2620 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 2621 .result_operand = { 2622 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 2623 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 2624 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2625 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2626 }, 2627 { 2628 .field_bit_size = 4, 2629 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST, 2630 .result_operand = { 2631 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, 2632 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, 2633 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, 2634 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff, 2635 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff, 2636 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, 2637 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, 2638 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff, 2639 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2640 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 2641 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, 2642 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 2643 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2644 }, 2645 { 2646 .field_bit_size = 12, 2647 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2648 .result_operand = { 2649 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 2650 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 2651 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2653 }, 2654 { 2655 .field_bit_size = 1, 2656 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2657 }, 2658 { 2659 .field_bit_size = 1, 2660 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2661 }, 2662 { 2663 .field_bit_size = 2, 2664 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2665 }, 2666 { 2667 .field_bit_size = 1, 2668 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2669 }, 2670 { 2671 .field_bit_size = 3, 2672 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2673 }, 2674 { 2675 .field_bit_size = 3, 2676 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2677 }, 2678 { 2679 .field_bit_size = 3, 2680 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2681 }, 2682 { 2683 .field_bit_size = 1, 2684 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2685 .result_operand = { 2686 BNXT_ULP_SYM_ECV_L2_EN_YES, 2687 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2688 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2689 }, 2690 { 2691 .field_bit_size = 4, 2692 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2693 }, 2694 { 2695 .field_bit_size = 1, 2696 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2697 }, 2698 { 2699 .field_bit_size = 1, 2700 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2701 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2702 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2703 }, 2704 { 2705 .field_bit_size = 16, 2706 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2707 }, 2708 { 2709 .field_bit_size = 12, 2710 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2711 }, 2712 { 2713 .field_bit_size = 1, 2714 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2715 }, 2716 { 2717 .field_bit_size = 3, 2718 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2719 }, 2720 { 2721 .field_bit_size = 64, 2722 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2723 }, 2724 { 2725 .field_bit_size = 3, 2726 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2727 }, 2728 { 2729 .field_bit_size = 3, 2730 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2731 }, 2732 { 2733 .field_bit_size = 3, 2734 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2735 }, 2736 { 2737 .field_bit_size = 1, 2738 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2739 }, 2740 { 2741 .field_bit_size = 4, 2742 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2743 .result_operand = { 2744 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI, 2745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2747 }, 2748 { 2749 .field_bit_size = 1, 2750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2751 }, 2752 { 2753 .field_bit_size = 1, 2754 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 2755 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 2756 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2757 }, 2758 { 2759 .field_bit_size = 16, 2760 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2761 .result_operand = { 2762 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff, 2763 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff, 2764 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2765 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2766 }, 2767 { 2768 .field_bit_size = 12, 2769 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2770 .result_operand = { 2771 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff, 2772 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff, 2773 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2774 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2775 }, 2776 { 2777 .field_bit_size = 1, 2778 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2779 }, 2780 { 2781 .field_bit_size = 3, 2782 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2783 .result_operand = { 2784 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff, 2785 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff, 2786 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2787 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2788 }, 2789 { 2790 .field_bit_size = 80, 2791 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2792 }, 2793 { 2794 .field_bit_size = 14, 2795 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2796 .result_operand = { 2797 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 2798 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 2799 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2800 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2801 }, 2802 { 2803 .field_bit_size = 1, 2804 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2805 }, 2806 { 2807 .field_bit_size = 1, 2808 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2809 }, 2810 { 2811 .field_bit_size = 1, 2812 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2813 }, 2814 { 2815 .field_bit_size = 1, 2816 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 2817 .result_operand = { 2818 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 2819 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 2820 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 2821 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 2822 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 2823 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 2824 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 2825 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 2826 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2827 }, 2828 { 2829 .field_bit_size = 8, 2830 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2831 }, 2832 { 2833 .field_bit_size = 1, 2834 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2835 }, 2836 { 2837 .field_bit_size = 1, 2838 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2839 }, 2840 { 2841 .field_bit_size = 11, 2842 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2843 .result_operand = { 2844 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff, 2845 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff, 2846 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2847 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2848 }, 2849 { 2850 .field_bit_size = 10, 2851 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2852 }, 2853 { 2854 .field_bit_size = 16, 2855 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2856 }, 2857 { 2858 .field_bit_size = 10, 2859 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2860 }, 2861 { 2862 .field_bit_size = 16, 2863 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2864 }, 2865 { 2866 .field_bit_size = 10, 2867 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2868 }, 2869 { 2870 .field_bit_size = 1, 2871 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2872 }, 2873 { 2874 .field_bit_size = 1, 2875 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2876 }, 2877 { 2878 .field_bit_size = 1, 2879 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 2880 .result_operand = { 2881 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 2882 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 2883 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2884 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2885 }, 2886 { 2887 .field_bit_size = 1, 2888 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 2889 .result_operand = { 2890 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 2891 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 2892 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2893 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2894 }, 2895 { 2896 .field_bit_size = 4, 2897 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2898 }, 2899 { 2900 .field_bit_size = 12, 2901 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 2902 .result_operand = { 2903 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 2904 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 2905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2906 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2907 }, 2908 { 2909 .field_bit_size = 1, 2910 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2911 }, 2912 { 2913 .field_bit_size = 1, 2914 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2915 }, 2916 { 2917 .field_bit_size = 2, 2918 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2919 }, 2920 { 2921 .field_bit_size = 1, 2922 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 2923 .result_operand = { 2924 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff, 2925 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff, 2926 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff, 2927 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff, 2928 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff, 2929 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff, 2930 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff, 2931 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff, 2932 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2933 }, 2934 { 2935 .field_bit_size = 1, 2936 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2937 }, 2938 { 2939 .field_bit_size = 1, 2940 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2941 }, 2942 { 2943 .field_bit_size = 14, 2944 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 2945 .result_operand = { 2946 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 2947 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 2948 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 2949 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2950 }, 2951 { 2952 .field_bit_size = 1, 2953 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2954 }, 2955 { 2956 .field_bit_size = 1, 2957 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2958 }, 2959 { 2960 .field_bit_size = 1, 2961 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2962 }, 2963 { 2964 .field_bit_size = 1, 2965 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 2966 .result_operand = { 2967 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 2968 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 2969 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 2970 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 2971 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 2972 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 2973 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 2974 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 2975 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 2976 }, 2977 { 2978 .field_bit_size = 1, 2979 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2980 }, 2981 { 2982 .field_bit_size = 8, 2983 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2984 }, 2985 { 2986 .field_bit_size = 1, 2987 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2988 }, 2989 { 2990 .field_bit_size = 1, 2991 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2992 }, 2993 { 2994 .field_bit_size = 11, 2995 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 2996 }, 2997 { 2998 .field_bit_size = 1, 2999 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3000 }, 3001 { 3002 .field_bit_size = 10, 3003 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3004 }, 3005 { 3006 .field_bit_size = 16, 3007 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3008 }, 3009 { 3010 .field_bit_size = 10, 3011 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3012 }, 3013 { 3014 .field_bit_size = 16, 3015 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3016 }, 3017 { 3018 .field_bit_size = 10, 3019 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3020 }, 3021 { 3022 .field_bit_size = 1, 3023 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3024 }, 3025 { 3026 .field_bit_size = 1, 3027 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3028 }, 3029 { 3030 .field_bit_size = 1, 3031 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 3032 .result_operand = { 3033 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 3034 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 3035 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3036 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3037 }, 3038 { 3039 .field_bit_size = 1, 3040 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 3041 .result_operand = { 3042 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 3043 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 3044 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3045 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3046 }, 3047 { 3048 .field_bit_size = 4, 3049 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3050 }, 3051 { 3052 .field_bit_size = 12, 3053 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 3054 .result_operand = { 3055 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 3056 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 3057 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3058 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3059 }, 3060 { 3061 .field_bit_size = 1, 3062 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3063 }, 3064 { 3065 .field_bit_size = 1, 3066 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3067 }, 3068 { 3069 .field_bit_size = 2, 3070 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3071 }, 3072 { 3073 .field_bit_size = 1, 3074 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 3075 .result_operand = { 3076 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff, 3077 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff, 3078 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff, 3079 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff, 3080 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff, 3081 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff, 3082 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff, 3083 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff, 3084 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3085 }, 3086 { 3087 .field_bit_size = 14, 3088 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE, 3089 .result_operand = { 3090 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff, 3091 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff, 3092 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3093 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3094 }, 3095 { 3096 .field_bit_size = 1, 3097 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3098 }, 3099 { 3100 .field_bit_size = 1, 3101 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3102 }, 3103 { 3104 .field_bit_size = 1, 3105 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3106 }, 3107 { 3108 .field_bit_size = 1, 3109 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 3110 .result_operand = { 3111 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff, 3112 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff, 3113 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff, 3114 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff, 3115 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff, 3116 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff, 3117 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff, 3118 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff, 3119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3120 }, 3121 { 3122 .field_bit_size = 1, 3123 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3124 }, 3125 { 3126 .field_bit_size = 8, 3127 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3128 }, 3129 { 3130 .field_bit_size = 1, 3131 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3132 }, 3133 { 3134 .field_bit_size = 1, 3135 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3136 }, 3137 { 3138 .field_bit_size = 11, 3139 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3140 }, 3141 { 3142 .field_bit_size = 1, 3143 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3144 }, 3145 { 3146 .field_bit_size = 10, 3147 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3148 }, 3149 { 3150 .field_bit_size = 16, 3151 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3152 }, 3153 { 3154 .field_bit_size = 10, 3155 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3156 }, 3157 { 3158 .field_bit_size = 16, 3159 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3160 }, 3161 { 3162 .field_bit_size = 10, 3163 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3164 }, 3165 { 3166 .field_bit_size = 1, 3167 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3168 }, 3169 { 3170 .field_bit_size = 1, 3171 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3172 }, 3173 { 3174 .field_bit_size = 1, 3175 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 3176 .result_operand = { 3177 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, 3178 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff, 3179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3181 }, 3182 { 3183 .field_bit_size = 1, 3184 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD, 3185 .result_operand = { 3186 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, 3187 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff, 3188 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3189 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3190 }, 3191 { 3192 .field_bit_size = 4, 3193 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3194 }, 3195 { 3196 .field_bit_size = 12, 3197 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 3198 .result_operand = { 3199 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, 3200 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff, 3201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3202 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3203 }, 3204 { 3205 .field_bit_size = 1, 3206 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 3207 .result_operand = { 3208 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff, 3209 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff, 3210 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff, 3211 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff, 3212 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff, 3213 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff, 3214 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff, 3215 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff, 3216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3217 }, 3218 { 3219 .field_bit_size = 1, 3220 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3221 }, 3222 { 3223 .field_bit_size = 2, 3224 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3225 }, 3226 { 3227 .field_bit_size = 1, 3228 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT, 3229 .result_operand = { 3230 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff, 3231 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff, 3232 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff, 3233 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff, 3234 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff, 3235 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff, 3236 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff, 3237 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff, 3238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3239 }, 3240 { 3241 .field_bit_size = 3, 3242 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3243 }, 3244 { 3245 .field_bit_size = 3, 3246 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3247 }, 3248 { 3249 .field_bit_size = 3, 3250 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3251 }, 3252 { 3253 .field_bit_size = 1, 3254 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3255 }, 3256 { 3257 .field_bit_size = 4, 3258 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 3259 .result_operand = { 3260 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI, 3261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3262 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3263 }, 3264 { 3265 .field_bit_size = 1, 3266 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3267 }, 3268 { 3269 .field_bit_size = 1, 3270 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT, 3271 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 3272 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3273 }, 3274 { 3275 .field_bit_size = 16, 3276 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 3277 .result_operand = { 3278 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff, 3279 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff, 3280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3282 }, 3283 { 3284 .field_bit_size = 12, 3285 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 3286 .result_operand = { 3287 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff, 3288 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff, 3289 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3290 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3291 }, 3292 { 3293 .field_bit_size = 1, 3294 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO 3295 }, 3296 { 3297 .field_bit_size = 3, 3298 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP, 3299 .result_operand = { 3300 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff, 3301 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff, 3302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 3303 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} 3304 } 3305 }; 3306