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