1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright(c) 2014-2021 Broadcom 3 * All rights reserved. 4 */ 5 6 /* date: Fri Oct 8 11:41:10 2021 */ 7 8 #include "ulp_template_db_enum.h" 9 #include "ulp_template_db_field.h" 10 #include "ulp_template_struct.h" 11 #include "ulp_template_db_tbl.h" 12 13 /* Mapper templates for header class list */ 14 struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = { 15 /* class_tid: 1, ingress */ 16 [1] = { 17 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, 18 .num_tbls = 18, 19 .start_tbl_idx = 0, 20 .reject_info = { 21 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 22 .cond_start_idx = 0, 23 .cond_nums = 1 } 24 }, 25 /* class_tid: 2, ingress */ 26 [2] = { 27 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, 28 .num_tbls = 15, 29 .start_tbl_idx = 18, 30 .reject_info = { 31 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 32 .cond_start_idx = 24, 33 .cond_nums = 1 } 34 }, 35 /* class_tid: 3, egress */ 36 [3] = { 37 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, 38 .num_tbls = 15, 39 .start_tbl_idx = 33, 40 .reject_info = { 41 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 42 .cond_start_idx = 30, 43 .cond_nums = 1 } 44 }, 45 /* class_tid: 4, ingress */ 46 [4] = { 47 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, 48 .num_tbls = 22, 49 .start_tbl_idx = 48, 50 .reject_info = { 51 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, 52 .cond_start_idx = 41, 53 .cond_nums = 0 } 54 }, 55 /* class_tid: 5, egress */ 56 [5] = { 57 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, 58 .num_tbls = 19, 59 .start_tbl_idx = 70, 60 .reject_info = { 61 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, 62 .cond_start_idx = 47, 63 .cond_nums = 0 } 64 } 65 }; 66 67 struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { 68 { /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ 69 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 70 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, 71 .resource_sub_type = 72 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 73 .direction = TF_DIR_RX, 74 .execute_info = { 75 .cond_true_goto = 5, 76 .cond_false_goto = 1, 77 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 78 .cond_start_idx = 1, 79 .cond_nums = 1 }, 80 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 81 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 82 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 83 .key_start_idx = 0, 84 .blob_key_bit_size = 8, 85 .key_bit_size = 8, 86 .key_num_fields = 1, 87 .ident_start_idx = 0, 88 .ident_nums = 1 89 }, 90 { /* class_tid: 1, , table: mac_addr_cache.rd */ 91 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 92 .resource_sub_type = 93 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, 94 .direction = TF_DIR_RX, 95 .execute_info = { 96 .cond_true_goto = 1, 97 .cond_false_goto = 1, 98 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 99 .cond_start_idx = 2, 100 .cond_nums = 0 }, 101 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 102 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 103 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 104 .key_start_idx = 1, 105 .blob_key_bit_size = 73, 106 .key_bit_size = 73, 107 .key_num_fields = 5, 108 .ident_start_idx = 1, 109 .ident_nums = 1 110 }, 111 { /* class_tid: 1, , table: control.0 */ 112 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 113 .direction = TF_DIR_RX, 114 .execute_info = { 115 .cond_true_goto = 1, 116 .cond_false_goto = 3, 117 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 118 .cond_start_idx = 2, 119 .cond_nums = 1 }, 120 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 121 .fdb_operand = BNXT_ULP_RF_IDX_RID 122 }, 123 { /* class_tid: 1, , table: l2_cntxt_tcam.0 */ 124 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 125 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 126 .direction = TF_DIR_RX, 127 .execute_info = { 128 .cond_true_goto = 1, 129 .cond_false_goto = 1, 130 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 131 .cond_start_idx = 3, 132 .cond_nums = 0 }, 133 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 134 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 135 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 136 .fdb_operand = BNXT_ULP_RF_IDX_RID, 137 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 138 .pri_operand = 0, 139 .key_start_idx = 6, 140 .blob_key_bit_size = 167, 141 .key_bit_size = 167, 142 .key_num_fields = 13, 143 .result_start_idx = 0, 144 .result_bit_size = 64, 145 .result_num_fields = 13, 146 .ident_start_idx = 2, 147 .ident_nums = 1 148 }, 149 { /* class_tid: 1, , table: mac_addr_cache.wr */ 150 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 151 .resource_sub_type = 152 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, 153 .direction = TF_DIR_RX, 154 .execute_info = { 155 .cond_true_goto = 1, 156 .cond_false_goto = 1, 157 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 158 .cond_start_idx = 3, 159 .cond_nums = 0 }, 160 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 161 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 162 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 163 .key_start_idx = 19, 164 .blob_key_bit_size = 73, 165 .key_bit_size = 73, 166 .key_num_fields = 5, 167 .result_start_idx = 13, 168 .result_bit_size = 62, 169 .result_num_fields = 4 170 }, 171 { /* class_tid: 1, , table: profile_tcam_cache.rd */ 172 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 173 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 174 .resource_sub_type = 175 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, 176 .direction = TF_DIR_RX, 177 .execute_info = { 178 .cond_true_goto = 1, 179 .cond_false_goto = 1, 180 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 181 .cond_start_idx = 3, 182 .cond_nums = 0 }, 183 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 184 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 185 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 186 .key_start_idx = 24, 187 .blob_key_bit_size = 14, 188 .key_bit_size = 14, 189 .key_num_fields = 3, 190 .ident_start_idx = 3, 191 .ident_nums = 3 192 }, 193 { /* class_tid: 1, , table: control.1 */ 194 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 195 .direction = TF_DIR_RX, 196 .execute_info = { 197 .cond_true_goto = 2, 198 .cond_false_goto = 1, 199 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 200 .cond_start_idx = 3, 201 .cond_nums = 1 }, 202 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 203 .fdb_operand = BNXT_ULP_RF_IDX_RID 204 }, 205 { /* class_tid: 1, , table: control.2 */ 206 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 207 .direction = TF_DIR_RX, 208 .execute_info = { 209 .cond_true_goto = 5, 210 .cond_false_goto = 1023, 211 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 212 .cond_start_idx = 4, 213 .cond_nums = 1 }, 214 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, 215 .func_info = { 216 .func_opc = BNXT_ULP_FUNC_OPC_EQ, 217 .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, 218 .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID, 219 .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD, 220 .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID, 221 .func_dst_opr = BNXT_ULP_RF_IDX_CC } 222 }, 223 { /* class_tid: 1, , table: profile_tcam.ipv4 */ 224 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 225 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 226 .direction = TF_DIR_RX, 227 .execute_info = { 228 .cond_true_goto = 3, 229 .cond_false_goto = 1, 230 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 231 .cond_start_idx = 5, 232 .cond_nums = 2 }, 233 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 234 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 235 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 236 .fdb_operand = BNXT_ULP_RF_IDX_RID, 237 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 238 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 239 .key_start_idx = 27, 240 .blob_key_bit_size = 81, 241 .key_bit_size = 81, 242 .key_num_fields = 43, 243 .result_start_idx = 17, 244 .result_bit_size = 38, 245 .result_num_fields = 17, 246 .ident_start_idx = 6, 247 .ident_nums = 1 248 }, 249 { /* class_tid: 1, , table: profile_tcam.ipv6 */ 250 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 251 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 252 .direction = TF_DIR_RX, 253 .execute_info = { 254 .cond_true_goto = 1, 255 .cond_false_goto = 1, 256 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 257 .cond_start_idx = 7, 258 .cond_nums = 2 }, 259 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 260 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 261 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 262 .fdb_operand = BNXT_ULP_RF_IDX_RID, 263 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 264 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 265 .key_start_idx = 70, 266 .blob_key_bit_size = 81, 267 .key_bit_size = 81, 268 .key_num_fields = 43, 269 .result_start_idx = 34, 270 .result_bit_size = 38, 271 .result_num_fields = 17, 272 .ident_start_idx = 7, 273 .ident_nums = 1 274 }, 275 { /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */ 276 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 277 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 278 .direction = TF_DIR_RX, 279 .execute_info = { 280 .cond_true_goto = 1, 281 .cond_false_goto = 1, 282 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 283 .cond_start_idx = 9, 284 .cond_nums = 2 }, 285 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 286 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 287 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 288 .fdb_operand = BNXT_ULP_RF_IDX_RID, 289 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 290 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 291 .key_start_idx = 113, 292 .blob_key_bit_size = 81, 293 .key_bit_size = 81, 294 .key_num_fields = 43, 295 .result_start_idx = 51, 296 .result_bit_size = 38, 297 .result_num_fields = 17, 298 .ident_start_idx = 8, 299 .ident_nums = 1 300 }, 301 { /* class_tid: 1, , table: profile_tcam_cache.wr */ 302 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 303 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 304 .resource_sub_type = 305 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, 306 .direction = TF_DIR_RX, 307 .execute_info = { 308 .cond_true_goto = 1, 309 .cond_false_goto = 1, 310 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 311 .cond_start_idx = 11, 312 .cond_nums = 0 }, 313 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 314 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 315 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 316 .key_start_idx = 156, 317 .blob_key_bit_size = 14, 318 .key_bit_size = 14, 319 .key_num_fields = 3, 320 .result_start_idx = 68, 321 .result_bit_size = 122, 322 .result_num_fields = 5 323 }, 324 { /* class_tid: 1, , table: em.ipv4 */ 325 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 326 .resource_type = TF_MEM_INTERNAL, 327 .direction = TF_DIR_RX, 328 .execute_info = { 329 .cond_true_goto = 0, 330 .cond_false_goto = 1, 331 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 332 .cond_start_idx = 11, 333 .cond_nums = 3 }, 334 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 335 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 336 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 337 .key_start_idx = 159, 338 .blob_key_bit_size = 176, 339 .key_bit_size = 176, 340 .key_num_fields = 10, 341 .result_start_idx = 73, 342 .result_bit_size = 64, 343 .result_num_fields = 9 344 }, 345 { /* class_tid: 1, , table: eem.ipv4 */ 346 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 347 .resource_type = TF_MEM_EXTERNAL, 348 .direction = TF_DIR_RX, 349 .execute_info = { 350 .cond_true_goto = 0, 351 .cond_false_goto = 1, 352 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 353 .cond_start_idx = 14, 354 .cond_nums = 3 }, 355 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 356 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 357 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 358 .key_start_idx = 169, 359 .blob_key_bit_size = 448, 360 .key_bit_size = 448, 361 .key_num_fields = 10, 362 .result_start_idx = 82, 363 .result_bit_size = 64, 364 .result_num_fields = 9 365 }, 366 { /* class_tid: 1, , table: em.ipv6 */ 367 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 368 .resource_type = TF_MEM_INTERNAL, 369 .direction = TF_DIR_RX, 370 .execute_info = { 371 .cond_true_goto = 0, 372 .cond_false_goto = 1, 373 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 374 .cond_start_idx = 17, 375 .cond_nums = 3 }, 376 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 377 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 378 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 379 .key_start_idx = 179, 380 .blob_key_bit_size = 416, 381 .key_bit_size = 416, 382 .key_num_fields = 11, 383 .result_start_idx = 91, 384 .result_bit_size = 64, 385 .result_num_fields = 9 386 }, 387 { /* class_tid: 1, , table: eem.ipv6 */ 388 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 389 .resource_type = TF_MEM_EXTERNAL, 390 .direction = TF_DIR_RX, 391 .execute_info = { 392 .cond_true_goto = 0, 393 .cond_false_goto = 1, 394 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 395 .cond_start_idx = 20, 396 .cond_nums = 3 }, 397 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 398 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 399 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 400 .key_start_idx = 190, 401 .blob_key_bit_size = 448, 402 .key_bit_size = 448, 403 .key_num_fields = 11, 404 .result_start_idx = 100, 405 .result_bit_size = 64, 406 .result_num_fields = 9 407 }, 408 { /* class_tid: 1, , table: em.vxlan */ 409 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 410 .resource_type = TF_MEM_INTERNAL, 411 .direction = TF_DIR_RX, 412 .execute_info = { 413 .cond_true_goto = 0, 414 .cond_false_goto = 1, 415 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 416 .cond_start_idx = 23, 417 .cond_nums = 1 }, 418 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 419 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 420 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 421 .key_start_idx = 201, 422 .blob_key_bit_size = 200, 423 .key_bit_size = 200, 424 .key_num_fields = 11, 425 .result_start_idx = 109, 426 .result_bit_size = 64, 427 .result_num_fields = 9 428 }, 429 { /* class_tid: 1, , table: eem.vxlan */ 430 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 431 .resource_type = TF_MEM_EXTERNAL, 432 .direction = TF_DIR_RX, 433 .execute_info = { 434 .cond_true_goto = 0, 435 .cond_false_goto = 0, 436 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 437 .cond_start_idx = 24, 438 .cond_nums = 0 }, 439 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 440 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 441 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 442 .key_start_idx = 212, 443 .blob_key_bit_size = 448, 444 .key_bit_size = 448, 445 .key_num_fields = 11, 446 .result_start_idx = 118, 447 .result_bit_size = 64, 448 .result_num_fields = 9 449 }, 450 { /* class_tid: 2, , table: tunnel_cache.rd */ 451 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 452 .resource_sub_type = 453 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE, 454 .direction = TF_DIR_RX, 455 .execute_info = { 456 .cond_true_goto = 1, 457 .cond_false_goto = 1, 458 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 459 .cond_start_idx = 25, 460 .cond_nums = 0 }, 461 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 462 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 463 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 464 .key_start_idx = 223, 465 .blob_key_bit_size = 16, 466 .key_bit_size = 16, 467 .key_num_fields = 2, 468 .ident_start_idx = 9, 469 .ident_nums = 1 470 }, 471 { /* class_tid: 2, , table: control.tunnel_cache_check */ 472 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 473 .direction = TF_DIR_RX, 474 .execute_info = { 475 .cond_true_goto = 1, 476 .cond_false_goto = 3, 477 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 478 .cond_start_idx = 25, 479 .cond_nums = 1 }, 480 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 481 .fdb_operand = BNXT_ULP_RF_IDX_RID 482 }, 483 { /* class_tid: 2, , table: l2_cntxt_tcam.1 */ 484 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 485 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 486 .direction = TF_DIR_RX, 487 .execute_info = { 488 .cond_true_goto = 1, 489 .cond_false_goto = 1, 490 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 491 .cond_start_idx = 26, 492 .cond_nums = 0 }, 493 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT, 494 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 495 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 496 .fdb_operand = BNXT_ULP_RF_IDX_RID, 497 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 498 .pri_operand = 0, 499 .key_start_idx = 225, 500 .blob_key_bit_size = 167, 501 .key_bit_size = 167, 502 .key_num_fields = 13, 503 .result_start_idx = 127, 504 .result_bit_size = 64, 505 .result_num_fields = 13, 506 .ident_start_idx = 10, 507 .ident_nums = 1 508 }, 509 { /* class_tid: 2, , table: tunnel_cache.wr */ 510 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 511 .resource_sub_type = 512 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE, 513 .direction = TF_DIR_RX, 514 .execute_info = { 515 .cond_true_goto = 1, 516 .cond_false_goto = 1, 517 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 518 .cond_start_idx = 26, 519 .cond_nums = 0 }, 520 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 521 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 522 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 523 .key_start_idx = 238, 524 .blob_key_bit_size = 16, 525 .key_bit_size = 16, 526 .key_num_fields = 2, 527 .result_start_idx = 140, 528 .result_bit_size = 52, 529 .result_num_fields = 3 530 }, 531 { /* class_tid: 2, , table: control.flow_type_check */ 532 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 533 .direction = TF_DIR_RX, 534 .execute_info = { 535 .cond_true_goto = 1, 536 .cond_false_goto = 5, 537 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 538 .cond_start_idx = 26, 539 .cond_nums = 1 }, 540 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP 541 }, 542 { /* class_tid: 2, , table: mac_addr_cache.rd */ 543 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 544 .resource_sub_type = 545 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, 546 .direction = TF_DIR_RX, 547 .execute_info = { 548 .cond_true_goto = 1, 549 .cond_false_goto = 1, 550 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 551 .cond_start_idx = 27, 552 .cond_nums = 0 }, 553 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 554 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 555 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 556 .key_start_idx = 240, 557 .blob_key_bit_size = 73, 558 .key_bit_size = 73, 559 .key_num_fields = 5, 560 .ident_start_idx = 11, 561 .ident_nums = 1 562 }, 563 { /* class_tid: 2, , table: control.mac_addr_cache_check */ 564 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 565 .direction = TF_DIR_RX, 566 .execute_info = { 567 .cond_true_goto = 1, 568 .cond_false_goto = 0, 569 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 570 .cond_start_idx = 27, 571 .cond_nums = 1 }, 572 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 573 .fdb_operand = BNXT_ULP_RF_IDX_RID 574 }, 575 { /* class_tid: 2, , table: l2_cntxt_tcam.0 */ 576 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 577 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 578 .direction = TF_DIR_RX, 579 .execute_info = { 580 .cond_true_goto = 1, 581 .cond_false_goto = 1, 582 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 583 .cond_start_idx = 28, 584 .cond_nums = 0 }, 585 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 586 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 587 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 588 .fdb_operand = BNXT_ULP_RF_IDX_RID, 589 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 590 .pri_operand = 0, 591 .key_start_idx = 245, 592 .blob_key_bit_size = 167, 593 .key_bit_size = 167, 594 .key_num_fields = 13, 595 .result_start_idx = 143, 596 .result_bit_size = 64, 597 .result_num_fields = 13, 598 .ident_start_idx = 12, 599 .ident_nums = 0 600 }, 601 { /* class_tid: 2, , table: mac_addr_cache.wr */ 602 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 603 .resource_sub_type = 604 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, 605 .direction = TF_DIR_RX, 606 .execute_info = { 607 .cond_true_goto = 0, 608 .cond_false_goto = 1, 609 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 610 .cond_start_idx = 28, 611 .cond_nums = 0 }, 612 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 613 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 614 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 615 .key_start_idx = 258, 616 .blob_key_bit_size = 73, 617 .key_bit_size = 73, 618 .key_num_fields = 5, 619 .result_start_idx = 156, 620 .result_bit_size = 62, 621 .result_num_fields = 4 622 }, 623 { /* class_tid: 2, , table: profile_tcam_cache.f2_rd */ 624 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 625 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 626 .resource_sub_type = 627 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, 628 .direction = TF_DIR_RX, 629 .execute_info = { 630 .cond_true_goto = 1, 631 .cond_false_goto = 1, 632 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 633 .cond_start_idx = 28, 634 .cond_nums = 0 }, 635 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 636 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 637 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 638 .key_start_idx = 263, 639 .blob_key_bit_size = 14, 640 .key_bit_size = 14, 641 .key_num_fields = 3, 642 .ident_start_idx = 12, 643 .ident_nums = 3 644 }, 645 { /* class_tid: 2, , table: control.profile_tcam_cache.f2_check */ 646 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 647 .direction = TF_DIR_RX, 648 .execute_info = { 649 .cond_true_goto = 1, 650 .cond_false_goto = 3, 651 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 652 .cond_start_idx = 28, 653 .cond_nums = 1 }, 654 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 655 .fdb_operand = BNXT_ULP_RF_IDX_RID 656 }, 657 { /* class_tid: 2, , table: profile_tcam.f2 */ 658 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 659 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 660 .direction = TF_DIR_RX, 661 .execute_info = { 662 .cond_true_goto = 1, 663 .cond_false_goto = 1, 664 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 665 .cond_start_idx = 29, 666 .cond_nums = 0 }, 667 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 668 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 669 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 670 .fdb_operand = BNXT_ULP_RF_IDX_RID, 671 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 672 .pri_operand = 1, 673 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 674 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 675 .key_start_idx = 266, 676 .blob_key_bit_size = 81, 677 .key_bit_size = 81, 678 .key_num_fields = 43, 679 .result_start_idx = 160, 680 .result_bit_size = 38, 681 .result_num_fields = 17 682 }, 683 { /* class_tid: 2, , table: profile_tcam_cache.f2_wr */ 684 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 685 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 686 .resource_sub_type = 687 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, 688 .direction = TF_DIR_RX, 689 .execute_info = { 690 .cond_true_goto = 1, 691 .cond_false_goto = 1, 692 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 693 .cond_start_idx = 29, 694 .cond_nums = 0 }, 695 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 696 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 697 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 698 .key_start_idx = 309, 699 .blob_key_bit_size = 14, 700 .key_bit_size = 14, 701 .key_num_fields = 3, 702 .result_start_idx = 177, 703 .result_bit_size = 122, 704 .result_num_fields = 5 705 }, 706 { /* class_tid: 2, , table: em.tun */ 707 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 708 .resource_type = TF_MEM_INTERNAL, 709 .direction = TF_DIR_RX, 710 .execute_info = { 711 .cond_true_goto = 0, 712 .cond_false_goto = 1, 713 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 714 .cond_start_idx = 29, 715 .cond_nums = 1 }, 716 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 717 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 718 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 719 .key_start_idx = 312, 720 .blob_key_bit_size = 112, 721 .key_bit_size = 112, 722 .key_num_fields = 8, 723 .result_start_idx = 182, 724 .result_bit_size = 64, 725 .result_num_fields = 9 726 }, 727 { /* class_tid: 2, , table: eem.tun */ 728 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 729 .resource_type = TF_MEM_EXTERNAL, 730 .direction = TF_DIR_RX, 731 .execute_info = { 732 .cond_true_goto = 0, 733 .cond_false_goto = 0, 734 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 735 .cond_start_idx = 30, 736 .cond_nums = 0 }, 737 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 738 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 739 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 740 .key_start_idx = 320, 741 .blob_key_bit_size = 448, 742 .key_bit_size = 448, 743 .key_num_fields = 8, 744 .result_start_idx = 191, 745 .result_bit_size = 64, 746 .result_num_fields = 9 747 }, 748 { /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */ 749 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 750 .resource_sub_type = 751 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 752 .direction = TF_DIR_TX, 753 .execute_info = { 754 .cond_true_goto = 5, 755 .cond_false_goto = 1, 756 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 757 .cond_start_idx = 31, 758 .cond_nums = 1 }, 759 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 760 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 761 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 762 .key_start_idx = 328, 763 .blob_key_bit_size = 8, 764 .key_bit_size = 8, 765 .key_num_fields = 1, 766 .ident_start_idx = 15, 767 .ident_nums = 1 768 }, 769 { /* class_tid: 3, , table: mac_addr_cache.rd */ 770 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 771 .resource_sub_type = 772 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, 773 .direction = TF_DIR_TX, 774 .execute_info = { 775 .cond_true_goto = 1, 776 .cond_false_goto = 1, 777 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 778 .cond_start_idx = 32, 779 .cond_nums = 0 }, 780 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 781 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 782 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 783 .key_start_idx = 329, 784 .blob_key_bit_size = 73, 785 .key_bit_size = 73, 786 .key_num_fields = 5, 787 .ident_start_idx = 16, 788 .ident_nums = 1 789 }, 790 { /* class_tid: 3, , table: control.0 */ 791 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 792 .direction = TF_DIR_TX, 793 .execute_info = { 794 .cond_true_goto = 1, 795 .cond_false_goto = 3, 796 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 797 .cond_start_idx = 32, 798 .cond_nums = 1 }, 799 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 800 .fdb_operand = BNXT_ULP_RF_IDX_RID 801 }, 802 { /* class_tid: 3, , table: l2_cntxt_tcam.0 */ 803 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 804 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 805 .direction = TF_DIR_TX, 806 .execute_info = { 807 .cond_true_goto = 1, 808 .cond_false_goto = 1, 809 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 810 .cond_start_idx = 33, 811 .cond_nums = 0 }, 812 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 813 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 814 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 815 .fdb_operand = BNXT_ULP_RF_IDX_RID, 816 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 817 .pri_operand = 0, 818 .key_start_idx = 334, 819 .blob_key_bit_size = 167, 820 .key_bit_size = 167, 821 .key_num_fields = 13, 822 .result_start_idx = 200, 823 .result_bit_size = 64, 824 .result_num_fields = 13, 825 .ident_start_idx = 17, 826 .ident_nums = 1 827 }, 828 { /* class_tid: 3, , table: mac_addr_cache.wr */ 829 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 830 .resource_sub_type = 831 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, 832 .direction = TF_DIR_TX, 833 .execute_info = { 834 .cond_true_goto = 1, 835 .cond_false_goto = 1, 836 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 837 .cond_start_idx = 33, 838 .cond_nums = 0 }, 839 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 840 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, 841 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 842 .key_start_idx = 347, 843 .blob_key_bit_size = 73, 844 .key_bit_size = 73, 845 .key_num_fields = 5, 846 .result_start_idx = 213, 847 .result_bit_size = 62, 848 .result_num_fields = 4 849 }, 850 { /* class_tid: 3, , table: profile_tcam_cache.rd */ 851 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 852 .resource_sub_type = 853 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, 854 .direction = TF_DIR_TX, 855 .execute_info = { 856 .cond_true_goto = 1, 857 .cond_false_goto = 1, 858 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 859 .cond_start_idx = 33, 860 .cond_nums = 0 }, 861 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 862 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 863 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 864 .key_start_idx = 352, 865 .blob_key_bit_size = 14, 866 .key_bit_size = 14, 867 .key_num_fields = 3, 868 .ident_start_idx = 18, 869 .ident_nums = 3 870 }, 871 { /* class_tid: 3, , table: control.gen_tbl_miss */ 872 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 873 .direction = TF_DIR_TX, 874 .execute_info = { 875 .cond_true_goto = 2, 876 .cond_false_goto = 1, 877 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 878 .cond_start_idx = 33, 879 .cond_nums = 1 }, 880 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 881 .fdb_operand = BNXT_ULP_RF_IDX_RID 882 }, 883 { /* class_tid: 3, , table: control.conflict_check */ 884 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 885 .direction = TF_DIR_TX, 886 .execute_info = { 887 .cond_true_goto = 4, 888 .cond_false_goto = 1023, 889 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 890 .cond_start_idx = 34, 891 .cond_nums = 1 }, 892 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, 893 .func_info = { 894 .func_opc = BNXT_ULP_FUNC_OPC_EQ, 895 .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE, 896 .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID, 897 .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD, 898 .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID, 899 .func_dst_opr = BNXT_ULP_RF_IDX_CC } 900 }, 901 { /* class_tid: 3, , table: profile_tcam.ipv4 */ 902 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 903 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 904 .direction = TF_DIR_TX, 905 .execute_info = { 906 .cond_true_goto = 2, 907 .cond_false_goto = 1, 908 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 909 .cond_start_idx = 35, 910 .cond_nums = 1 }, 911 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 912 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 913 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 914 .fdb_operand = BNXT_ULP_RF_IDX_RID, 915 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 916 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 917 .key_start_idx = 355, 918 .blob_key_bit_size = 81, 919 .key_bit_size = 81, 920 .key_num_fields = 43, 921 .result_start_idx = 217, 922 .result_bit_size = 38, 923 .result_num_fields = 17, 924 .ident_start_idx = 21, 925 .ident_nums = 1 926 }, 927 { /* class_tid: 3, , table: profile_tcam.ipv6 */ 928 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 929 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, 930 .direction = TF_DIR_TX, 931 .execute_info = { 932 .cond_true_goto = 1, 933 .cond_false_goto = 1, 934 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 935 .cond_start_idx = 36, 936 .cond_nums = 0 }, 937 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 938 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 939 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 940 .fdb_operand = BNXT_ULP_RF_IDX_RID, 941 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 942 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 943 .key_start_idx = 398, 944 .blob_key_bit_size = 81, 945 .key_bit_size = 81, 946 .key_num_fields = 43, 947 .result_start_idx = 234, 948 .result_bit_size = 38, 949 .result_num_fields = 17, 950 .ident_start_idx = 22, 951 .ident_nums = 1 952 }, 953 { /* class_tid: 3, , table: profile_tcam_cache.wr */ 954 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 955 .resource_sub_type = 956 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, 957 .direction = TF_DIR_TX, 958 .execute_info = { 959 .cond_true_goto = 1, 960 .cond_false_goto = 1, 961 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 962 .cond_start_idx = 36, 963 .cond_nums = 0 }, 964 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 965 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 966 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 967 .key_start_idx = 441, 968 .blob_key_bit_size = 14, 969 .key_bit_size = 14, 970 .key_num_fields = 3, 971 .result_start_idx = 251, 972 .result_bit_size = 122, 973 .result_num_fields = 5 974 }, 975 { /* class_tid: 3, , table: em.ipv4 */ 976 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 977 .resource_type = TF_MEM_INTERNAL, 978 .direction = TF_DIR_TX, 979 .execute_info = { 980 .cond_true_goto = 0, 981 .cond_false_goto = 1, 982 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 983 .cond_start_idx = 36, 984 .cond_nums = 2 }, 985 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 986 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 987 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 988 .key_start_idx = 444, 989 .blob_key_bit_size = 176, 990 .key_bit_size = 176, 991 .key_num_fields = 10, 992 .result_start_idx = 256, 993 .result_bit_size = 64, 994 .result_num_fields = 9 995 }, 996 { /* class_tid: 3, , table: eem.ipv4 */ 997 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 998 .resource_type = TF_MEM_EXTERNAL, 999 .direction = TF_DIR_TX, 1000 .execute_info = { 1001 .cond_true_goto = 0, 1002 .cond_false_goto = 1, 1003 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1004 .cond_start_idx = 38, 1005 .cond_nums = 2 }, 1006 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1007 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 1008 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 1009 .key_start_idx = 454, 1010 .blob_key_bit_size = 448, 1011 .key_bit_size = 448, 1012 .key_num_fields = 10, 1013 .result_start_idx = 265, 1014 .result_bit_size = 64, 1015 .result_num_fields = 9 1016 }, 1017 { /* class_tid: 3, , table: em.ipv6 */ 1018 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 1019 .resource_type = TF_MEM_INTERNAL, 1020 .direction = TF_DIR_TX, 1021 .execute_info = { 1022 .cond_true_goto = 0, 1023 .cond_false_goto = 1, 1024 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1025 .cond_start_idx = 40, 1026 .cond_nums = 1 }, 1027 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1028 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 1029 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 1030 .key_start_idx = 464, 1031 .blob_key_bit_size = 416, 1032 .key_bit_size = 416, 1033 .key_num_fields = 11, 1034 .result_start_idx = 274, 1035 .result_bit_size = 64, 1036 .result_num_fields = 9 1037 }, 1038 { /* class_tid: 3, , table: eem.ipv6 */ 1039 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, 1040 .resource_type = TF_MEM_EXTERNAL, 1041 .direction = TF_DIR_TX, 1042 .execute_info = { 1043 .cond_true_goto = 0, 1044 .cond_false_goto = 0, 1045 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1046 .cond_start_idx = 41, 1047 .cond_nums = 0 }, 1048 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1049 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, 1050 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, 1051 .key_start_idx = 475, 1052 .blob_key_bit_size = 448, 1053 .key_bit_size = 448, 1054 .key_num_fields = 11, 1055 .result_start_idx = 283, 1056 .result_bit_size = 64, 1057 .result_num_fields = 9 1058 }, 1059 { /* class_tid: 4, , table: int_full_act_record.ing_0 */ 1060 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1061 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1062 .resource_sub_type = 1063 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, 1064 .direction = TF_DIR_RX, 1065 .execute_info = { 1066 .cond_true_goto = 1, 1067 .cond_false_goto = 1, 1068 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1069 .cond_start_idx = 41, 1070 .cond_nums = 0 }, 1071 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1072 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, 1073 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1074 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1075 .result_start_idx = 292, 1076 .result_bit_size = 128, 1077 .result_num_fields = 26 1078 }, 1079 { /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_rd */ 1080 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1081 .resource_sub_type = 1082 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1083 .direction = TF_DIR_RX, 1084 .execute_info = { 1085 .cond_true_goto = 1, 1086 .cond_false_goto = 1, 1087 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1088 .cond_start_idx = 41, 1089 .cond_nums = 0 }, 1090 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 1091 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1092 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1093 .key_start_idx = 486, 1094 .blob_key_bit_size = 8, 1095 .key_bit_size = 8, 1096 .key_num_fields = 1, 1097 .ident_start_idx = 23, 1098 .ident_nums = 0 1099 }, 1100 { /* class_tid: 4, , table: control.ing_0 */ 1101 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 1102 .direction = TF_DIR_RX, 1103 .execute_info = { 1104 .cond_true_goto = 1, 1105 .cond_false_goto = 3, 1106 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1107 .cond_start_idx = 41, 1108 .cond_nums = 1 }, 1109 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 1110 .fdb_operand = BNXT_ULP_RF_IDX_RID 1111 }, 1112 { /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */ 1113 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1114 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, 1115 .direction = TF_DIR_RX, 1116 .execute_info = { 1117 .cond_true_goto = 1, 1118 .cond_false_goto = 1, 1119 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1120 .cond_start_idx = 42, 1121 .cond_nums = 0 }, 1122 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1123 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1124 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 1125 .fdb_operand = BNXT_ULP_RF_IDX_RID, 1126 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1127 .pri_operand = 0, 1128 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1129 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 1130 .key_start_idx = 487, 1131 .blob_key_bit_size = 167, 1132 .key_bit_size = 167, 1133 .key_num_fields = 13, 1134 .result_start_idx = 318, 1135 .result_bit_size = 64, 1136 .result_num_fields = 13, 1137 .ident_start_idx = 23, 1138 .ident_nums = 1 1139 }, 1140 { /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */ 1141 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1142 .resource_sub_type = 1143 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1144 .direction = TF_DIR_RX, 1145 .execute_info = { 1146 .cond_true_goto = 1, 1147 .cond_false_goto = 1, 1148 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1149 .cond_start_idx = 42, 1150 .cond_nums = 0 }, 1151 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 1152 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1153 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1154 .key_start_idx = 500, 1155 .blob_key_bit_size = 8, 1156 .key_bit_size = 8, 1157 .key_num_fields = 1, 1158 .result_start_idx = 331, 1159 .result_bit_size = 62, 1160 .result_num_fields = 4 1161 }, 1162 { /* class_tid: 4, , table: parif_def_lkup_arec_ptr.ing_0 */ 1163 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1164 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR, 1165 .direction = TF_DIR_RX, 1166 .execute_info = { 1167 .cond_true_goto = 1, 1168 .cond_false_goto = 1, 1169 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1170 .cond_start_idx = 42, 1171 .cond_nums = 0 }, 1172 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, 1173 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, 1174 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1175 .result_start_idx = 335, 1176 .result_bit_size = 32, 1177 .result_num_fields = 1 1178 }, 1179 { /* class_tid: 4, , table: parif_def_arec_ptr.ing_0 */ 1180 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1181 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR, 1182 .direction = TF_DIR_RX, 1183 .execute_info = { 1184 .cond_true_goto = 1, 1185 .cond_false_goto = 1, 1186 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1187 .cond_start_idx = 42, 1188 .cond_nums = 0 }, 1189 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, 1190 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, 1191 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1192 .result_start_idx = 336, 1193 .result_bit_size = 32, 1194 .result_num_fields = 1 1195 }, 1196 { /* class_tid: 4, , table: parif_def_err_arec_ptr.ing_0 */ 1197 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1198 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR, 1199 .direction = TF_DIR_RX, 1200 .execute_info = { 1201 .cond_true_goto = 1, 1202 .cond_false_goto = 1, 1203 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1204 .cond_start_idx = 42, 1205 .cond_nums = 0 }, 1206 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, 1207 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, 1208 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1209 .result_start_idx = 337, 1210 .result_bit_size = 32, 1211 .result_num_fields = 1 1212 }, 1213 { /* class_tid: 4, , table: control.egr_0 */ 1214 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 1215 .direction = TF_DIR_RX, 1216 .execute_info = { 1217 .cond_true_goto = 1, 1218 .cond_false_goto = 6, 1219 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1220 .cond_start_idx = 42, 1221 .cond_nums = 1 }, 1222 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP 1223 }, 1224 { /* class_tid: 4, , table: int_full_act_record.egr_vfr */ 1225 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1226 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1227 .resource_sub_type = 1228 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, 1229 .direction = TF_DIR_TX, 1230 .execute_info = { 1231 .cond_true_goto = 1, 1232 .cond_false_goto = 1, 1233 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1234 .cond_start_idx = 43, 1235 .cond_nums = 0 }, 1236 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1237 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, 1238 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1239 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1240 .result_start_idx = 338, 1241 .result_bit_size = 128, 1242 .result_num_fields = 26, 1243 .encap_num_fields = 0 1244 }, 1245 { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd_vfr */ 1246 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1247 .resource_sub_type = 1248 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1249 .direction = TF_DIR_TX, 1250 .execute_info = { 1251 .cond_true_goto = 1, 1252 .cond_false_goto = 1, 1253 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1254 .cond_start_idx = 43, 1255 .cond_nums = 0 }, 1256 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 1257 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1258 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1259 .key_start_idx = 501, 1260 .blob_key_bit_size = 8, 1261 .key_bit_size = 8, 1262 .key_num_fields = 1, 1263 .ident_start_idx = 24, 1264 .ident_nums = 0 1265 }, 1266 { /* class_tid: 4, , table: control.egr_1 */ 1267 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 1268 .direction = TF_DIR_RX, 1269 .execute_info = { 1270 .cond_true_goto = 1, 1271 .cond_false_goto = 0, 1272 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1273 .cond_start_idx = 43, 1274 .cond_nums = 1 }, 1275 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 1276 .fdb_operand = BNXT_ULP_RF_IDX_RID 1277 }, 1278 { /* class_tid: 4, , table: l2_cntxt_tcam_bypass.egr_vfr */ 1279 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1280 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, 1281 .direction = TF_DIR_TX, 1282 .execute_info = { 1283 .cond_true_goto = 1, 1284 .cond_false_goto = 1, 1285 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1286 .cond_start_idx = 44, 1287 .cond_nums = 0 }, 1288 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1289 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1290 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 1291 .fdb_operand = BNXT_ULP_RF_IDX_RID, 1292 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1293 .pri_operand = 0, 1294 .key_start_idx = 502, 1295 .blob_key_bit_size = 167, 1296 .key_bit_size = 167, 1297 .key_num_fields = 13, 1298 .result_start_idx = 364, 1299 .result_bit_size = 64, 1300 .result_num_fields = 13, 1301 .ident_start_idx = 24, 1302 .ident_nums = 0 1303 }, 1304 { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */ 1305 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1306 .resource_sub_type = 1307 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1308 .direction = TF_DIR_TX, 1309 .execute_info = { 1310 .cond_true_goto = 0, 1311 .cond_false_goto = 1, 1312 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1313 .cond_start_idx = 44, 1314 .cond_nums = 0 }, 1315 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 1316 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1317 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1318 .key_start_idx = 515, 1319 .blob_key_bit_size = 8, 1320 .key_bit_size = 8, 1321 .key_num_fields = 1, 1322 .result_start_idx = 377, 1323 .result_bit_size = 62, 1324 .result_num_fields = 4 1325 }, 1326 { /* class_tid: 4, , table: l2_cntxt_tcam_cache.rd */ 1327 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1328 .resource_sub_type = 1329 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1330 .direction = TF_DIR_TX, 1331 .execute_info = { 1332 .cond_true_goto = 1, 1333 .cond_false_goto = 1, 1334 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1335 .cond_start_idx = 44, 1336 .cond_nums = 0 }, 1337 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 1338 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1339 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1340 .key_start_idx = 516, 1341 .blob_key_bit_size = 8, 1342 .key_bit_size = 8, 1343 .key_num_fields = 1, 1344 .ident_start_idx = 24, 1345 .ident_nums = 0 1346 }, 1347 { /* class_tid: 4, , table: control.egr_2 */ 1348 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 1349 .direction = TF_DIR_RX, 1350 .execute_info = { 1351 .cond_true_goto = 1, 1352 .cond_false_goto = 3, 1353 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1354 .cond_start_idx = 44, 1355 .cond_nums = 1 }, 1356 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 1357 .fdb_operand = BNXT_ULP_RF_IDX_RID 1358 }, 1359 { /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */ 1360 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1361 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, 1362 .direction = TF_DIR_TX, 1363 .execute_info = { 1364 .cond_true_goto = 1, 1365 .cond_false_goto = 1, 1366 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1367 .cond_start_idx = 45, 1368 .cond_nums = 0 }, 1369 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1370 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1371 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 1372 .fdb_operand = BNXT_ULP_RF_IDX_RID, 1373 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1374 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 1375 .key_start_idx = 517, 1376 .blob_key_bit_size = 167, 1377 .key_bit_size = 167, 1378 .key_num_fields = 13, 1379 .result_start_idx = 381, 1380 .result_bit_size = 64, 1381 .result_num_fields = 13, 1382 .ident_start_idx = 24, 1383 .ident_nums = 1 1384 }, 1385 { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */ 1386 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1387 .resource_sub_type = 1388 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1389 .direction = TF_DIR_TX, 1390 .execute_info = { 1391 .cond_true_goto = 1, 1392 .cond_false_goto = 1, 1393 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1394 .cond_start_idx = 45, 1395 .cond_nums = 2 }, 1396 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 1397 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1398 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1399 .key_start_idx = 530, 1400 .blob_key_bit_size = 8, 1401 .key_bit_size = 8, 1402 .key_num_fields = 1, 1403 .result_start_idx = 394, 1404 .result_bit_size = 62, 1405 .result_num_fields = 4 1406 }, 1407 { /* class_tid: 4, , table: int_full_act_record.egr_0 */ 1408 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1409 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1410 .resource_sub_type = 1411 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, 1412 .direction = TF_DIR_TX, 1413 .execute_info = { 1414 .cond_true_goto = 1, 1415 .cond_false_goto = 1, 1416 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1417 .cond_start_idx = 47, 1418 .cond_nums = 0 }, 1419 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1420 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, 1421 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1422 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1423 .result_start_idx = 398, 1424 .result_bit_size = 128, 1425 .result_num_fields = 26, 1426 .encap_num_fields = 0 1427 }, 1428 { /* class_tid: 4, , table: parif_def_lkup_arec_ptr.egr_0 */ 1429 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1430 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR, 1431 .direction = TF_DIR_TX, 1432 .execute_info = { 1433 .cond_true_goto = 1, 1434 .cond_false_goto = 1, 1435 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1436 .cond_start_idx = 47, 1437 .cond_nums = 0 }, 1438 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, 1439 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, 1440 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1441 .result_start_idx = 424, 1442 .result_bit_size = 32, 1443 .result_num_fields = 1 1444 }, 1445 { /* class_tid: 4, , table: parif_def_arec_ptr.egr_0 */ 1446 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1447 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR, 1448 .direction = TF_DIR_TX, 1449 .execute_info = { 1450 .cond_true_goto = 1, 1451 .cond_false_goto = 1, 1452 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1453 .cond_start_idx = 47, 1454 .cond_nums = 0 }, 1455 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, 1456 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, 1457 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1458 .result_start_idx = 425, 1459 .result_bit_size = 32, 1460 .result_num_fields = 1 1461 }, 1462 { /* class_tid: 4, , table: parif_def_err_arec_ptr.egr_0 */ 1463 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1464 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR, 1465 .direction = TF_DIR_TX, 1466 .execute_info = { 1467 .cond_true_goto = 0, 1468 .cond_false_goto = 0, 1469 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1470 .cond_start_idx = 47, 1471 .cond_nums = 0 }, 1472 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, 1473 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, 1474 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1475 .result_start_idx = 426, 1476 .result_bit_size = 32, 1477 .result_num_fields = 1 1478 }, 1479 { /* class_tid: 5, , table: int_full_act_record.loopback */ 1480 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1481 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1482 .resource_sub_type = 1483 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, 1484 .direction = TF_DIR_TX, 1485 .execute_info = { 1486 .cond_true_goto = 1, 1487 .cond_false_goto = 1, 1488 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1489 .cond_start_idx = 47, 1490 .cond_nums = 0 }, 1491 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE, 1492 .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, 1493 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, 1494 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1495 .result_start_idx = 427, 1496 .result_bit_size = 128, 1497 .result_num_fields = 26, 1498 .encap_num_fields = 0 1499 }, 1500 { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_rd_egr */ 1501 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1502 .resource_sub_type = 1503 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1504 .direction = TF_DIR_TX, 1505 .execute_info = { 1506 .cond_true_goto = 1, 1507 .cond_false_goto = 1, 1508 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1509 .cond_start_idx = 47, 1510 .cond_nums = 0 }, 1511 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 1512 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1513 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1514 .key_start_idx = 531, 1515 .blob_key_bit_size = 8, 1516 .key_bit_size = 8, 1517 .key_num_fields = 1, 1518 .ident_start_idx = 25, 1519 .ident_nums = 0 1520 }, 1521 { /* class_tid: 5, , table: control.vf_0 */ 1522 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 1523 .direction = TF_DIR_TX, 1524 .execute_info = { 1525 .cond_true_goto = 1, 1526 .cond_false_goto = 3, 1527 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1528 .cond_start_idx = 47, 1529 .cond_nums = 1 }, 1530 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 1531 .fdb_operand = BNXT_ULP_RF_IDX_RID 1532 }, 1533 { /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */ 1534 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1535 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, 1536 .direction = TF_DIR_TX, 1537 .execute_info = { 1538 .cond_true_goto = 1, 1539 .cond_false_goto = 1, 1540 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1541 .cond_start_idx = 48, 1542 .cond_nums = 0 }, 1543 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1544 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1545 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 1546 .fdb_operand = BNXT_ULP_RF_IDX_RID, 1547 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1548 .pri_operand = 0, 1549 .key_start_idx = 532, 1550 .blob_key_bit_size = 167, 1551 .key_bit_size = 167, 1552 .key_num_fields = 13, 1553 .result_start_idx = 453, 1554 .result_bit_size = 64, 1555 .result_num_fields = 13, 1556 .ident_start_idx = 25, 1557 .ident_nums = 1 1558 }, 1559 { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */ 1560 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1561 .resource_sub_type = 1562 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1563 .direction = TF_DIR_TX, 1564 .execute_info = { 1565 .cond_true_goto = 1, 1566 .cond_false_goto = 1, 1567 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1568 .cond_start_idx = 48, 1569 .cond_nums = 0 }, 1570 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 1571 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1572 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1573 .key_start_idx = 545, 1574 .blob_key_bit_size = 8, 1575 .key_bit_size = 8, 1576 .key_num_fields = 1, 1577 .result_start_idx = 466, 1578 .result_bit_size = 62, 1579 .result_num_fields = 4 1580 }, 1581 { /* class_tid: 5, , table: parif_def_lkup_arec_ptr.vf_egr */ 1582 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1583 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR, 1584 .direction = TF_DIR_TX, 1585 .execute_info = { 1586 .cond_true_goto = 1, 1587 .cond_false_goto = 1, 1588 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1589 .cond_start_idx = 48, 1590 .cond_nums = 0 }, 1591 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, 1592 .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF, 1593 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1594 .result_start_idx = 470, 1595 .result_bit_size = 32, 1596 .result_num_fields = 1 1597 }, 1598 { /* class_tid: 5, , table: parif_def_arec_ptr.vf_egr */ 1599 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1600 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR, 1601 .direction = TF_DIR_TX, 1602 .execute_info = { 1603 .cond_true_goto = 1, 1604 .cond_false_goto = 1, 1605 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1606 .cond_start_idx = 48, 1607 .cond_nums = 0 }, 1608 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, 1609 .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF, 1610 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1611 .result_start_idx = 471, 1612 .result_bit_size = 32, 1613 .result_num_fields = 1 1614 }, 1615 { /* class_tid: 5, , table: parif_def_err_arec_ptr.vf_egr */ 1616 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, 1617 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR, 1618 .direction = TF_DIR_TX, 1619 .execute_info = { 1620 .cond_true_goto = 1, 1621 .cond_false_goto = 1, 1622 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1623 .cond_start_idx = 48, 1624 .cond_nums = 0 }, 1625 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, 1626 .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF, 1627 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1628 .result_start_idx = 472, 1629 .result_bit_size = 32, 1630 .result_num_fields = 1 1631 }, 1632 { /* class_tid: 5, , table: int_full_act_record.vf_ing */ 1633 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1634 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1635 .resource_sub_type = 1636 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, 1637 .direction = TF_DIR_RX, 1638 .execute_info = { 1639 .cond_true_goto = 1, 1640 .cond_false_goto = 1, 1641 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1642 .cond_start_idx = 48, 1643 .cond_nums = 0 }, 1644 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1645 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, 1646 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1647 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG, 1648 .result_start_idx = 473, 1649 .result_bit_size = 128, 1650 .result_num_fields = 26, 1651 .encap_num_fields = 0 1652 }, 1653 { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vf_ing */ 1654 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1655 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 1656 .direction = TF_DIR_RX, 1657 .execute_info = { 1658 .cond_true_goto = 1, 1659 .cond_false_goto = 1, 1660 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1661 .cond_start_idx = 48, 1662 .cond_nums = 0 }, 1663 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1664 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1665 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1666 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1667 .pri_operand = 0, 1668 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1669 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 1670 .key_start_idx = 546, 1671 .blob_key_bit_size = 167, 1672 .key_bit_size = 167, 1673 .key_num_fields = 13, 1674 .result_start_idx = 499, 1675 .result_bit_size = 64, 1676 .result_num_fields = 13, 1677 .ident_start_idx = 26, 1678 .ident_nums = 0 1679 }, 1680 { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_rd_egr0 */ 1681 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1682 .resource_sub_type = 1683 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1684 .direction = TF_DIR_TX, 1685 .execute_info = { 1686 .cond_true_goto = 1, 1687 .cond_false_goto = 1, 1688 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1689 .cond_start_idx = 48, 1690 .cond_nums = 0 }, 1691 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, 1692 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1693 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1694 .key_start_idx = 559, 1695 .blob_key_bit_size = 8, 1696 .key_bit_size = 8, 1697 .key_num_fields = 1, 1698 .ident_start_idx = 26, 1699 .ident_nums = 0 1700 }, 1701 { /* class_tid: 5, , table: control.vfr_0 */ 1702 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, 1703 .direction = TF_DIR_TX, 1704 .execute_info = { 1705 .cond_true_goto = 1, 1706 .cond_false_goto = 3, 1707 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, 1708 .cond_start_idx = 48, 1709 .cond_nums = 1 }, 1710 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, 1711 .fdb_operand = BNXT_ULP_RF_IDX_RID 1712 }, 1713 { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_egr0 */ 1714 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1715 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, 1716 .direction = TF_DIR_TX, 1717 .execute_info = { 1718 .cond_true_goto = 1, 1719 .cond_false_goto = 1, 1720 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1721 .cond_start_idx = 49, 1722 .cond_nums = 0 }, 1723 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1724 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1725 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, 1726 .fdb_operand = BNXT_ULP_RF_IDX_RID, 1727 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1728 .pri_operand = 0, 1729 .key_start_idx = 560, 1730 .blob_key_bit_size = 167, 1731 .key_bit_size = 167, 1732 .key_num_fields = 13, 1733 .result_start_idx = 512, 1734 .result_bit_size = 64, 1735 .result_num_fields = 13, 1736 .ident_start_idx = 26, 1737 .ident_nums = 0 1738 }, 1739 { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */ 1740 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, 1741 .resource_sub_type = 1742 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM, 1743 .direction = TF_DIR_TX, 1744 .execute_info = { 1745 .cond_true_goto = 1, 1746 .cond_false_goto = 1, 1747 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1748 .cond_start_idx = 49, 1749 .cond_nums = 0 }, 1750 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, 1751 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, 1752 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1753 .key_start_idx = 573, 1754 .blob_key_bit_size = 8, 1755 .key_bit_size = 8, 1756 .key_num_fields = 1, 1757 .result_start_idx = 525, 1758 .result_bit_size = 62, 1759 .result_num_fields = 4 1760 }, 1761 { /* class_tid: 5, , table: int_vtag_encap_record.vfr_egr0 */ 1762 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1763 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, 1764 .resource_sub_type = 1765 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, 1766 .direction = TF_DIR_TX, 1767 .execute_info = { 1768 .cond_true_goto = 1, 1769 .cond_false_goto = 1, 1770 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1771 .cond_start_idx = 49, 1772 .cond_nums = 0 }, 1773 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1774 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0, 1775 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1776 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1777 .record_size = 8, 1778 .result_start_idx = 529, 1779 .result_bit_size = 0, 1780 .result_num_fields = 0, 1781 .encap_num_fields = 11 1782 }, 1783 { /* class_tid: 5, , table: int_full_act_record.vfr_egr0 */ 1784 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1785 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1786 .resource_sub_type = 1787 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, 1788 .direction = TF_DIR_TX, 1789 .execute_info = { 1790 .cond_true_goto = 1, 1791 .cond_false_goto = 1, 1792 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1793 .cond_start_idx = 49, 1794 .cond_nums = 0 }, 1795 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1796 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, 1797 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1798 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1799 .result_start_idx = 540, 1800 .result_bit_size = 128, 1801 .result_num_fields = 26 1802 }, 1803 { /* class_tid: 5, , table: int_full_act_record.vfr_ing0 */ 1804 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, 1805 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, 1806 .resource_sub_type = 1807 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, 1808 .direction = TF_DIR_RX, 1809 .execute_info = { 1810 .cond_true_goto = 1, 1811 .cond_false_goto = 1, 1812 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1813 .cond_start_idx = 49, 1814 .cond_nums = 0 }, 1815 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, 1816 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, 1817 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1818 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1819 .result_start_idx = 566, 1820 .result_bit_size = 128, 1821 .result_num_fields = 26 1822 }, 1823 { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */ 1824 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1825 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 1826 .direction = TF_DIR_RX, 1827 .execute_info = { 1828 .cond_true_goto = 1, 1829 .cond_false_goto = 1, 1830 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1831 .cond_start_idx = 49, 1832 .cond_nums = 0 }, 1833 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1834 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1835 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1836 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1837 .pri_operand = 0, 1838 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1839 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 1840 .key_start_idx = 574, 1841 .blob_key_bit_size = 167, 1842 .key_bit_size = 167, 1843 .key_num_fields = 13, 1844 .result_start_idx = 592, 1845 .result_bit_size = 64, 1846 .result_num_fields = 13, 1847 .ident_start_idx = 26, 1848 .ident_nums = 0 1849 }, 1850 { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */ 1851 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, 1852 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, 1853 .direction = TF_DIR_RX, 1854 .execute_info = { 1855 .cond_true_goto = 0, 1856 .cond_false_goto = 0, 1857 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, 1858 .cond_start_idx = 49, 1859 .cond_nums = 0 }, 1860 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, 1861 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, 1862 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, 1863 .pri_opcode = BNXT_ULP_PRI_OPC_CONST, 1864 .pri_operand = 0, 1865 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, 1866 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, 1867 .key_start_idx = 587, 1868 .blob_key_bit_size = 167, 1869 .key_bit_size = 167, 1870 .key_num_fields = 13, 1871 .result_start_idx = 605, 1872 .result_bit_size = 64, 1873 .result_num_fields = 13, 1874 .ident_start_idx = 26, 1875 .ident_nums = 0 1876 } 1877 }; 1878 1879 struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = { 1880 /* cond_reject: wh_plus, class_tid: 1 */ 1881 { 1882 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, 1883 .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH 1884 }, 1885 /* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd */ 1886 { 1887 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, 1888 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC 1889 }, 1890 /* cond_execute: class_tid: 1, control.0 */ 1891 { 1892 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 1893 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 1894 }, 1895 /* cond_execute: class_tid: 1, control.1 */ 1896 { 1897 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 1898 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 1899 }, 1900 /* cond_execute: class_tid: 1, control.2 */ 1901 { 1902 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 1903 .cond_operand = BNXT_ULP_RF_IDX_CC 1904 }, 1905 /* cond_execute: class_tid: 1, profile_tcam.ipv4 */ 1906 { 1907 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1908 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 1909 }, 1910 { 1911 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, 1912 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1913 }, 1914 /* cond_execute: class_tid: 1, profile_tcam.ipv6 */ 1915 { 1916 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1917 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 1918 }, 1919 { 1920 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, 1921 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1922 }, 1923 /* cond_execute: class_tid: 1, profile_tcam.ipv4_vxlan */ 1924 { 1925 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1926 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1927 }, 1928 { 1929 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1930 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 1931 }, 1932 /* cond_execute: class_tid: 1, em.ipv4 */ 1933 { 1934 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, 1935 }, 1936 { 1937 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1938 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 1939 }, 1940 { 1941 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, 1942 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1943 }, 1944 /* cond_execute: class_tid: 1, eem.ipv4 */ 1945 { 1946 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET, 1947 }, 1948 { 1949 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1950 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 1951 }, 1952 { 1953 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, 1954 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1955 }, 1956 /* cond_execute: class_tid: 1, em.ipv6 */ 1957 { 1958 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, 1959 }, 1960 { 1961 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1962 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 1963 }, 1964 { 1965 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, 1966 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1967 }, 1968 /* cond_execute: class_tid: 1, eem.ipv6 */ 1969 { 1970 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET, 1971 }, 1972 { 1973 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1974 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6 1975 }, 1976 { 1977 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, 1978 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN 1979 }, 1980 /* cond_execute: class_tid: 1, em.vxlan */ 1981 { 1982 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, 1983 }, 1984 /* cond_reject: wh_plus, class_tid: 2 */ 1985 { 1986 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, 1987 .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH 1988 }, 1989 /* cond_execute: class_tid: 2, control.tunnel_cache_check */ 1990 { 1991 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 1992 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 1993 }, 1994 /* cond_execute: class_tid: 2, control.flow_type_check */ 1995 { 1996 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 1997 .cond_operand = BNXT_ULP_HDR_BIT_F1 1998 }, 1999 /* cond_execute: class_tid: 2, control.mac_addr_cache_check */ 2000 { 2001 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2002 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2003 }, 2004 /* cond_execute: class_tid: 2, control.profile_tcam_cache.f2_check */ 2005 { 2006 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2007 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2008 }, 2009 /* cond_execute: class_tid: 2, em.tun */ 2010 { 2011 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, 2012 }, 2013 /* cond_reject: wh_plus, class_tid: 3 */ 2014 { 2015 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, 2016 .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH 2017 }, 2018 /* cond_execute: class_tid: 3, l2_cntxt_tcam_cache.rd */ 2019 { 2020 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET, 2021 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC 2022 }, 2023 /* cond_execute: class_tid: 3, control.0 */ 2024 { 2025 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2026 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2027 }, 2028 /* cond_execute: class_tid: 3, control.gen_tbl_miss */ 2029 { 2030 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2031 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2032 }, 2033 /* cond_execute: class_tid: 3, control.conflict_check */ 2034 { 2035 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2036 .cond_operand = BNXT_ULP_RF_IDX_CC 2037 }, 2038 /* cond_execute: class_tid: 3, profile_tcam.ipv4 */ 2039 { 2040 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 2041 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 2042 }, 2043 /* cond_execute: class_tid: 3, em.ipv4 */ 2044 { 2045 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, 2046 }, 2047 { 2048 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 2049 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 2050 }, 2051 /* cond_execute: class_tid: 3, eem.ipv4 */ 2052 { 2053 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET, 2054 }, 2055 { 2056 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, 2057 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 2058 }, 2059 /* cond_execute: class_tid: 3, em.ipv6 */ 2060 { 2061 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, 2062 }, 2063 /* cond_execute: class_tid: 4, control.ing_0 */ 2064 { 2065 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2066 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2067 }, 2068 /* cond_execute: class_tid: 4, control.egr_0 */ 2069 { 2070 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET, 2071 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE 2072 }, 2073 /* cond_execute: class_tid: 4, control.egr_1 */ 2074 { 2075 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2076 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2077 }, 2078 /* cond_execute: class_tid: 4, control.egr_2 */ 2079 { 2080 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2081 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2082 }, 2083 /* cond_execute: class_tid: 4, l2_cntxt_tcam_cache.egr_wr */ 2084 { 2085 .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, 2086 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE 2087 }, 2088 { 2089 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2090 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2091 }, 2092 /* cond_execute: class_tid: 5, control.vf_0 */ 2093 { 2094 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2095 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2096 }, 2097 /* cond_execute: class_tid: 5, control.vfr_0 */ 2098 { 2099 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, 2100 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS 2101 } 2102 }; 2103 2104 struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { 2105 /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ 2106 { 2107 .field_info_mask = { 2108 .description = "svif", 2109 .field_bit_size = 8, 2110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2111 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2112 .field_opr1 = { 2113 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2114 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2115 }, 2116 .field_info_spec = { 2117 .description = "svif", 2118 .field_bit_size = 8, 2119 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2120 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2121 .field_opr1 = { 2122 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2123 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2124 } 2125 }, 2126 /* class_tid: 1, , table: mac_addr_cache.rd */ 2127 { 2128 .field_info_mask = { 2129 .description = "svif", 2130 .field_bit_size = 8, 2131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2132 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2133 .field_opr1 = { 2134 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2135 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2136 }, 2137 .field_info_spec = { 2138 .description = "svif", 2139 .field_bit_size = 8, 2140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2141 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2142 .field_opr1 = { 2143 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2144 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2145 } 2146 }, 2147 { 2148 .field_info_mask = { 2149 .description = "tun_hdr", 2150 .field_bit_size = 4, 2151 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2152 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2153 .field_opr1 = { 2154 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 2155 }, 2156 .field_info_spec = { 2157 .description = "tun_hdr", 2158 .field_bit_size = 4, 2159 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2160 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2161 .field_opr1 = { 2162 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 2163 } 2164 }, 2165 { 2166 .field_info_mask = { 2167 .description = "one_tag", 2168 .field_bit_size = 1, 2169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2170 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2171 .field_opr1 = { 2172 0xff} 2173 }, 2174 .field_info_spec = { 2175 .description = "one_tag", 2176 .field_bit_size = 1, 2177 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2178 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2179 .field_opr1 = { 2180 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 2181 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 2182 } 2183 }, 2184 { 2185 .field_info_mask = { 2186 .description = "vid", 2187 .field_bit_size = 12, 2188 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2189 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2190 .field_opr1 = { 2191 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 2192 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 2193 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 2194 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 2195 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 2196 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 2197 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 2198 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 2199 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 2200 .field_opr2 = { 2201 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 2202 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 2203 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2204 }, 2205 .field_info_spec = { 2206 .description = "vid", 2207 .field_bit_size = 12, 2208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2209 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2210 .field_opr1 = { 2211 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 2212 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 2213 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 2214 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 2215 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 2216 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 2217 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 2218 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 2219 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 2220 .field_opr2 = { 2221 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 2222 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 2223 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2224 } 2225 }, 2226 { 2227 .field_info_mask = { 2228 .description = "mac_addr", 2229 .field_bit_size = 48, 2230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2231 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2232 .field_opr1 = { 2233 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2234 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 2235 }, 2236 .field_info_spec = { 2237 .description = "mac_addr", 2238 .field_bit_size = 48, 2239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2240 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2241 .field_opr1 = { 2242 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2243 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 2244 } 2245 }, 2246 /* class_tid: 1, , table: l2_cntxt_tcam.0 */ 2247 { 2248 .field_info_mask = { 2249 .description = "l2_ivlan_vid", 2250 .field_bit_size = 12, 2251 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2252 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2253 .field_opr1 = { 2254 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 2255 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 2256 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 2257 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 2258 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 2259 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 2260 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 2261 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 2262 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 2263 .field_opr2 = { 2264 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 2265 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 2266 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2267 }, 2268 .field_info_spec = { 2269 .description = "l2_ivlan_vid", 2270 .field_bit_size = 12, 2271 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2272 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2273 .field_opr1 = { 2274 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 2275 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 2276 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 2277 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 2278 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 2279 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 2280 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 2281 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 2282 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 2283 .field_opr2 = { 2284 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 2285 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 2286 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2287 } 2288 }, 2289 { 2290 .field_info_mask = { 2291 .description = "l2_ovlan_vid", 2292 .field_bit_size = 12, 2293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2294 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2295 }, 2296 .field_info_spec = { 2297 .description = "l2_ovlan_vid", 2298 .field_bit_size = 12, 2299 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2300 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2301 } 2302 }, 2303 { 2304 .field_info_mask = { 2305 .description = "mac0_addr", 2306 .field_bit_size = 48, 2307 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2308 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2309 .field_opr1 = { 2310 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2311 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 2312 }, 2313 .field_info_spec = { 2314 .description = "mac0_addr", 2315 .field_bit_size = 48, 2316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2317 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2318 .field_opr1 = { 2319 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2320 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 2321 } 2322 }, 2323 { 2324 .field_info_mask = { 2325 .description = "svif", 2326 .field_bit_size = 8, 2327 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2328 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2329 .field_opr1 = { 2330 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2331 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2332 }, 2333 .field_info_spec = { 2334 .description = "svif", 2335 .field_bit_size = 8, 2336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2337 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2338 .field_opr1 = { 2339 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2340 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2341 } 2342 }, 2343 { 2344 .field_info_mask = { 2345 .description = "sparif", 2346 .field_bit_size = 4, 2347 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2349 }, 2350 .field_info_spec = { 2351 .description = "sparif", 2352 .field_bit_size = 4, 2353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2354 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2355 } 2356 }, 2357 { 2358 .field_info_mask = { 2359 .description = "tl2_ivlan_vid", 2360 .field_bit_size = 12, 2361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2362 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2363 }, 2364 .field_info_spec = { 2365 .description = "tl2_ivlan_vid", 2366 .field_bit_size = 12, 2367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2368 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2369 } 2370 }, 2371 { 2372 .field_info_mask = { 2373 .description = "tl2_ovlan_vid", 2374 .field_bit_size = 12, 2375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2376 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2377 }, 2378 .field_info_spec = { 2379 .description = "tl2_ovlan_vid", 2380 .field_bit_size = 12, 2381 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2382 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2383 } 2384 }, 2385 { 2386 .field_info_mask = { 2387 .description = "mac1_addr", 2388 .field_bit_size = 48, 2389 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2390 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2391 }, 2392 .field_info_spec = { 2393 .description = "mac1_addr", 2394 .field_bit_size = 48, 2395 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2396 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2397 } 2398 }, 2399 { 2400 .field_info_mask = { 2401 .description = "l2_num_vtags", 2402 .field_bit_size = 2, 2403 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2404 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2405 .field_opr1 = { 2406 0xff} 2407 }, 2408 .field_info_spec = { 2409 .description = "l2_num_vtags", 2410 .field_bit_size = 2, 2411 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2412 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2413 .field_opr1 = { 2414 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff, 2415 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff} 2416 } 2417 }, 2418 { 2419 .field_info_mask = { 2420 .description = "tl2_num_vtags", 2421 .field_bit_size = 2, 2422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2424 }, 2425 .field_info_spec = { 2426 .description = "tl2_num_vtags", 2427 .field_bit_size = 2, 2428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2429 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2430 } 2431 }, 2432 { 2433 .field_info_mask = { 2434 .description = "tun_hdr_type", 2435 .field_bit_size = 4, 2436 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2437 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2438 }, 2439 .field_info_spec = { 2440 .description = "tun_hdr_type", 2441 .field_bit_size = 4, 2442 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2443 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2444 } 2445 }, 2446 { 2447 .field_info_mask = { 2448 .description = "key_type", 2449 .field_bit_size = 2, 2450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2452 }, 2453 .field_info_spec = { 2454 .description = "key_type", 2455 .field_bit_size = 2, 2456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2457 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2458 } 2459 }, 2460 { 2461 .field_info_mask = { 2462 .description = "valid", 2463 .field_bit_size = 1, 2464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2465 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2466 .field_opr1 = { 2467 1} 2468 }, 2469 .field_info_spec = { 2470 .description = "valid", 2471 .field_bit_size = 1, 2472 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2473 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2474 .field_opr1 = { 2475 1} 2476 } 2477 }, 2478 /* class_tid: 1, , table: mac_addr_cache.wr */ 2479 { 2480 .field_info_mask = { 2481 .description = "svif", 2482 .field_bit_size = 8, 2483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2484 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2485 .field_opr1 = { 2486 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2487 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2488 }, 2489 .field_info_spec = { 2490 .description = "svif", 2491 .field_bit_size = 8, 2492 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2493 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2494 .field_opr1 = { 2495 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 2496 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 2497 } 2498 }, 2499 { 2500 .field_info_mask = { 2501 .description = "tun_hdr", 2502 .field_bit_size = 4, 2503 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2504 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2505 .field_opr1 = { 2506 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 2507 }, 2508 .field_info_spec = { 2509 .description = "tun_hdr", 2510 .field_bit_size = 4, 2511 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2512 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2513 .field_opr1 = { 2514 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 2515 } 2516 }, 2517 { 2518 .field_info_mask = { 2519 .description = "one_tag", 2520 .field_bit_size = 1, 2521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2522 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2523 .field_opr1 = { 2524 0xff} 2525 }, 2526 .field_info_spec = { 2527 .description = "one_tag", 2528 .field_bit_size = 1, 2529 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2530 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2531 .field_opr1 = { 2532 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 2533 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 2534 } 2535 }, 2536 { 2537 .field_info_mask = { 2538 .description = "vid", 2539 .field_bit_size = 12, 2540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2541 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2542 .field_opr1 = { 2543 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 2544 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 2545 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 2546 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 2547 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 2548 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 2549 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 2550 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 2551 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 2552 .field_opr2 = { 2553 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 2554 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 2555 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2556 }, 2557 .field_info_spec = { 2558 .description = "vid", 2559 .field_bit_size = 12, 2560 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2561 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2562 .field_opr1 = { 2563 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 2564 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 2565 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 2566 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 2567 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 2568 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 2569 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 2570 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 2571 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 2572 .field_opr2 = { 2573 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 2574 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 2575 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2576 } 2577 }, 2578 { 2579 .field_info_mask = { 2580 .description = "mac_addr", 2581 .field_bit_size = 48, 2582 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2583 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2584 .field_opr1 = { 2585 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2586 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 2587 }, 2588 .field_info_spec = { 2589 .description = "mac_addr", 2590 .field_bit_size = 48, 2591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2592 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 2593 .field_opr1 = { 2594 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2595 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 2596 } 2597 }, 2598 /* class_tid: 1, , table: profile_tcam_cache.rd */ 2599 { 2600 .field_info_mask = { 2601 .description = "recycle_cnt", 2602 .field_bit_size = 2, 2603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2604 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2605 .field_opr1 = { 2606 0xff} 2607 }, 2608 .field_info_spec = { 2609 .description = "recycle_cnt", 2610 .field_bit_size = 2, 2611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2613 } 2614 }, 2615 { 2616 .field_info_mask = { 2617 .description = "prof_func_id", 2618 .field_bit_size = 7, 2619 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2620 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2621 .field_opr1 = { 2622 0xff} 2623 }, 2624 .field_info_spec = { 2625 .description = "prof_func_id", 2626 .field_bit_size = 7, 2627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2628 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 2629 .field_opr1 = { 2630 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 2631 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, 2632 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 2633 .field_opr2 = { 2634 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 2635 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 2636 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 2637 .field_opr3 = { 2638 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 2639 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 2640 } 2641 }, 2642 { 2643 .field_info_mask = { 2644 .description = "hdr_sig_id", 2645 .field_bit_size = 5, 2646 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2647 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2648 .field_opr1 = { 2649 0xff} 2650 }, 2651 .field_info_spec = { 2652 .description = "hdr_sig_id", 2653 .field_bit_size = 5, 2654 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2655 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2656 .field_opr1 = { 2657 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, 2658 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} 2659 } 2660 }, 2661 /* class_tid: 1, , table: profile_tcam.ipv4 */ 2662 { 2663 .field_info_mask = { 2664 .description = "l4_hdr_is_udp_tcp", 2665 .field_bit_size = 1, 2666 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2667 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2668 }, 2669 .field_info_spec = { 2670 .description = "l4_hdr_is_udp_tcp", 2671 .field_bit_size = 1, 2672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2673 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2674 } 2675 }, 2676 { 2677 .field_info_mask = { 2678 .description = "l4_hdr_type", 2679 .field_bit_size = 4, 2680 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2681 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2682 .field_opr1 = { 2683 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 2684 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 2685 .field_src2 = BNXT_ULP_FIELD_SRC_ONES, 2686 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 2687 }, 2688 .field_info_spec = { 2689 .description = "l4_hdr_type", 2690 .field_bit_size = 4, 2691 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 2692 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 2693 .field_opr1 = { 2694 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, 2695 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, 2696 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, 2697 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, 2698 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, 2699 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, 2700 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, 2701 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, 2702 .field_src2 = BNXT_ULP_FIELD_SRC_CONST, 2703 .field_opr2 = { 2704 ULP_WP_SYM_L4_HDR_TYPE_TCP}, 2705 .field_src3 = BNXT_ULP_FIELD_SRC_CONST, 2706 .field_opr3 = { 2707 ULP_WP_SYM_L4_HDR_TYPE_UDP} 2708 } 2709 }, 2710 { 2711 .field_info_mask = { 2712 .description = "l4_hdr_error", 2713 .field_bit_size = 1, 2714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2715 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2716 .field_opr1 = { 2717 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 2718 BNXT_ULP_CF_IDX_O_L4 & 0xff} 2719 }, 2720 .field_info_spec = { 2721 .description = "l4_hdr_error", 2722 .field_bit_size = 1, 2723 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2724 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2725 } 2726 }, 2727 { 2728 .field_info_mask = { 2729 .description = "l4_hdr_valid", 2730 .field_bit_size = 1, 2731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2732 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2733 .field_opr1 = { 2734 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 2735 BNXT_ULP_CF_IDX_O_L4 & 0xff} 2736 }, 2737 .field_info_spec = { 2738 .description = "l4_hdr_valid", 2739 .field_bit_size = 1, 2740 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2741 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2742 .field_opr1 = { 2743 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 2744 BNXT_ULP_CF_IDX_O_L4 & 0xff} 2745 } 2746 }, 2747 { 2748 .field_info_mask = { 2749 .description = "l3_ipv6_cmp_dst", 2750 .field_bit_size = 1, 2751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2753 }, 2754 .field_info_spec = { 2755 .description = "l3_ipv6_cmp_dst", 2756 .field_bit_size = 1, 2757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2758 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2759 } 2760 }, 2761 { 2762 .field_info_mask = { 2763 .description = "l3_ipv6_cmp_src", 2764 .field_bit_size = 1, 2765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2767 }, 2768 .field_info_spec = { 2769 .description = "l3_ipv6_cmp_src", 2770 .field_bit_size = 1, 2771 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2772 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2773 } 2774 }, 2775 { 2776 .field_info_mask = { 2777 .description = "l3_hdr_isIP", 2778 .field_bit_size = 1, 2779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2780 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2781 }, 2782 .field_info_spec = { 2783 .description = "l3_hdr_isIP", 2784 .field_bit_size = 1, 2785 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2786 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2787 } 2788 }, 2789 { 2790 .field_info_mask = { 2791 .description = "l3_hdr_type", 2792 .field_bit_size = 4, 2793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2794 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2795 .field_opr1 = { 2796 0xff} 2797 }, 2798 .field_info_spec = { 2799 .description = "l3_hdr_type", 2800 .field_bit_size = 4, 2801 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2802 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2803 } 2804 }, 2805 { 2806 .field_info_mask = { 2807 .description = "l3_hdr_error", 2808 .field_bit_size = 1, 2809 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2810 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2811 .field_opr1 = { 2812 0xff} 2813 }, 2814 .field_info_spec = { 2815 .description = "l3_hdr_error", 2816 .field_bit_size = 1, 2817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2818 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2819 } 2820 }, 2821 { 2822 .field_info_mask = { 2823 .description = "l3_hdr_valid", 2824 .field_bit_size = 1, 2825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2826 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2827 .field_opr1 = { 2828 0xff} 2829 }, 2830 .field_info_spec = { 2831 .description = "l3_hdr_valid", 2832 .field_bit_size = 1, 2833 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2834 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2835 .field_opr1 = { 2836 ULP_WP_SYM_L3_HDR_VALID_YES} 2837 } 2838 }, 2839 { 2840 .field_info_mask = { 2841 .description = "l2_two_vtags", 2842 .field_bit_size = 1, 2843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2844 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2845 .field_opr1 = { 2846 0xff} 2847 }, 2848 .field_info_spec = { 2849 .description = "l2_two_vtags", 2850 .field_bit_size = 1, 2851 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2852 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2853 } 2854 }, 2855 { 2856 .field_info_mask = { 2857 .description = "l2_vtag_present", 2858 .field_bit_size = 1, 2859 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2860 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2861 .field_opr1 = { 2862 0xff} 2863 }, 2864 .field_info_spec = { 2865 .description = "l2_vtag_present", 2866 .field_bit_size = 1, 2867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2868 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 2869 .field_opr1 = { 2870 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 2871 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 2872 } 2873 }, 2874 { 2875 .field_info_mask = { 2876 .description = "l2_uc_mc_bc", 2877 .field_bit_size = 2, 2878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2879 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2880 .field_opr1 = { 2881 0xff} 2882 }, 2883 .field_info_spec = { 2884 .description = "l2_uc_mc_bc", 2885 .field_bit_size = 2, 2886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2887 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2888 } 2889 }, 2890 { 2891 .field_info_mask = { 2892 .description = "l2_hdr_type", 2893 .field_bit_size = 2, 2894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2895 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2896 .field_opr1 = { 2897 0xff} 2898 }, 2899 .field_info_spec = { 2900 .description = "l2_hdr_type", 2901 .field_bit_size = 2, 2902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2903 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2904 } 2905 }, 2906 { 2907 .field_info_mask = { 2908 .description = "l2_hdr_error", 2909 .field_bit_size = 1, 2910 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2911 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2912 .field_opr1 = { 2913 0xff} 2914 }, 2915 .field_info_spec = { 2916 .description = "l2_hdr_error", 2917 .field_bit_size = 1, 2918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2920 } 2921 }, 2922 { 2923 .field_info_mask = { 2924 .description = "l2_hdr_valid", 2925 .field_bit_size = 1, 2926 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2927 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2928 .field_opr1 = { 2929 0xff} 2930 }, 2931 .field_info_spec = { 2932 .description = "l2_hdr_valid", 2933 .field_bit_size = 1, 2934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2935 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 2936 .field_opr1 = { 2937 ULP_WP_SYM_L2_HDR_VALID_YES} 2938 } 2939 }, 2940 { 2941 .field_info_mask = { 2942 .description = "tun_hdr_flags", 2943 .field_bit_size = 3, 2944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2945 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2946 }, 2947 .field_info_spec = { 2948 .description = "tun_hdr_flags", 2949 .field_bit_size = 3, 2950 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2951 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2952 } 2953 }, 2954 { 2955 .field_info_mask = { 2956 .description = "tun_hdr_type", 2957 .field_bit_size = 4, 2958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2959 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2960 }, 2961 .field_info_spec = { 2962 .description = "tun_hdr_type", 2963 .field_bit_size = 4, 2964 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2965 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2966 } 2967 }, 2968 { 2969 .field_info_mask = { 2970 .description = "tun_hdr_err", 2971 .field_bit_size = 1, 2972 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2973 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2974 }, 2975 .field_info_spec = { 2976 .description = "tun_hdr_err", 2977 .field_bit_size = 1, 2978 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2979 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2980 } 2981 }, 2982 { 2983 .field_info_mask = { 2984 .description = "tun_hdr_valid", 2985 .field_bit_size = 1, 2986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2987 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 2988 .field_opr1 = { 2989 0xff} 2990 }, 2991 .field_info_spec = { 2992 .description = "tun_hdr_valid", 2993 .field_bit_size = 1, 2994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 2995 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 2996 } 2997 }, 2998 { 2999 .field_info_mask = { 3000 .description = "tl4_hdr_is_udp_tcp", 3001 .field_bit_size = 1, 3002 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3003 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3004 }, 3005 .field_info_spec = { 3006 .description = "tl4_hdr_is_udp_tcp", 3007 .field_bit_size = 1, 3008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3010 } 3011 }, 3012 { 3013 .field_info_mask = { 3014 .description = "tl4_hdr_type", 3015 .field_bit_size = 4, 3016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3017 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3018 }, 3019 .field_info_spec = { 3020 .description = "tl4_hdr_type", 3021 .field_bit_size = 4, 3022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3023 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3024 } 3025 }, 3026 { 3027 .field_info_mask = { 3028 .description = "tl4_hdr_error", 3029 .field_bit_size = 1, 3030 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3031 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3032 }, 3033 .field_info_spec = { 3034 .description = "tl4_hdr_error", 3035 .field_bit_size = 1, 3036 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3037 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3038 } 3039 }, 3040 { 3041 .field_info_mask = { 3042 .description = "tl4_hdr_valid", 3043 .field_bit_size = 1, 3044 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3045 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3046 .field_opr1 = { 3047 0xff} 3048 }, 3049 .field_info_spec = { 3050 .description = "tl4_hdr_valid", 3051 .field_bit_size = 1, 3052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3053 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3054 } 3055 }, 3056 { 3057 .field_info_mask = { 3058 .description = "tl3_ipv6_cmp_dst", 3059 .field_bit_size = 1, 3060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3062 }, 3063 .field_info_spec = { 3064 .description = "tl3_ipv6_cmp_dst", 3065 .field_bit_size = 1, 3066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3068 } 3069 }, 3070 { 3071 .field_info_mask = { 3072 .description = "tl3_ipv6_cmp_src", 3073 .field_bit_size = 1, 3074 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3075 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3076 }, 3077 .field_info_spec = { 3078 .description = "tl3_ipv6_cmp_src", 3079 .field_bit_size = 1, 3080 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3081 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3082 } 3083 }, 3084 { 3085 .field_info_mask = { 3086 .description = "tl3_hdr_isIP", 3087 .field_bit_size = 1, 3088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3089 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3090 }, 3091 .field_info_spec = { 3092 .description = "tl3_hdr_isIP", 3093 .field_bit_size = 1, 3094 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3095 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3096 } 3097 }, 3098 { 3099 .field_info_mask = { 3100 .description = "tl3_hdr_type", 3101 .field_bit_size = 4, 3102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3104 }, 3105 .field_info_spec = { 3106 .description = "tl3_hdr_type", 3107 .field_bit_size = 4, 3108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3110 } 3111 }, 3112 { 3113 .field_info_mask = { 3114 .description = "tl3_hdr_error", 3115 .field_bit_size = 1, 3116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3117 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3118 }, 3119 .field_info_spec = { 3120 .description = "tl3_hdr_error", 3121 .field_bit_size = 1, 3122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3123 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3124 } 3125 }, 3126 { 3127 .field_info_mask = { 3128 .description = "tl3_hdr_valid", 3129 .field_bit_size = 1, 3130 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3131 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3132 .field_opr1 = { 3133 0xff} 3134 }, 3135 .field_info_spec = { 3136 .description = "tl3_hdr_valid", 3137 .field_bit_size = 1, 3138 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3139 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3140 } 3141 }, 3142 { 3143 .field_info_mask = { 3144 .description = "tl2_two_vtags", 3145 .field_bit_size = 1, 3146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3147 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3148 }, 3149 .field_info_spec = { 3150 .description = "tl2_two_vtags", 3151 .field_bit_size = 1, 3152 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3153 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3154 } 3155 }, 3156 { 3157 .field_info_mask = { 3158 .description = "tl2_vtag_present", 3159 .field_bit_size = 1, 3160 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3161 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3162 }, 3163 .field_info_spec = { 3164 .description = "tl2_vtag_present", 3165 .field_bit_size = 1, 3166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3167 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3168 } 3169 }, 3170 { 3171 .field_info_mask = { 3172 .description = "tl2_uc_mc_bc", 3173 .field_bit_size = 2, 3174 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3175 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3176 }, 3177 .field_info_spec = { 3178 .description = "tl2_uc_mc_bc", 3179 .field_bit_size = 2, 3180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3181 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3182 } 3183 }, 3184 { 3185 .field_info_mask = { 3186 .description = "tl2_hdr_type", 3187 .field_bit_size = 2, 3188 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3189 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3190 }, 3191 .field_info_spec = { 3192 .description = "tl2_hdr_type", 3193 .field_bit_size = 2, 3194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3196 } 3197 }, 3198 { 3199 .field_info_mask = { 3200 .description = "tl2_hdr_valid", 3201 .field_bit_size = 1, 3202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3203 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3204 .field_opr1 = { 3205 0xff} 3206 }, 3207 .field_info_spec = { 3208 .description = "tl2_hdr_valid", 3209 .field_bit_size = 1, 3210 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3211 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3212 } 3213 }, 3214 { 3215 .field_info_mask = { 3216 .description = "hrec_next", 3217 .field_bit_size = 1, 3218 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3219 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3220 }, 3221 .field_info_spec = { 3222 .description = "hrec_next", 3223 .field_bit_size = 1, 3224 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3225 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3226 } 3227 }, 3228 { 3229 .field_info_mask = { 3230 .description = "reserved", 3231 .field_bit_size = 9, 3232 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3233 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3234 }, 3235 .field_info_spec = { 3236 .description = "reserved", 3237 .field_bit_size = 9, 3238 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3239 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3240 } 3241 }, 3242 { 3243 .field_info_mask = { 3244 .description = "prof_func_id", 3245 .field_bit_size = 7, 3246 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3247 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3248 .field_opr1 = { 3249 0xff} 3250 }, 3251 .field_info_spec = { 3252 .description = "prof_func_id", 3253 .field_bit_size = 7, 3254 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 3255 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 3256 .field_opr1 = { 3257 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 3258 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, 3259 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 3260 .field_opr2 = { 3261 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 3262 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 3263 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 3264 .field_opr3 = { 3265 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 3266 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 3267 } 3268 }, 3269 { 3270 .field_info_mask = { 3271 .description = "agg_error", 3272 .field_bit_size = 1, 3273 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3274 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3275 }, 3276 .field_info_spec = { 3277 .description = "agg_error", 3278 .field_bit_size = 1, 3279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3280 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3281 } 3282 }, 3283 { 3284 .field_info_mask = { 3285 .description = "recycle_cnt", 3286 .field_bit_size = 2, 3287 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3288 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3289 }, 3290 .field_info_spec = { 3291 .description = "recycle_cnt", 3292 .field_bit_size = 2, 3293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3294 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3295 } 3296 }, 3297 { 3298 .field_info_mask = { 3299 .description = "pkt_type_0", 3300 .field_bit_size = 2, 3301 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3302 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3303 }, 3304 .field_info_spec = { 3305 .description = "pkt_type_0", 3306 .field_bit_size = 2, 3307 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3308 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3309 } 3310 }, 3311 { 3312 .field_info_mask = { 3313 .description = "pkt_type_1", 3314 .field_bit_size = 2, 3315 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3316 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3317 }, 3318 .field_info_spec = { 3319 .description = "pkt_type_1", 3320 .field_bit_size = 2, 3321 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3322 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3323 } 3324 }, 3325 { 3326 .field_info_mask = { 3327 .description = "valid", 3328 .field_bit_size = 1, 3329 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3330 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 3331 .field_opr1 = { 3332 1} 3333 }, 3334 .field_info_spec = { 3335 .description = "valid", 3336 .field_bit_size = 1, 3337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3338 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 3339 .field_opr1 = { 3340 1} 3341 } 3342 }, 3343 /* class_tid: 1, , table: profile_tcam.ipv6 */ 3344 { 3345 .field_info_mask = { 3346 .description = "l4_hdr_is_udp_tcp", 3347 .field_bit_size = 1, 3348 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3349 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3350 }, 3351 .field_info_spec = { 3352 .description = "l4_hdr_is_udp_tcp", 3353 .field_bit_size = 1, 3354 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3355 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3356 } 3357 }, 3358 { 3359 .field_info_mask = { 3360 .description = "l4_hdr_type", 3361 .field_bit_size = 4, 3362 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 3363 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 3364 .field_opr1 = { 3365 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 3366 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 3367 .field_src2 = BNXT_ULP_FIELD_SRC_ONES, 3368 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 3369 }, 3370 .field_info_spec = { 3371 .description = "l4_hdr_type", 3372 .field_bit_size = 4, 3373 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 3374 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 3375 .field_opr1 = { 3376 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, 3377 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, 3378 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, 3379 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, 3380 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, 3381 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, 3382 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, 3383 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, 3384 .field_src2 = BNXT_ULP_FIELD_SRC_CONST, 3385 .field_opr2 = { 3386 ULP_WP_SYM_L4_HDR_TYPE_TCP}, 3387 .field_src3 = BNXT_ULP_FIELD_SRC_CONST, 3388 .field_opr3 = { 3389 ULP_WP_SYM_L4_HDR_TYPE_UDP} 3390 } 3391 }, 3392 { 3393 .field_info_mask = { 3394 .description = "l4_hdr_error", 3395 .field_bit_size = 1, 3396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3397 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 3398 .field_opr1 = { 3399 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 3400 BNXT_ULP_CF_IDX_O_L4 & 0xff} 3401 }, 3402 .field_info_spec = { 3403 .description = "l4_hdr_error", 3404 .field_bit_size = 1, 3405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3406 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3407 } 3408 }, 3409 { 3410 .field_info_mask = { 3411 .description = "l4_hdr_valid", 3412 .field_bit_size = 1, 3413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3414 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 3415 .field_opr1 = { 3416 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 3417 BNXT_ULP_CF_IDX_O_L4 & 0xff} 3418 }, 3419 .field_info_spec = { 3420 .description = "l4_hdr_valid", 3421 .field_bit_size = 1, 3422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3423 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 3424 .field_opr1 = { 3425 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 3426 BNXT_ULP_CF_IDX_O_L4 & 0xff} 3427 } 3428 }, 3429 { 3430 .field_info_mask = { 3431 .description = "l3_ipv6_cmp_dst", 3432 .field_bit_size = 1, 3433 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3434 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3435 }, 3436 .field_info_spec = { 3437 .description = "l3_ipv6_cmp_dst", 3438 .field_bit_size = 1, 3439 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3440 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3441 } 3442 }, 3443 { 3444 .field_info_mask = { 3445 .description = "l3_ipv6_cmp_src", 3446 .field_bit_size = 1, 3447 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3448 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3449 }, 3450 .field_info_spec = { 3451 .description = "l3_ipv6_cmp_src", 3452 .field_bit_size = 1, 3453 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3454 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3455 } 3456 }, 3457 { 3458 .field_info_mask = { 3459 .description = "l3_hdr_isIP", 3460 .field_bit_size = 1, 3461 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3462 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3463 }, 3464 .field_info_spec = { 3465 .description = "l3_hdr_isIP", 3466 .field_bit_size = 1, 3467 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3468 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3469 } 3470 }, 3471 { 3472 .field_info_mask = { 3473 .description = "l3_hdr_type", 3474 .field_bit_size = 4, 3475 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3476 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3477 .field_opr1 = { 3478 0xff} 3479 }, 3480 .field_info_spec = { 3481 .description = "l3_hdr_type", 3482 .field_bit_size = 4, 3483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3484 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 3485 .field_opr1 = { 3486 ULP_WP_SYM_L3_HDR_TYPE_IPV6} 3487 } 3488 }, 3489 { 3490 .field_info_mask = { 3491 .description = "l3_hdr_error", 3492 .field_bit_size = 1, 3493 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3494 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3495 .field_opr1 = { 3496 0xff} 3497 }, 3498 .field_info_spec = { 3499 .description = "l3_hdr_error", 3500 .field_bit_size = 1, 3501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3502 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3503 } 3504 }, 3505 { 3506 .field_info_mask = { 3507 .description = "l3_hdr_valid", 3508 .field_bit_size = 1, 3509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3510 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3511 .field_opr1 = { 3512 0xff} 3513 }, 3514 .field_info_spec = { 3515 .description = "l3_hdr_valid", 3516 .field_bit_size = 1, 3517 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3518 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 3519 .field_opr1 = { 3520 ULP_WP_SYM_L3_HDR_VALID_YES} 3521 } 3522 }, 3523 { 3524 .field_info_mask = { 3525 .description = "l2_two_vtags", 3526 .field_bit_size = 1, 3527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3528 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3529 .field_opr1 = { 3530 0xff} 3531 }, 3532 .field_info_spec = { 3533 .description = "l2_two_vtags", 3534 .field_bit_size = 1, 3535 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3536 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3537 } 3538 }, 3539 { 3540 .field_info_mask = { 3541 .description = "l2_vtag_present", 3542 .field_bit_size = 1, 3543 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3544 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3545 .field_opr1 = { 3546 0xff} 3547 }, 3548 .field_info_spec = { 3549 .description = "l2_vtag_present", 3550 .field_bit_size = 1, 3551 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3552 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 3553 .field_opr1 = { 3554 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 3555 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 3556 } 3557 }, 3558 { 3559 .field_info_mask = { 3560 .description = "l2_uc_mc_bc", 3561 .field_bit_size = 2, 3562 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3563 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3564 .field_opr1 = { 3565 0xff} 3566 }, 3567 .field_info_spec = { 3568 .description = "l2_uc_mc_bc", 3569 .field_bit_size = 2, 3570 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3571 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3572 } 3573 }, 3574 { 3575 .field_info_mask = { 3576 .description = "l2_hdr_type", 3577 .field_bit_size = 2, 3578 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3579 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3580 .field_opr1 = { 3581 0xff} 3582 }, 3583 .field_info_spec = { 3584 .description = "l2_hdr_type", 3585 .field_bit_size = 2, 3586 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3587 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3588 } 3589 }, 3590 { 3591 .field_info_mask = { 3592 .description = "l2_hdr_error", 3593 .field_bit_size = 1, 3594 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3595 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3596 .field_opr1 = { 3597 0xff} 3598 }, 3599 .field_info_spec = { 3600 .description = "l2_hdr_error", 3601 .field_bit_size = 1, 3602 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3603 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3604 } 3605 }, 3606 { 3607 .field_info_mask = { 3608 .description = "l2_hdr_valid", 3609 .field_bit_size = 1, 3610 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3611 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3612 .field_opr1 = { 3613 0xff} 3614 }, 3615 .field_info_spec = { 3616 .description = "l2_hdr_valid", 3617 .field_bit_size = 1, 3618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3619 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 3620 .field_opr1 = { 3621 ULP_WP_SYM_L2_HDR_VALID_YES} 3622 } 3623 }, 3624 { 3625 .field_info_mask = { 3626 .description = "tun_hdr_flags", 3627 .field_bit_size = 3, 3628 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3629 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3630 }, 3631 .field_info_spec = { 3632 .description = "tun_hdr_flags", 3633 .field_bit_size = 3, 3634 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3635 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3636 } 3637 }, 3638 { 3639 .field_info_mask = { 3640 .description = "tun_hdr_type", 3641 .field_bit_size = 4, 3642 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3643 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3644 }, 3645 .field_info_spec = { 3646 .description = "tun_hdr_type", 3647 .field_bit_size = 4, 3648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3649 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3650 } 3651 }, 3652 { 3653 .field_info_mask = { 3654 .description = "tun_hdr_err", 3655 .field_bit_size = 1, 3656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3658 }, 3659 .field_info_spec = { 3660 .description = "tun_hdr_err", 3661 .field_bit_size = 1, 3662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3664 } 3665 }, 3666 { 3667 .field_info_mask = { 3668 .description = "tun_hdr_valid", 3669 .field_bit_size = 1, 3670 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3671 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3672 .field_opr1 = { 3673 0xff} 3674 }, 3675 .field_info_spec = { 3676 .description = "tun_hdr_valid", 3677 .field_bit_size = 1, 3678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3679 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3680 } 3681 }, 3682 { 3683 .field_info_mask = { 3684 .description = "tl4_hdr_is_udp_tcp", 3685 .field_bit_size = 1, 3686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3687 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3688 }, 3689 .field_info_spec = { 3690 .description = "tl4_hdr_is_udp_tcp", 3691 .field_bit_size = 1, 3692 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3693 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3694 } 3695 }, 3696 { 3697 .field_info_mask = { 3698 .description = "tl4_hdr_type", 3699 .field_bit_size = 4, 3700 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3701 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3702 }, 3703 .field_info_spec = { 3704 .description = "tl4_hdr_type", 3705 .field_bit_size = 4, 3706 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3707 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3708 } 3709 }, 3710 { 3711 .field_info_mask = { 3712 .description = "tl4_hdr_error", 3713 .field_bit_size = 1, 3714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3715 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3716 }, 3717 .field_info_spec = { 3718 .description = "tl4_hdr_error", 3719 .field_bit_size = 1, 3720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3721 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3722 } 3723 }, 3724 { 3725 .field_info_mask = { 3726 .description = "tl4_hdr_valid", 3727 .field_bit_size = 1, 3728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3729 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3730 .field_opr1 = { 3731 0xff} 3732 }, 3733 .field_info_spec = { 3734 .description = "tl4_hdr_valid", 3735 .field_bit_size = 1, 3736 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3737 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3738 } 3739 }, 3740 { 3741 .field_info_mask = { 3742 .description = "tl3_ipv6_cmp_dst", 3743 .field_bit_size = 1, 3744 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3745 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3746 }, 3747 .field_info_spec = { 3748 .description = "tl3_ipv6_cmp_dst", 3749 .field_bit_size = 1, 3750 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3751 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3752 } 3753 }, 3754 { 3755 .field_info_mask = { 3756 .description = "tl3_ipv6_cmp_src", 3757 .field_bit_size = 1, 3758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3759 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3760 }, 3761 .field_info_spec = { 3762 .description = "tl3_ipv6_cmp_src", 3763 .field_bit_size = 1, 3764 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3765 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3766 } 3767 }, 3768 { 3769 .field_info_mask = { 3770 .description = "tl3_hdr_isIP", 3771 .field_bit_size = 1, 3772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3773 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3774 }, 3775 .field_info_spec = { 3776 .description = "tl3_hdr_isIP", 3777 .field_bit_size = 1, 3778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3779 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3780 } 3781 }, 3782 { 3783 .field_info_mask = { 3784 .description = "tl3_hdr_type", 3785 .field_bit_size = 4, 3786 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3787 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3788 }, 3789 .field_info_spec = { 3790 .description = "tl3_hdr_type", 3791 .field_bit_size = 4, 3792 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3793 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3794 } 3795 }, 3796 { 3797 .field_info_mask = { 3798 .description = "tl3_hdr_error", 3799 .field_bit_size = 1, 3800 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3801 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3802 }, 3803 .field_info_spec = { 3804 .description = "tl3_hdr_error", 3805 .field_bit_size = 1, 3806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3807 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3808 } 3809 }, 3810 { 3811 .field_info_mask = { 3812 .description = "tl3_hdr_valid", 3813 .field_bit_size = 1, 3814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3815 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3816 .field_opr1 = { 3817 0xff} 3818 }, 3819 .field_info_spec = { 3820 .description = "tl3_hdr_valid", 3821 .field_bit_size = 1, 3822 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3823 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3824 } 3825 }, 3826 { 3827 .field_info_mask = { 3828 .description = "tl2_two_vtags", 3829 .field_bit_size = 1, 3830 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3831 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3832 }, 3833 .field_info_spec = { 3834 .description = "tl2_two_vtags", 3835 .field_bit_size = 1, 3836 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3837 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3838 } 3839 }, 3840 { 3841 .field_info_mask = { 3842 .description = "tl2_vtag_present", 3843 .field_bit_size = 1, 3844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3845 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3846 }, 3847 .field_info_spec = { 3848 .description = "tl2_vtag_present", 3849 .field_bit_size = 1, 3850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3852 } 3853 }, 3854 { 3855 .field_info_mask = { 3856 .description = "tl2_uc_mc_bc", 3857 .field_bit_size = 2, 3858 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3859 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3860 }, 3861 .field_info_spec = { 3862 .description = "tl2_uc_mc_bc", 3863 .field_bit_size = 2, 3864 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3865 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3866 } 3867 }, 3868 { 3869 .field_info_mask = { 3870 .description = "tl2_hdr_type", 3871 .field_bit_size = 2, 3872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3873 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3874 }, 3875 .field_info_spec = { 3876 .description = "tl2_hdr_type", 3877 .field_bit_size = 2, 3878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3879 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3880 } 3881 }, 3882 { 3883 .field_info_mask = { 3884 .description = "tl2_hdr_valid", 3885 .field_bit_size = 1, 3886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3887 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3888 .field_opr1 = { 3889 0xff} 3890 }, 3891 .field_info_spec = { 3892 .description = "tl2_hdr_valid", 3893 .field_bit_size = 1, 3894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3895 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3896 } 3897 }, 3898 { 3899 .field_info_mask = { 3900 .description = "hrec_next", 3901 .field_bit_size = 1, 3902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3903 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3904 }, 3905 .field_info_spec = { 3906 .description = "hrec_next", 3907 .field_bit_size = 1, 3908 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3909 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3910 } 3911 }, 3912 { 3913 .field_info_mask = { 3914 .description = "reserved", 3915 .field_bit_size = 9, 3916 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3917 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3918 }, 3919 .field_info_spec = { 3920 .description = "reserved", 3921 .field_bit_size = 9, 3922 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3923 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3924 } 3925 }, 3926 { 3927 .field_info_mask = { 3928 .description = "prof_func_id", 3929 .field_bit_size = 7, 3930 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3931 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 3932 .field_opr1 = { 3933 0xff} 3934 }, 3935 .field_info_spec = { 3936 .description = "prof_func_id", 3937 .field_bit_size = 7, 3938 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 3939 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 3940 .field_opr1 = { 3941 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 3942 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, 3943 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 3944 .field_opr2 = { 3945 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 3946 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 3947 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 3948 .field_opr3 = { 3949 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 3950 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 3951 } 3952 }, 3953 { 3954 .field_info_mask = { 3955 .description = "agg_error", 3956 .field_bit_size = 1, 3957 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3958 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3959 }, 3960 .field_info_spec = { 3961 .description = "agg_error", 3962 .field_bit_size = 1, 3963 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3964 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3965 } 3966 }, 3967 { 3968 .field_info_mask = { 3969 .description = "recycle_cnt", 3970 .field_bit_size = 2, 3971 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3972 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3973 }, 3974 .field_info_spec = { 3975 .description = "recycle_cnt", 3976 .field_bit_size = 2, 3977 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3978 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3979 } 3980 }, 3981 { 3982 .field_info_mask = { 3983 .description = "pkt_type_0", 3984 .field_bit_size = 2, 3985 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3986 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3987 }, 3988 .field_info_spec = { 3989 .description = "pkt_type_0", 3990 .field_bit_size = 2, 3991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 3992 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 3993 } 3994 }, 3995 { 3996 .field_info_mask = { 3997 .description = "pkt_type_1", 3998 .field_bit_size = 2, 3999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4000 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4001 }, 4002 .field_info_spec = { 4003 .description = "pkt_type_1", 4004 .field_bit_size = 2, 4005 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4006 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4007 } 4008 }, 4009 { 4010 .field_info_mask = { 4011 .description = "valid", 4012 .field_bit_size = 1, 4013 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4014 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4015 .field_opr1 = { 4016 1} 4017 }, 4018 .field_info_spec = { 4019 .description = "valid", 4020 .field_bit_size = 1, 4021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4022 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4023 .field_opr1 = { 4024 1} 4025 } 4026 }, 4027 /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */ 4028 { 4029 .field_info_mask = { 4030 .description = "l4_hdr_is_udp_tcp", 4031 .field_bit_size = 1, 4032 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4033 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4034 }, 4035 .field_info_spec = { 4036 .description = "l4_hdr_is_udp_tcp", 4037 .field_bit_size = 1, 4038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4040 } 4041 }, 4042 { 4043 .field_info_mask = { 4044 .description = "l4_hdr_type", 4045 .field_bit_size = 4, 4046 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4047 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4048 .field_opr1 = { 4049 0xff} 4050 }, 4051 .field_info_spec = { 4052 .description = "l4_hdr_type", 4053 .field_bit_size = 4, 4054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4055 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4056 .field_opr1 = { 4057 ULP_WP_SYM_L4_HDR_TYPE_UDP} 4058 } 4059 }, 4060 { 4061 .field_info_mask = { 4062 .description = "l4_hdr_error", 4063 .field_bit_size = 1, 4064 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4065 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4066 .field_opr1 = { 4067 0xff} 4068 }, 4069 .field_info_spec = { 4070 .description = "l4_hdr_error", 4071 .field_bit_size = 1, 4072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4074 } 4075 }, 4076 { 4077 .field_info_mask = { 4078 .description = "l4_hdr_valid", 4079 .field_bit_size = 1, 4080 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4081 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4082 }, 4083 .field_info_spec = { 4084 .description = "l4_hdr_valid", 4085 .field_bit_size = 1, 4086 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4087 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4088 } 4089 }, 4090 { 4091 .field_info_mask = { 4092 .description = "l3_ipv6_cmp_dst", 4093 .field_bit_size = 1, 4094 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4095 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4096 }, 4097 .field_info_spec = { 4098 .description = "l3_ipv6_cmp_dst", 4099 .field_bit_size = 1, 4100 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4101 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4102 } 4103 }, 4104 { 4105 .field_info_mask = { 4106 .description = "l3_ipv6_cmp_src", 4107 .field_bit_size = 1, 4108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4110 }, 4111 .field_info_spec = { 4112 .description = "l3_ipv6_cmp_src", 4113 .field_bit_size = 1, 4114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4115 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4116 } 4117 }, 4118 { 4119 .field_info_mask = { 4120 .description = "l3_hdr_isIP", 4121 .field_bit_size = 1, 4122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4123 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4124 }, 4125 .field_info_spec = { 4126 .description = "l3_hdr_isIP", 4127 .field_bit_size = 1, 4128 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4129 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4130 } 4131 }, 4132 { 4133 .field_info_mask = { 4134 .description = "l3_hdr_type", 4135 .field_bit_size = 4, 4136 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4137 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4138 }, 4139 .field_info_spec = { 4140 .description = "l3_hdr_type", 4141 .field_bit_size = 4, 4142 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4143 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4144 } 4145 }, 4146 { 4147 .field_info_mask = { 4148 .description = "l3_hdr_error", 4149 .field_bit_size = 1, 4150 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4151 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4152 .field_opr1 = { 4153 0xff} 4154 }, 4155 .field_info_spec = { 4156 .description = "l3_hdr_error", 4157 .field_bit_size = 1, 4158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4160 } 4161 }, 4162 { 4163 .field_info_mask = { 4164 .description = "l3_hdr_valid", 4165 .field_bit_size = 1, 4166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4167 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4168 }, 4169 .field_info_spec = { 4170 .description = "l3_hdr_valid", 4171 .field_bit_size = 1, 4172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4173 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4174 } 4175 }, 4176 { 4177 .field_info_mask = { 4178 .description = "l2_two_vtags", 4179 .field_bit_size = 1, 4180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4181 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4182 }, 4183 .field_info_spec = { 4184 .description = "l2_two_vtags", 4185 .field_bit_size = 1, 4186 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4187 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4188 } 4189 }, 4190 { 4191 .field_info_mask = { 4192 .description = "l2_vtag_present", 4193 .field_bit_size = 1, 4194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4196 }, 4197 .field_info_spec = { 4198 .description = "l2_vtag_present", 4199 .field_bit_size = 1, 4200 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4201 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4202 } 4203 }, 4204 { 4205 .field_info_mask = { 4206 .description = "l2_uc_mc_bc", 4207 .field_bit_size = 2, 4208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4210 }, 4211 .field_info_spec = { 4212 .description = "l2_uc_mc_bc", 4213 .field_bit_size = 2, 4214 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4215 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4216 } 4217 }, 4218 { 4219 .field_info_mask = { 4220 .description = "l2_hdr_type", 4221 .field_bit_size = 2, 4222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4224 }, 4225 .field_info_spec = { 4226 .description = "l2_hdr_type", 4227 .field_bit_size = 2, 4228 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4229 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4230 } 4231 }, 4232 { 4233 .field_info_mask = { 4234 .description = "l2_hdr_error", 4235 .field_bit_size = 1, 4236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4238 }, 4239 .field_info_spec = { 4240 .description = "l2_hdr_error", 4241 .field_bit_size = 1, 4242 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4243 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4244 } 4245 }, 4246 { 4247 .field_info_mask = { 4248 .description = "l2_hdr_valid", 4249 .field_bit_size = 1, 4250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4251 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4252 }, 4253 .field_info_spec = { 4254 .description = "l2_hdr_valid", 4255 .field_bit_size = 1, 4256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4257 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4258 } 4259 }, 4260 { 4261 .field_info_mask = { 4262 .description = "tun_hdr_flags", 4263 .field_bit_size = 3, 4264 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4265 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4266 }, 4267 .field_info_spec = { 4268 .description = "tun_hdr_flags", 4269 .field_bit_size = 3, 4270 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4271 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4272 } 4273 }, 4274 { 4275 .field_info_mask = { 4276 .description = "tun_hdr_type", 4277 .field_bit_size = 4, 4278 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4279 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4280 .field_opr1 = { 4281 0xff} 4282 }, 4283 .field_info_spec = { 4284 .description = "tun_hdr_type", 4285 .field_bit_size = 4, 4286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4287 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4288 } 4289 }, 4290 { 4291 .field_info_mask = { 4292 .description = "tun_hdr_err", 4293 .field_bit_size = 1, 4294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4295 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4296 }, 4297 .field_info_spec = { 4298 .description = "tun_hdr_err", 4299 .field_bit_size = 1, 4300 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4301 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4302 } 4303 }, 4304 { 4305 .field_info_mask = { 4306 .description = "tun_hdr_valid", 4307 .field_bit_size = 1, 4308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4309 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4310 .field_opr1 = { 4311 0xff} 4312 }, 4313 .field_info_spec = { 4314 .description = "tun_hdr_valid", 4315 .field_bit_size = 1, 4316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4317 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4318 .field_opr1 = { 4319 ULP_WP_SYM_TUN_HDR_VALID_YES} 4320 } 4321 }, 4322 { 4323 .field_info_mask = { 4324 .description = "tl4_hdr_is_udp_tcp", 4325 .field_bit_size = 1, 4326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4327 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4328 }, 4329 .field_info_spec = { 4330 .description = "tl4_hdr_is_udp_tcp", 4331 .field_bit_size = 1, 4332 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4333 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4334 } 4335 }, 4336 { 4337 .field_info_mask = { 4338 .description = "tl4_hdr_type", 4339 .field_bit_size = 4, 4340 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4341 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4342 }, 4343 .field_info_spec = { 4344 .description = "tl4_hdr_type", 4345 .field_bit_size = 4, 4346 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4347 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4348 } 4349 }, 4350 { 4351 .field_info_mask = { 4352 .description = "tl4_hdr_error", 4353 .field_bit_size = 1, 4354 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4355 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4356 }, 4357 .field_info_spec = { 4358 .description = "tl4_hdr_error", 4359 .field_bit_size = 1, 4360 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4361 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4362 } 4363 }, 4364 { 4365 .field_info_mask = { 4366 .description = "tl4_hdr_valid", 4367 .field_bit_size = 1, 4368 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4369 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4370 .field_opr1 = { 4371 0xff} 4372 }, 4373 .field_info_spec = { 4374 .description = "tl4_hdr_valid", 4375 .field_bit_size = 1, 4376 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4377 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4378 .field_opr1 = { 4379 ULP_WP_SYM_TL4_HDR_VALID_YES} 4380 } 4381 }, 4382 { 4383 .field_info_mask = { 4384 .description = "tl3_ipv6_cmp_dst", 4385 .field_bit_size = 1, 4386 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4387 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4388 }, 4389 .field_info_spec = { 4390 .description = "tl3_ipv6_cmp_dst", 4391 .field_bit_size = 1, 4392 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4393 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4394 } 4395 }, 4396 { 4397 .field_info_mask = { 4398 .description = "tl3_ipv6_cmp_src", 4399 .field_bit_size = 1, 4400 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4401 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4402 }, 4403 .field_info_spec = { 4404 .description = "tl3_ipv6_cmp_src", 4405 .field_bit_size = 1, 4406 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4407 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4408 } 4409 }, 4410 { 4411 .field_info_mask = { 4412 .description = "tl3_hdr_isIP", 4413 .field_bit_size = 1, 4414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4415 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4416 }, 4417 .field_info_spec = { 4418 .description = "tl3_hdr_isIP", 4419 .field_bit_size = 1, 4420 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4421 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4422 } 4423 }, 4424 { 4425 .field_info_mask = { 4426 .description = "tl3_hdr_type", 4427 .field_bit_size = 4, 4428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4429 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4430 .field_opr1 = { 4431 0xff} 4432 }, 4433 .field_info_spec = { 4434 .description = "tl3_hdr_type", 4435 .field_bit_size = 4, 4436 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4437 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4438 } 4439 }, 4440 { 4441 .field_info_mask = { 4442 .description = "tl3_hdr_error", 4443 .field_bit_size = 1, 4444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4445 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4446 }, 4447 .field_info_spec = { 4448 .description = "tl3_hdr_error", 4449 .field_bit_size = 1, 4450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4452 } 4453 }, 4454 { 4455 .field_info_mask = { 4456 .description = "tl3_hdr_valid", 4457 .field_bit_size = 1, 4458 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4459 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4460 .field_opr1 = { 4461 0xff} 4462 }, 4463 .field_info_spec = { 4464 .description = "tl3_hdr_valid", 4465 .field_bit_size = 1, 4466 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4467 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4468 .field_opr1 = { 4469 ULP_WP_SYM_TL3_HDR_VALID_YES} 4470 } 4471 }, 4472 { 4473 .field_info_mask = { 4474 .description = "tl2_two_vtags", 4475 .field_bit_size = 1, 4476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4478 }, 4479 .field_info_spec = { 4480 .description = "tl2_two_vtags", 4481 .field_bit_size = 1, 4482 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4483 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4484 } 4485 }, 4486 { 4487 .field_info_mask = { 4488 .description = "tl2_vtag_present", 4489 .field_bit_size = 1, 4490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4491 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4492 }, 4493 .field_info_spec = { 4494 .description = "tl2_vtag_present", 4495 .field_bit_size = 1, 4496 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4497 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4498 } 4499 }, 4500 { 4501 .field_info_mask = { 4502 .description = "tl2_uc_mc_bc", 4503 .field_bit_size = 2, 4504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4505 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4506 .field_opr1 = { 4507 0xff} 4508 }, 4509 .field_info_spec = { 4510 .description = "tl2_uc_mc_bc", 4511 .field_bit_size = 2, 4512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4513 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4514 } 4515 }, 4516 { 4517 .field_info_mask = { 4518 .description = "tl2_hdr_type", 4519 .field_bit_size = 2, 4520 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4521 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4522 }, 4523 .field_info_spec = { 4524 .description = "tl2_hdr_type", 4525 .field_bit_size = 2, 4526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4527 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4528 } 4529 }, 4530 { 4531 .field_info_mask = { 4532 .description = "tl2_hdr_valid", 4533 .field_bit_size = 1, 4534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4535 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4536 .field_opr1 = { 4537 0xff} 4538 }, 4539 .field_info_spec = { 4540 .description = "tl2_hdr_valid", 4541 .field_bit_size = 1, 4542 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4543 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4544 .field_opr1 = { 4545 ULP_WP_SYM_TL2_HDR_VALID_YES} 4546 } 4547 }, 4548 { 4549 .field_info_mask = { 4550 .description = "hrec_next", 4551 .field_bit_size = 1, 4552 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4553 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4554 }, 4555 .field_info_spec = { 4556 .description = "hrec_next", 4557 .field_bit_size = 1, 4558 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4559 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4560 } 4561 }, 4562 { 4563 .field_info_mask = { 4564 .description = "reserved", 4565 .field_bit_size = 9, 4566 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4567 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4568 }, 4569 .field_info_spec = { 4570 .description = "reserved", 4571 .field_bit_size = 9, 4572 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4573 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4574 } 4575 }, 4576 { 4577 .field_info_mask = { 4578 .description = "prof_func_id", 4579 .field_bit_size = 7, 4580 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4581 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4582 .field_opr1 = { 4583 0xff} 4584 }, 4585 .field_info_spec = { 4586 .description = "prof_func_id", 4587 .field_bit_size = 7, 4588 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4589 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 4590 .field_opr1 = { 4591 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 4592 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} 4593 } 4594 }, 4595 { 4596 .field_info_mask = { 4597 .description = "agg_error", 4598 .field_bit_size = 1, 4599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4600 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4601 }, 4602 .field_info_spec = { 4603 .description = "agg_error", 4604 .field_bit_size = 1, 4605 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4606 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4607 } 4608 }, 4609 { 4610 .field_info_mask = { 4611 .description = "recycle_cnt", 4612 .field_bit_size = 2, 4613 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4614 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4615 }, 4616 .field_info_spec = { 4617 .description = "recycle_cnt", 4618 .field_bit_size = 2, 4619 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4620 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4621 } 4622 }, 4623 { 4624 .field_info_mask = { 4625 .description = "pkt_type_0", 4626 .field_bit_size = 2, 4627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4628 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4629 }, 4630 .field_info_spec = { 4631 .description = "pkt_type_0", 4632 .field_bit_size = 2, 4633 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4634 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4635 } 4636 }, 4637 { 4638 .field_info_mask = { 4639 .description = "pkt_type_1", 4640 .field_bit_size = 2, 4641 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4642 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4643 }, 4644 .field_info_spec = { 4645 .description = "pkt_type_1", 4646 .field_bit_size = 2, 4647 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4648 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4649 } 4650 }, 4651 { 4652 .field_info_mask = { 4653 .description = "valid", 4654 .field_bit_size = 1, 4655 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4656 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4657 .field_opr1 = { 4658 1} 4659 }, 4660 .field_info_spec = { 4661 .description = "valid", 4662 .field_bit_size = 1, 4663 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4664 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 4665 .field_opr1 = { 4666 1} 4667 } 4668 }, 4669 /* class_tid: 1, , table: profile_tcam_cache.wr */ 4670 { 4671 .field_info_mask = { 4672 .description = "recycle_cnt", 4673 .field_bit_size = 2, 4674 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4675 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4676 .field_opr1 = { 4677 0xff} 4678 }, 4679 .field_info_spec = { 4680 .description = "recycle_cnt", 4681 .field_bit_size = 2, 4682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4683 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4684 } 4685 }, 4686 { 4687 .field_info_mask = { 4688 .description = "prof_func_id", 4689 .field_bit_size = 7, 4690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4691 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4692 .field_opr1 = { 4693 0xff} 4694 }, 4695 .field_info_spec = { 4696 .description = "prof_func_id", 4697 .field_bit_size = 7, 4698 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 4699 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 4700 .field_opr1 = { 4701 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 4702 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, 4703 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 4704 .field_opr2 = { 4705 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 4706 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 4707 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 4708 .field_opr3 = { 4709 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 4710 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 4711 } 4712 }, 4713 { 4714 .field_info_mask = { 4715 .description = "hdr_sig_id", 4716 .field_bit_size = 5, 4717 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4718 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4719 .field_opr1 = { 4720 0xff} 4721 }, 4722 .field_info_spec = { 4723 .description = "hdr_sig_id", 4724 .field_bit_size = 5, 4725 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4726 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 4727 .field_opr1 = { 4728 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, 4729 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} 4730 } 4731 }, 4732 /* class_tid: 1, , table: em.ipv4 */ 4733 { 4734 .field_info_mask = { 4735 .description = "spare", 4736 .field_bit_size = 3, 4737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4738 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4739 }, 4740 .field_info_spec = { 4741 .description = "spare", 4742 .field_bit_size = 3, 4743 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4744 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4745 } 4746 }, 4747 { 4748 .field_info_mask = { 4749 .description = "local_cos", 4750 .field_bit_size = 3, 4751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4753 }, 4754 .field_info_spec = { 4755 .description = "local_cos", 4756 .field_bit_size = 3, 4757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4758 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4759 } 4760 }, 4761 { 4762 .field_info_mask = { 4763 .description = "l4.dst", 4764 .field_bit_size = 16, 4765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4766 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4767 .field_opr1 = { 4768 0xff, 4769 0xff} 4770 }, 4771 .field_info_spec = { 4772 .description = "l4.dst", 4773 .field_bit_size = 16, 4774 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 4775 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 4776 .field_opr1 = { 4777 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 4778 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 4779 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 4780 .field_opr2 = { 4781 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 4782 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 4783 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 4784 } 4785 }, 4786 { 4787 .field_info_mask = { 4788 .description = "l4.src", 4789 .field_bit_size = 16, 4790 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4791 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4792 .field_opr1 = { 4793 0xff, 4794 0xff} 4795 }, 4796 .field_info_spec = { 4797 .description = "l4.src", 4798 .field_bit_size = 16, 4799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 4800 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 4801 .field_opr1 = { 4802 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 4803 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 4804 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 4805 .field_opr2 = { 4806 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 4807 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 4808 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 4809 } 4810 }, 4811 { 4812 .field_info_mask = { 4813 .description = "l3.prot", 4814 .field_bit_size = 8, 4815 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4816 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4817 .field_opr1 = { 4818 0xff} 4819 }, 4820 .field_info_spec = { 4821 .description = "l3.prot", 4822 .field_bit_size = 8, 4823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 4824 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 4825 .field_opr1 = { 4826 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, 4827 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, 4828 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 4829 .field_opr2 = { 4830 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 4831 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 4832 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 4833 } 4834 }, 4835 { 4836 .field_info_mask = { 4837 .description = "l3.dst", 4838 .field_bit_size = 32, 4839 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4840 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 4841 .field_opr1 = { 4842 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 4843 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 4844 }, 4845 .field_info_spec = { 4846 .description = "l3.dst", 4847 .field_bit_size = 32, 4848 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4849 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 4850 .field_opr1 = { 4851 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 4852 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 4853 } 4854 }, 4855 { 4856 .field_info_mask = { 4857 .description = "l3.src", 4858 .field_bit_size = 32, 4859 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4860 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 4861 .field_opr1 = { 4862 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 4863 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 4864 }, 4865 .field_info_spec = { 4866 .description = "l3.src", 4867 .field_bit_size = 32, 4868 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4869 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 4870 .field_opr1 = { 4871 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 4872 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 4873 } 4874 }, 4875 { 4876 .field_info_mask = { 4877 .description = "l2.smac", 4878 .field_bit_size = 48, 4879 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4880 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 4881 .field_opr1 = { 4882 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 4883 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 4884 }, 4885 .field_info_spec = { 4886 .description = "l2.smac", 4887 .field_bit_size = 48, 4888 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4889 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 4890 .field_opr1 = { 4891 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 4892 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 4893 } 4894 }, 4895 { 4896 .field_info_mask = { 4897 .description = "l2_cntxt_id", 4898 .field_bit_size = 10, 4899 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4900 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4901 .field_opr1 = { 4902 0xff, 4903 0xff} 4904 }, 4905 .field_info_spec = { 4906 .description = "l2_cntxt_id", 4907 .field_bit_size = 10, 4908 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4909 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 4910 .field_opr1 = { 4911 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 4912 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 4913 } 4914 }, 4915 { 4916 .field_info_mask = { 4917 .description = "em_profile_id", 4918 .field_bit_size = 8, 4919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4920 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4921 .field_opr1 = { 4922 0xff} 4923 }, 4924 .field_info_spec = { 4925 .description = "em_profile_id", 4926 .field_bit_size = 8, 4927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4928 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 4929 .field_opr1 = { 4930 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 4931 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 4932 } 4933 }, 4934 /* class_tid: 1, , table: eem.ipv4 */ 4935 { 4936 .field_info_mask = { 4937 .description = "spare", 4938 .field_bit_size = 275, 4939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4940 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4941 }, 4942 .field_info_spec = { 4943 .description = "spare", 4944 .field_bit_size = 275, 4945 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4946 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4947 } 4948 }, 4949 { 4950 .field_info_mask = { 4951 .description = "local_cos", 4952 .field_bit_size = 3, 4953 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4954 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4955 }, 4956 .field_info_spec = { 4957 .description = "local_cos", 4958 .field_bit_size = 3, 4959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4960 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 4961 } 4962 }, 4963 { 4964 .field_info_mask = { 4965 .description = "l4.dst", 4966 .field_bit_size = 16, 4967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4968 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4969 .field_opr1 = { 4970 0xff, 4971 0xff} 4972 }, 4973 .field_info_spec = { 4974 .description = "l4.dst", 4975 .field_bit_size = 16, 4976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 4977 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 4978 .field_opr1 = { 4979 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 4980 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 4981 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 4982 .field_opr2 = { 4983 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 4984 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 4985 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 4986 } 4987 }, 4988 { 4989 .field_info_mask = { 4990 .description = "l4.src", 4991 .field_bit_size = 16, 4992 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 4993 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 4994 .field_opr1 = { 4995 0xff, 4996 0xff} 4997 }, 4998 .field_info_spec = { 4999 .description = "l4.src", 5000 .field_bit_size = 16, 5001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5002 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 5003 .field_opr1 = { 5004 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 5005 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 5006 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5007 .field_opr2 = { 5008 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 5009 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 5010 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5011 } 5012 }, 5013 { 5014 .field_info_mask = { 5015 .description = "l3.prot", 5016 .field_bit_size = 8, 5017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5018 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5019 .field_opr1 = { 5020 0xff} 5021 }, 5022 .field_info_spec = { 5023 .description = "l3.prot", 5024 .field_bit_size = 8, 5025 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5026 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 5027 .field_opr1 = { 5028 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, 5029 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, 5030 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5031 .field_opr2 = { 5032 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 5033 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 5034 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5035 } 5036 }, 5037 { 5038 .field_info_mask = { 5039 .description = "l3.dst", 5040 .field_bit_size = 32, 5041 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5042 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5043 .field_opr1 = { 5044 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 5045 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 5046 }, 5047 .field_info_spec = { 5048 .description = "l3.dst", 5049 .field_bit_size = 32, 5050 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5051 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5052 .field_opr1 = { 5053 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 5054 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 5055 } 5056 }, 5057 { 5058 .field_info_mask = { 5059 .description = "l3.src", 5060 .field_bit_size = 32, 5061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5062 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5063 .field_opr1 = { 5064 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 5065 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 5066 }, 5067 .field_info_spec = { 5068 .description = "l3.src", 5069 .field_bit_size = 32, 5070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5071 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5072 .field_opr1 = { 5073 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 5074 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 5075 } 5076 }, 5077 { 5078 .field_info_mask = { 5079 .description = "l2.smac", 5080 .field_bit_size = 48, 5081 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5082 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5083 .field_opr1 = { 5084 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 5085 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 5086 }, 5087 .field_info_spec = { 5088 .description = "l2.smac", 5089 .field_bit_size = 48, 5090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5091 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5092 .field_opr1 = { 5093 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 5094 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 5095 } 5096 }, 5097 { 5098 .field_info_mask = { 5099 .description = "l2_cntxt_id", 5100 .field_bit_size = 10, 5101 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5102 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5103 .field_opr1 = { 5104 0xff, 5105 0xff} 5106 }, 5107 .field_info_spec = { 5108 .description = "l2_cntxt_id", 5109 .field_bit_size = 10, 5110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5111 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5112 .field_opr1 = { 5113 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 5114 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 5115 } 5116 }, 5117 { 5118 .field_info_mask = { 5119 .description = "em_profile_id", 5120 .field_bit_size = 8, 5121 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5122 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5123 .field_opr1 = { 5124 0xff} 5125 }, 5126 .field_info_spec = { 5127 .description = "em_profile_id", 5128 .field_bit_size = 8, 5129 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5130 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5131 .field_opr1 = { 5132 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 5133 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 5134 } 5135 }, 5136 /* class_tid: 1, , table: em.ipv6 */ 5137 { 5138 .field_info_mask = { 5139 .description = "spare", 5140 .field_bit_size = 3, 5141 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5142 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5143 }, 5144 .field_info_spec = { 5145 .description = "spare", 5146 .field_bit_size = 3, 5147 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5148 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5149 } 5150 }, 5151 { 5152 .field_info_mask = { 5153 .description = "local_cos", 5154 .field_bit_size = 3, 5155 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5156 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5157 }, 5158 .field_info_spec = { 5159 .description = "local_cos", 5160 .field_bit_size = 3, 5161 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5162 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5163 } 5164 }, 5165 { 5166 .field_info_mask = { 5167 .description = "l4.dst", 5168 .field_bit_size = 16, 5169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5170 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5171 .field_opr1 = { 5172 0xff, 5173 0xff} 5174 }, 5175 .field_info_spec = { 5176 .description = "l4.dst", 5177 .field_bit_size = 16, 5178 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5179 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 5180 .field_opr1 = { 5181 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 5182 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 5183 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5184 .field_opr2 = { 5185 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 5186 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 5187 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5188 } 5189 }, 5190 { 5191 .field_info_mask = { 5192 .description = "l4.src", 5193 .field_bit_size = 16, 5194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5195 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5196 .field_opr1 = { 5197 0xff, 5198 0xff} 5199 }, 5200 .field_info_spec = { 5201 .description = "l4.src", 5202 .field_bit_size = 16, 5203 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5204 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 5205 .field_opr1 = { 5206 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 5207 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 5208 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5209 .field_opr2 = { 5210 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 5211 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 5212 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5213 } 5214 }, 5215 { 5216 .field_info_mask = { 5217 .description = "l3.prot", 5218 .field_bit_size = 8, 5219 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5220 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5221 .field_opr1 = { 5222 0xff} 5223 }, 5224 .field_info_spec = { 5225 .description = "l3.prot", 5226 .field_bit_size = 8, 5227 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5228 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 5229 .field_opr1 = { 5230 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, 5231 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, 5232 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5233 .field_opr2 = { 5234 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 5235 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 5236 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5237 } 5238 }, 5239 { 5240 .field_info_mask = { 5241 .description = "l3.dst", 5242 .field_bit_size = 128, 5243 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5244 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5245 .field_opr1 = { 5246 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 5247 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 5248 }, 5249 .field_info_spec = { 5250 .description = "l3.dst", 5251 .field_bit_size = 128, 5252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5253 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5254 .field_opr1 = { 5255 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 5256 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 5257 } 5258 }, 5259 { 5260 .field_info_mask = { 5261 .description = "l3.src", 5262 .field_bit_size = 128, 5263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5264 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5265 .field_opr1 = { 5266 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 5267 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 5268 }, 5269 .field_info_spec = { 5270 .description = "l3.src", 5271 .field_bit_size = 128, 5272 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5273 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5274 .field_opr1 = { 5275 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 5276 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 5277 } 5278 }, 5279 { 5280 .field_info_mask = { 5281 .description = "l2.smac", 5282 .field_bit_size = 48, 5283 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5284 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5285 .field_opr1 = { 5286 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 5287 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 5288 }, 5289 .field_info_spec = { 5290 .description = "l2.smac", 5291 .field_bit_size = 48, 5292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5293 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5294 .field_opr1 = { 5295 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 5296 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 5297 } 5298 }, 5299 { 5300 .field_info_mask = { 5301 .description = "l2.dmac", 5302 .field_bit_size = 48, 5303 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5304 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5305 }, 5306 .field_info_spec = { 5307 .description = "l2.dmac", 5308 .field_bit_size = 48, 5309 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5310 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5311 } 5312 }, 5313 { 5314 .field_info_mask = { 5315 .description = "l2_cntxt_id", 5316 .field_bit_size = 10, 5317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5318 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5319 .field_opr1 = { 5320 0xff, 5321 0xff} 5322 }, 5323 .field_info_spec = { 5324 .description = "l2_cntxt_id", 5325 .field_bit_size = 10, 5326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5327 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5328 .field_opr1 = { 5329 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 5330 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 5331 } 5332 }, 5333 { 5334 .field_info_mask = { 5335 .description = "em_profile_id", 5336 .field_bit_size = 8, 5337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5338 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5339 .field_opr1 = { 5340 0xff} 5341 }, 5342 .field_info_spec = { 5343 .description = "em_profile_id", 5344 .field_bit_size = 8, 5345 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5346 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5347 .field_opr1 = { 5348 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 5349 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 5350 } 5351 }, 5352 /* class_tid: 1, , table: eem.ipv6 */ 5353 { 5354 .field_info_mask = { 5355 .description = "spare", 5356 .field_bit_size = 35, 5357 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5358 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5359 }, 5360 .field_info_spec = { 5361 .description = "spare", 5362 .field_bit_size = 35, 5363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5364 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5365 } 5366 }, 5367 { 5368 .field_info_mask = { 5369 .description = "local_cos", 5370 .field_bit_size = 3, 5371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5373 }, 5374 .field_info_spec = { 5375 .description = "local_cos", 5376 .field_bit_size = 3, 5377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5378 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5379 } 5380 }, 5381 { 5382 .field_info_mask = { 5383 .description = "l4.dst", 5384 .field_bit_size = 16, 5385 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5386 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5387 .field_opr1 = { 5388 0xff, 5389 0xff} 5390 }, 5391 .field_info_spec = { 5392 .description = "l4.dst", 5393 .field_bit_size = 16, 5394 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5395 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 5396 .field_opr1 = { 5397 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 5398 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 5399 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5400 .field_opr2 = { 5401 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 5402 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 5403 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5404 } 5405 }, 5406 { 5407 .field_info_mask = { 5408 .description = "l4.src", 5409 .field_bit_size = 16, 5410 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5411 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5412 .field_opr1 = { 5413 0xff, 5414 0xff} 5415 }, 5416 .field_info_spec = { 5417 .description = "l4.src", 5418 .field_bit_size = 16, 5419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5420 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 5421 .field_opr1 = { 5422 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 5423 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 5424 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5425 .field_opr2 = { 5426 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 5427 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 5428 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5429 } 5430 }, 5431 { 5432 .field_info_mask = { 5433 .description = "l3.prot", 5434 .field_bit_size = 8, 5435 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5436 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5437 .field_opr1 = { 5438 0xff} 5439 }, 5440 .field_info_spec = { 5441 .description = "l3.prot", 5442 .field_bit_size = 8, 5443 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 5444 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 5445 .field_opr1 = { 5446 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, 5447 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, 5448 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 5449 .field_opr2 = { 5450 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 5451 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 5452 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 5453 } 5454 }, 5455 { 5456 .field_info_mask = { 5457 .description = "l3.dst", 5458 .field_bit_size = 128, 5459 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5460 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5461 .field_opr1 = { 5462 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 5463 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 5464 }, 5465 .field_info_spec = { 5466 .description = "l3.dst", 5467 .field_bit_size = 128, 5468 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5469 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5470 .field_opr1 = { 5471 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 5472 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 5473 } 5474 }, 5475 { 5476 .field_info_mask = { 5477 .description = "l3.src", 5478 .field_bit_size = 128, 5479 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5480 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5481 .field_opr1 = { 5482 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 5483 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 5484 }, 5485 .field_info_spec = { 5486 .description = "l3.src", 5487 .field_bit_size = 128, 5488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5489 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5490 .field_opr1 = { 5491 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 5492 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 5493 } 5494 }, 5495 { 5496 .field_info_mask = { 5497 .description = "l2.smac", 5498 .field_bit_size = 48, 5499 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5500 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5501 .field_opr1 = { 5502 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 5503 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 5504 }, 5505 .field_info_spec = { 5506 .description = "l2.smac", 5507 .field_bit_size = 48, 5508 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5509 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5510 .field_opr1 = { 5511 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 5512 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 5513 } 5514 }, 5515 { 5516 .field_info_mask = { 5517 .description = "l2.dmac", 5518 .field_bit_size = 48, 5519 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5520 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5521 }, 5522 .field_info_spec = { 5523 .description = "l2.dmac", 5524 .field_bit_size = 48, 5525 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5526 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5527 } 5528 }, 5529 { 5530 .field_info_mask = { 5531 .description = "l2_cntxt_id", 5532 .field_bit_size = 10, 5533 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5534 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5535 .field_opr1 = { 5536 0xff, 5537 0xff} 5538 }, 5539 .field_info_spec = { 5540 .description = "l2_cntxt_id", 5541 .field_bit_size = 10, 5542 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5543 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5544 .field_opr1 = { 5545 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 5546 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 5547 } 5548 }, 5549 { 5550 .field_info_mask = { 5551 .description = "em_profile_id", 5552 .field_bit_size = 8, 5553 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5554 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5555 .field_opr1 = { 5556 0xff} 5557 }, 5558 .field_info_spec = { 5559 .description = "em_profile_id", 5560 .field_bit_size = 8, 5561 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5562 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5563 .field_opr1 = { 5564 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 5565 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 5566 } 5567 }, 5568 /* class_tid: 1, , table: em.vxlan */ 5569 { 5570 .field_info_mask = { 5571 .description = "spare", 5572 .field_bit_size = 3, 5573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5574 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5575 }, 5576 .field_info_spec = { 5577 .description = "spare", 5578 .field_bit_size = 3, 5579 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5580 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5581 } 5582 }, 5583 { 5584 .field_info_mask = { 5585 .description = "local_cos", 5586 .field_bit_size = 3, 5587 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5588 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5589 }, 5590 .field_info_spec = { 5591 .description = "local_cos", 5592 .field_bit_size = 3, 5593 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5594 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5595 } 5596 }, 5597 { 5598 .field_info_mask = { 5599 .description = "tl4.src", 5600 .field_bit_size = 16, 5601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5602 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5603 }, 5604 .field_info_spec = { 5605 .description = "tl4.src", 5606 .field_bit_size = 16, 5607 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5608 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5609 } 5610 }, 5611 { 5612 .field_info_mask = { 5613 .description = "tl4.dst", 5614 .field_bit_size = 16, 5615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5616 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5617 .field_opr1 = { 5618 0xff, 5619 0xff} 5620 }, 5621 .field_info_spec = { 5622 .description = "tl4.dst", 5623 .field_bit_size = 16, 5624 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5625 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 5626 .field_opr1 = { 5627 (4789 >> 8) & 0xff, 5628 4789 & 0xff} 5629 } 5630 }, 5631 { 5632 .field_info_mask = { 5633 .description = "tl3.prot", 5634 .field_bit_size = 8, 5635 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5636 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5637 .field_opr1 = { 5638 0xff} 5639 }, 5640 .field_info_spec = { 5641 .description = "tl3.prot", 5642 .field_bit_size = 8, 5643 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5644 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 5645 .field_opr1 = { 5646 17} 5647 } 5648 }, 5649 { 5650 .field_info_mask = { 5651 .description = "tl3.dst", 5652 .field_bit_size = 32, 5653 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5654 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5655 .field_opr1 = { 5656 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 5657 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 5658 }, 5659 .field_info_spec = { 5660 .description = "tl3.dst", 5661 .field_bit_size = 32, 5662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5663 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5664 .field_opr1 = { 5665 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 5666 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 5667 } 5668 }, 5669 { 5670 .field_info_mask = { 5671 .description = "tl3.src", 5672 .field_bit_size = 32, 5673 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5674 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5675 }, 5676 .field_info_spec = { 5677 .description = "tl3.src", 5678 .field_bit_size = 32, 5679 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5680 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5681 } 5682 }, 5683 { 5684 .field_info_mask = { 5685 .description = "tl2.src", 5686 .field_bit_size = 48, 5687 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5688 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5689 }, 5690 .field_info_spec = { 5691 .description = "tl2.src", 5692 .field_bit_size = 48, 5693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5694 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5695 } 5696 }, 5697 { 5698 .field_info_mask = { 5699 .description = "tun_id", 5700 .field_bit_size = 24, 5701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5702 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5703 }, 5704 .field_info_spec = { 5705 .description = "tun_id", 5706 .field_bit_size = 24, 5707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5708 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5709 } 5710 }, 5711 { 5712 .field_info_mask = { 5713 .description = "l2_cntxt_id", 5714 .field_bit_size = 10, 5715 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5716 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5717 .field_opr1 = { 5718 0xff, 5719 0xff} 5720 }, 5721 .field_info_spec = { 5722 .description = "l2_cntxt_id", 5723 .field_bit_size = 10, 5724 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5725 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5726 .field_opr1 = { 5727 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 5728 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 5729 } 5730 }, 5731 { 5732 .field_info_mask = { 5733 .description = "em_profile_id", 5734 .field_bit_size = 8, 5735 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5736 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5737 .field_opr1 = { 5738 0xff} 5739 }, 5740 .field_info_spec = { 5741 .description = "em_profile_id", 5742 .field_bit_size = 8, 5743 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5744 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5745 .field_opr1 = { 5746 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 5747 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 5748 } 5749 }, 5750 /* class_tid: 1, , table: eem.vxlan */ 5751 { 5752 .field_info_mask = { 5753 .description = "spare", 5754 .field_bit_size = 251, 5755 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5756 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5757 }, 5758 .field_info_spec = { 5759 .description = "spare", 5760 .field_bit_size = 251, 5761 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5762 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5763 } 5764 }, 5765 { 5766 .field_info_mask = { 5767 .description = "local_cos", 5768 .field_bit_size = 3, 5769 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5770 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5771 }, 5772 .field_info_spec = { 5773 .description = "local_cos", 5774 .field_bit_size = 3, 5775 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5776 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5777 } 5778 }, 5779 { 5780 .field_info_mask = { 5781 .description = "tl4.dst", 5782 .field_bit_size = 16, 5783 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5784 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5785 .field_opr1 = { 5786 0xff, 5787 0xff} 5788 }, 5789 .field_info_spec = { 5790 .description = "tl4.dst", 5791 .field_bit_size = 16, 5792 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5793 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 5794 .field_opr1 = { 5795 (4789 >> 8) & 0xff, 5796 4789 & 0xff} 5797 } 5798 }, 5799 { 5800 .field_info_mask = { 5801 .description = "tl4.src", 5802 .field_bit_size = 16, 5803 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5804 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5805 }, 5806 .field_info_spec = { 5807 .description = "tl4.src", 5808 .field_bit_size = 16, 5809 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5810 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5811 } 5812 }, 5813 { 5814 .field_info_mask = { 5815 .description = "tl3.prot", 5816 .field_bit_size = 8, 5817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5818 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5819 .field_opr1 = { 5820 0xff} 5821 }, 5822 .field_info_spec = { 5823 .description = "tl3.prot", 5824 .field_bit_size = 8, 5825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5826 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 5827 .field_opr1 = { 5828 17} 5829 } 5830 }, 5831 { 5832 .field_info_mask = { 5833 .description = "tl3.dst", 5834 .field_bit_size = 32, 5835 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5836 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5837 .field_opr1 = { 5838 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 5839 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 5840 }, 5841 .field_info_spec = { 5842 .description = "tl3.dst", 5843 .field_bit_size = 32, 5844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5845 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5846 .field_opr1 = { 5847 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 5848 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 5849 } 5850 }, 5851 { 5852 .field_info_mask = { 5853 .description = "tl3.src", 5854 .field_bit_size = 32, 5855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5857 }, 5858 .field_info_spec = { 5859 .description = "tl3.src", 5860 .field_bit_size = 32, 5861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5863 } 5864 }, 5865 { 5866 .field_info_mask = { 5867 .description = "tl2.src", 5868 .field_bit_size = 48, 5869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5870 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5871 }, 5872 .field_info_spec = { 5873 .description = "tl2.src", 5874 .field_bit_size = 48, 5875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5877 } 5878 }, 5879 { 5880 .field_info_mask = { 5881 .description = "tun_id", 5882 .field_bit_size = 24, 5883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5884 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5885 }, 5886 .field_info_spec = { 5887 .description = "tun_id", 5888 .field_bit_size = 24, 5889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5890 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5891 } 5892 }, 5893 { 5894 .field_info_mask = { 5895 .description = "l2_cntxt_id", 5896 .field_bit_size = 10, 5897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5898 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5899 .field_opr1 = { 5900 0xff, 5901 0xff} 5902 }, 5903 .field_info_spec = { 5904 .description = "l2_cntxt_id", 5905 .field_bit_size = 10, 5906 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5907 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5908 .field_opr1 = { 5909 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 5910 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 5911 } 5912 }, 5913 { 5914 .field_info_mask = { 5915 .description = "em_profile_id", 5916 .field_bit_size = 8, 5917 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5918 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5919 .field_opr1 = { 5920 0xff} 5921 }, 5922 .field_info_spec = { 5923 .description = "em_profile_id", 5924 .field_bit_size = 8, 5925 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5926 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 5927 .field_opr1 = { 5928 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 5929 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 5930 } 5931 }, 5932 /* class_tid: 2, , table: tunnel_cache.rd */ 5933 { 5934 .field_info_mask = { 5935 .description = "svif", 5936 .field_bit_size = 8, 5937 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5938 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5939 .field_opr1 = { 5940 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 5941 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 5942 }, 5943 .field_info_spec = { 5944 .description = "svif", 5945 .field_bit_size = 8, 5946 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5947 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 5948 .field_opr1 = { 5949 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 5950 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 5951 } 5952 }, 5953 { 5954 .field_info_mask = { 5955 .description = "tunnel_id", 5956 .field_bit_size = 8, 5957 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5958 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 5959 .field_opr1 = { 5960 0xff} 5961 }, 5962 .field_info_spec = { 5963 .description = "tunnel_id", 5964 .field_bit_size = 8, 5965 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5966 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 5967 .field_opr1 = { 5968 (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff, 5969 BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} 5970 } 5971 }, 5972 /* class_tid: 2, , table: l2_cntxt_tcam.1 */ 5973 { 5974 .field_info_mask = { 5975 .description = "l2_ivlan_vid", 5976 .field_bit_size = 12, 5977 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5978 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5979 }, 5980 .field_info_spec = { 5981 .description = "l2_ivlan_vid", 5982 .field_bit_size = 12, 5983 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5984 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5985 } 5986 }, 5987 { 5988 .field_info_mask = { 5989 .description = "l2_ovlan_vid", 5990 .field_bit_size = 12, 5991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5992 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5993 }, 5994 .field_info_spec = { 5995 .description = "l2_ovlan_vid", 5996 .field_bit_size = 12, 5997 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 5998 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 5999 } 6000 }, 6001 { 6002 .field_info_mask = { 6003 .description = "mac0_addr", 6004 .field_bit_size = 48, 6005 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6006 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6007 }, 6008 .field_info_spec = { 6009 .description = "mac0_addr", 6010 .field_bit_size = 48, 6011 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6012 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6013 } 6014 }, 6015 { 6016 .field_info_mask = { 6017 .description = "svif", 6018 .field_bit_size = 8, 6019 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6020 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6021 }, 6022 .field_info_spec = { 6023 .description = "svif", 6024 .field_bit_size = 8, 6025 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6026 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6027 } 6028 }, 6029 { 6030 .field_info_mask = { 6031 .description = "sparif", 6032 .field_bit_size = 4, 6033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6035 }, 6036 .field_info_spec = { 6037 .description = "sparif", 6038 .field_bit_size = 4, 6039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6041 } 6042 }, 6043 { 6044 .field_info_mask = { 6045 .description = "tl2_ivlan_vid", 6046 .field_bit_size = 12, 6047 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6048 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6049 }, 6050 .field_info_spec = { 6051 .description = "tl2_ivlan_vid", 6052 .field_bit_size = 12, 6053 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6054 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6055 } 6056 }, 6057 { 6058 .field_info_mask = { 6059 .description = "tl2_ovlan_vid", 6060 .field_bit_size = 12, 6061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6062 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6063 }, 6064 .field_info_spec = { 6065 .description = "tl2_ovlan_vid", 6066 .field_bit_size = 12, 6067 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6068 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6069 } 6070 }, 6071 { 6072 .field_info_mask = { 6073 .description = "mac1_addr", 6074 .field_bit_size = 48, 6075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6076 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6077 }, 6078 .field_info_spec = { 6079 .description = "mac1_addr", 6080 .field_bit_size = 48, 6081 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6082 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6083 } 6084 }, 6085 { 6086 .field_info_mask = { 6087 .description = "l2_num_vtags", 6088 .field_bit_size = 2, 6089 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6090 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6091 }, 6092 .field_info_spec = { 6093 .description = "l2_num_vtags", 6094 .field_bit_size = 2, 6095 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6096 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6097 } 6098 }, 6099 { 6100 .field_info_mask = { 6101 .description = "tl2_num_vtags", 6102 .field_bit_size = 2, 6103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6105 }, 6106 .field_info_spec = { 6107 .description = "tl2_num_vtags", 6108 .field_bit_size = 2, 6109 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6110 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6111 } 6112 }, 6113 { 6114 .field_info_mask = { 6115 .description = "tun_hdr_type", 6116 .field_bit_size = 4, 6117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6119 }, 6120 .field_info_spec = { 6121 .description = "tun_hdr_type", 6122 .field_bit_size = 4, 6123 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6124 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6125 } 6126 }, 6127 { 6128 .field_info_mask = { 6129 .description = "key_type", 6130 .field_bit_size = 2, 6131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6132 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6133 }, 6134 .field_info_spec = { 6135 .description = "key_type", 6136 .field_bit_size = 2, 6137 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6138 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6139 } 6140 }, 6141 { 6142 .field_info_mask = { 6143 .description = "valid", 6144 .field_bit_size = 1, 6145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6146 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6147 .field_opr1 = { 6148 1} 6149 }, 6150 .field_info_spec = { 6151 .description = "valid", 6152 .field_bit_size = 1, 6153 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6154 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6155 .field_opr1 = { 6156 1} 6157 } 6158 }, 6159 /* class_tid: 2, , table: tunnel_cache.wr */ 6160 { 6161 .field_info_mask = { 6162 .description = "svif", 6163 .field_bit_size = 8, 6164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6165 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6166 .field_opr1 = { 6167 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6168 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6169 }, 6170 .field_info_spec = { 6171 .description = "svif", 6172 .field_bit_size = 8, 6173 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6174 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6175 .field_opr1 = { 6176 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6177 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6178 } 6179 }, 6180 { 6181 .field_info_mask = { 6182 .description = "tunnel_id", 6183 .field_bit_size = 8, 6184 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6185 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6186 .field_opr1 = { 6187 0xff} 6188 }, 6189 .field_info_spec = { 6190 .description = "tunnel_id", 6191 .field_bit_size = 8, 6192 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6193 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 6194 .field_opr1 = { 6195 (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff, 6196 BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff} 6197 } 6198 }, 6199 /* class_tid: 2, , table: mac_addr_cache.rd */ 6200 { 6201 .field_info_mask = { 6202 .description = "svif", 6203 .field_bit_size = 8, 6204 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6205 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6206 .field_opr1 = { 6207 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6208 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6209 }, 6210 .field_info_spec = { 6211 .description = "svif", 6212 .field_bit_size = 8, 6213 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6214 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6215 .field_opr1 = { 6216 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6217 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6218 } 6219 }, 6220 { 6221 .field_info_mask = { 6222 .description = "tun_hdr", 6223 .field_bit_size = 4, 6224 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6225 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6226 .field_opr1 = { 6227 0xff} 6228 }, 6229 .field_info_spec = { 6230 .description = "tun_hdr", 6231 .field_bit_size = 4, 6232 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6233 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6234 } 6235 }, 6236 { 6237 .field_info_mask = { 6238 .description = "one_tag", 6239 .field_bit_size = 1, 6240 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6241 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6242 }, 6243 .field_info_spec = { 6244 .description = "one_tag", 6245 .field_bit_size = 1, 6246 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6247 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6248 } 6249 }, 6250 { 6251 .field_info_mask = { 6252 .description = "vid", 6253 .field_bit_size = 12, 6254 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6255 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6256 }, 6257 .field_info_spec = { 6258 .description = "vid", 6259 .field_bit_size = 12, 6260 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6261 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6262 } 6263 }, 6264 { 6265 .field_info_mask = { 6266 .description = "mac_addr", 6267 .field_bit_size = 48, 6268 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6269 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6270 .field_opr1 = { 6271 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 6272 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 6273 }, 6274 .field_info_spec = { 6275 .description = "mac_addr", 6276 .field_bit_size = 48, 6277 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6278 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6279 .field_opr1 = { 6280 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 6281 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 6282 } 6283 }, 6284 /* class_tid: 2, , table: l2_cntxt_tcam.0 */ 6285 { 6286 .field_info_mask = { 6287 .description = "l2_ivlan_vid", 6288 .field_bit_size = 12, 6289 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6290 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6291 }, 6292 .field_info_spec = { 6293 .description = "l2_ivlan_vid", 6294 .field_bit_size = 12, 6295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6296 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6297 } 6298 }, 6299 { 6300 .field_info_mask = { 6301 .description = "l2_ovlan_vid", 6302 .field_bit_size = 12, 6303 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6304 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6305 }, 6306 .field_info_spec = { 6307 .description = "l2_ovlan_vid", 6308 .field_bit_size = 12, 6309 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6310 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6311 } 6312 }, 6313 { 6314 .field_info_mask = { 6315 .description = "mac0_addr", 6316 .field_bit_size = 48, 6317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6318 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6319 .field_opr1 = { 6320 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 6321 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 6322 }, 6323 .field_info_spec = { 6324 .description = "mac0_addr", 6325 .field_bit_size = 48, 6326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6327 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6328 .field_opr1 = { 6329 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 6330 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 6331 } 6332 }, 6333 { 6334 .field_info_mask = { 6335 .description = "svif", 6336 .field_bit_size = 8, 6337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6338 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6339 .field_opr1 = { 6340 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6341 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6342 }, 6343 .field_info_spec = { 6344 .description = "svif", 6345 .field_bit_size = 8, 6346 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6347 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6348 .field_opr1 = { 6349 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6350 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6351 } 6352 }, 6353 { 6354 .field_info_mask = { 6355 .description = "sparif", 6356 .field_bit_size = 4, 6357 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6358 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6359 }, 6360 .field_info_spec = { 6361 .description = "sparif", 6362 .field_bit_size = 4, 6363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6364 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6365 } 6366 }, 6367 { 6368 .field_info_mask = { 6369 .description = "tl2_ivlan_vid", 6370 .field_bit_size = 12, 6371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6373 }, 6374 .field_info_spec = { 6375 .description = "tl2_ivlan_vid", 6376 .field_bit_size = 12, 6377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6378 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6379 } 6380 }, 6381 { 6382 .field_info_mask = { 6383 .description = "tl2_ovlan_vid", 6384 .field_bit_size = 12, 6385 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6386 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6387 }, 6388 .field_info_spec = { 6389 .description = "tl2_ovlan_vid", 6390 .field_bit_size = 12, 6391 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6392 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6393 } 6394 }, 6395 { 6396 .field_info_mask = { 6397 .description = "mac1_addr", 6398 .field_bit_size = 48, 6399 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6400 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6401 }, 6402 .field_info_spec = { 6403 .description = "mac1_addr", 6404 .field_bit_size = 48, 6405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6406 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6407 } 6408 }, 6409 { 6410 .field_info_mask = { 6411 .description = "l2_num_vtags", 6412 .field_bit_size = 2, 6413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6414 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6415 }, 6416 .field_info_spec = { 6417 .description = "l2_num_vtags", 6418 .field_bit_size = 2, 6419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6420 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6421 } 6422 }, 6423 { 6424 .field_info_mask = { 6425 .description = "tl2_num_vtags", 6426 .field_bit_size = 2, 6427 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6428 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6429 }, 6430 .field_info_spec = { 6431 .description = "tl2_num_vtags", 6432 .field_bit_size = 2, 6433 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6434 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6435 } 6436 }, 6437 { 6438 .field_info_mask = { 6439 .description = "tun_hdr_type", 6440 .field_bit_size = 4, 6441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6442 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6443 .field_opr1 = { 6444 0xff} 6445 }, 6446 .field_info_spec = { 6447 .description = "tun_hdr_type", 6448 .field_bit_size = 4, 6449 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6450 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6451 } 6452 }, 6453 { 6454 .field_info_mask = { 6455 .description = "key_type", 6456 .field_bit_size = 2, 6457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6459 }, 6460 .field_info_spec = { 6461 .description = "key_type", 6462 .field_bit_size = 2, 6463 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6464 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6465 } 6466 }, 6467 { 6468 .field_info_mask = { 6469 .description = "valid", 6470 .field_bit_size = 1, 6471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6472 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6473 .field_opr1 = { 6474 1} 6475 }, 6476 .field_info_spec = { 6477 .description = "valid", 6478 .field_bit_size = 1, 6479 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6480 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6481 .field_opr1 = { 6482 1} 6483 } 6484 }, 6485 /* class_tid: 2, , table: mac_addr_cache.wr */ 6486 { 6487 .field_info_mask = { 6488 .description = "svif", 6489 .field_bit_size = 8, 6490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6491 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6492 .field_opr1 = { 6493 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6494 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6495 }, 6496 .field_info_spec = { 6497 .description = "svif", 6498 .field_bit_size = 8, 6499 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6500 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6501 .field_opr1 = { 6502 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 6503 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 6504 } 6505 }, 6506 { 6507 .field_info_mask = { 6508 .description = "tun_hdr", 6509 .field_bit_size = 4, 6510 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6511 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6512 .field_opr1 = { 6513 0xff} 6514 }, 6515 .field_info_spec = { 6516 .description = "tun_hdr", 6517 .field_bit_size = 4, 6518 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6519 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6520 } 6521 }, 6522 { 6523 .field_info_mask = { 6524 .description = "one_tag", 6525 .field_bit_size = 1, 6526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6527 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6528 }, 6529 .field_info_spec = { 6530 .description = "one_tag", 6531 .field_bit_size = 1, 6532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6533 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6534 } 6535 }, 6536 { 6537 .field_info_mask = { 6538 .description = "vid", 6539 .field_bit_size = 12, 6540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6541 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6542 }, 6543 .field_info_spec = { 6544 .description = "vid", 6545 .field_bit_size = 12, 6546 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6547 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6548 } 6549 }, 6550 { 6551 .field_info_mask = { 6552 .description = "mac_addr", 6553 .field_bit_size = 48, 6554 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6555 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6556 .field_opr1 = { 6557 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 6558 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 6559 }, 6560 .field_info_spec = { 6561 .description = "mac_addr", 6562 .field_bit_size = 48, 6563 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6564 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 6565 .field_opr1 = { 6566 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 6567 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 6568 } 6569 }, 6570 /* class_tid: 2, , table: profile_tcam_cache.f2_rd */ 6571 { 6572 .field_info_mask = { 6573 .description = "recycle_cnt", 6574 .field_bit_size = 2, 6575 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6576 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6577 .field_opr1 = { 6578 0xff} 6579 }, 6580 .field_info_spec = { 6581 .description = "recycle_cnt", 6582 .field_bit_size = 2, 6583 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6584 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6585 } 6586 }, 6587 { 6588 .field_info_mask = { 6589 .description = "prof_func_id", 6590 .field_bit_size = 7, 6591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6592 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6593 .field_opr1 = { 6594 0xff} 6595 }, 6596 .field_info_spec = { 6597 .description = "prof_func_id", 6598 .field_bit_size = 7, 6599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6600 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 6601 .field_opr1 = { 6602 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff, 6603 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff} 6604 } 6605 }, 6606 { 6607 .field_info_mask = { 6608 .description = "hdr_sig_id", 6609 .field_bit_size = 5, 6610 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6611 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6612 .field_opr1 = { 6613 0xff} 6614 }, 6615 .field_info_spec = { 6616 .description = "hdr_sig_id", 6617 .field_bit_size = 5, 6618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6619 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 6620 .field_opr1 = { 6621 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, 6622 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} 6623 } 6624 }, 6625 /* class_tid: 2, , table: profile_tcam.f2 */ 6626 { 6627 .field_info_mask = { 6628 .description = "l4_hdr_is_udp_tcp", 6629 .field_bit_size = 1, 6630 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6631 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6632 }, 6633 .field_info_spec = { 6634 .description = "l4_hdr_is_udp_tcp", 6635 .field_bit_size = 1, 6636 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6637 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6638 } 6639 }, 6640 { 6641 .field_info_mask = { 6642 .description = "l4_hdr_type", 6643 .field_bit_size = 4, 6644 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6645 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6646 }, 6647 .field_info_spec = { 6648 .description = "l4_hdr_type", 6649 .field_bit_size = 4, 6650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6652 } 6653 }, 6654 { 6655 .field_info_mask = { 6656 .description = "l4_hdr_error", 6657 .field_bit_size = 1, 6658 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6659 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6660 }, 6661 .field_info_spec = { 6662 .description = "l4_hdr_error", 6663 .field_bit_size = 1, 6664 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6665 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6666 } 6667 }, 6668 { 6669 .field_info_mask = { 6670 .description = "l4_hdr_valid", 6671 .field_bit_size = 1, 6672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6673 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6674 }, 6675 .field_info_spec = { 6676 .description = "l4_hdr_valid", 6677 .field_bit_size = 1, 6678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6679 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6680 } 6681 }, 6682 { 6683 .field_info_mask = { 6684 .description = "l3_ipv6_cmp_dst", 6685 .field_bit_size = 1, 6686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6687 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6688 }, 6689 .field_info_spec = { 6690 .description = "l3_ipv6_cmp_dst", 6691 .field_bit_size = 1, 6692 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6693 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6694 } 6695 }, 6696 { 6697 .field_info_mask = { 6698 .description = "l3_ipv6_cmp_src", 6699 .field_bit_size = 1, 6700 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6701 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6702 }, 6703 .field_info_spec = { 6704 .description = "l3_ipv6_cmp_src", 6705 .field_bit_size = 1, 6706 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6707 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6708 } 6709 }, 6710 { 6711 .field_info_mask = { 6712 .description = "l3_hdr_isIP", 6713 .field_bit_size = 1, 6714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6715 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6716 }, 6717 .field_info_spec = { 6718 .description = "l3_hdr_isIP", 6719 .field_bit_size = 1, 6720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6721 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6722 } 6723 }, 6724 { 6725 .field_info_mask = { 6726 .description = "l3_hdr_type", 6727 .field_bit_size = 4, 6728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6729 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6730 .field_opr1 = { 6731 0xff} 6732 }, 6733 .field_info_spec = { 6734 .description = "l3_hdr_type", 6735 .field_bit_size = 4, 6736 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 6737 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 6738 .field_opr1 = { 6739 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, 6740 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, 6741 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, 6742 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, 6743 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, 6744 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, 6745 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, 6746 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, 6747 .field_src2 = BNXT_ULP_FIELD_SRC_CONST, 6748 .field_opr2 = { 6749 ULP_WP_SYM_L3_HDR_TYPE_IPV4}, 6750 .field_src3 = BNXT_ULP_FIELD_SRC_CONST, 6751 .field_opr3 = { 6752 ULP_WP_SYM_L3_HDR_TYPE_IPV6} 6753 } 6754 }, 6755 { 6756 .field_info_mask = { 6757 .description = "l3_hdr_error", 6758 .field_bit_size = 1, 6759 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6760 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6761 }, 6762 .field_info_spec = { 6763 .description = "l3_hdr_error", 6764 .field_bit_size = 1, 6765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6767 } 6768 }, 6769 { 6770 .field_info_mask = { 6771 .description = "l3_hdr_valid", 6772 .field_bit_size = 1, 6773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6774 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6775 .field_opr1 = { 6776 0xff} 6777 }, 6778 .field_info_spec = { 6779 .description = "l3_hdr_valid", 6780 .field_bit_size = 1, 6781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6782 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6783 .field_opr1 = { 6784 ULP_WP_SYM_L3_HDR_VALID_YES} 6785 } 6786 }, 6787 { 6788 .field_info_mask = { 6789 .description = "l2_two_vtags", 6790 .field_bit_size = 1, 6791 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6792 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6793 }, 6794 .field_info_spec = { 6795 .description = "l2_two_vtags", 6796 .field_bit_size = 1, 6797 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6798 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6799 } 6800 }, 6801 { 6802 .field_info_mask = { 6803 .description = "l2_vtag_present", 6804 .field_bit_size = 1, 6805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6806 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6807 }, 6808 .field_info_spec = { 6809 .description = "l2_vtag_present", 6810 .field_bit_size = 1, 6811 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6812 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6813 } 6814 }, 6815 { 6816 .field_info_mask = { 6817 .description = "l2_uc_mc_bc", 6818 .field_bit_size = 2, 6819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6821 }, 6822 .field_info_spec = { 6823 .description = "l2_uc_mc_bc", 6824 .field_bit_size = 2, 6825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6827 } 6828 }, 6829 { 6830 .field_info_mask = { 6831 .description = "l2_hdr_type", 6832 .field_bit_size = 2, 6833 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6834 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6835 }, 6836 .field_info_spec = { 6837 .description = "l2_hdr_type", 6838 .field_bit_size = 2, 6839 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6840 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6841 } 6842 }, 6843 { 6844 .field_info_mask = { 6845 .description = "l2_hdr_error", 6846 .field_bit_size = 1, 6847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6848 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6849 }, 6850 .field_info_spec = { 6851 .description = "l2_hdr_error", 6852 .field_bit_size = 1, 6853 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6854 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6855 } 6856 }, 6857 { 6858 .field_info_mask = { 6859 .description = "l2_hdr_valid", 6860 .field_bit_size = 1, 6861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6863 }, 6864 .field_info_spec = { 6865 .description = "l2_hdr_valid", 6866 .field_bit_size = 1, 6867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6868 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6869 } 6870 }, 6871 { 6872 .field_info_mask = { 6873 .description = "tun_hdr_flags", 6874 .field_bit_size = 3, 6875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6877 }, 6878 .field_info_spec = { 6879 .description = "tun_hdr_flags", 6880 .field_bit_size = 3, 6881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6882 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6883 } 6884 }, 6885 { 6886 .field_info_mask = { 6887 .description = "tun_hdr_type", 6888 .field_bit_size = 4, 6889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6890 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6891 .field_opr1 = { 6892 0xff} 6893 }, 6894 .field_info_spec = { 6895 .description = "tun_hdr_type", 6896 .field_bit_size = 4, 6897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6899 } 6900 }, 6901 { 6902 .field_info_mask = { 6903 .description = "tun_hdr_err", 6904 .field_bit_size = 1, 6905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6906 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6907 .field_opr1 = { 6908 0xff} 6909 }, 6910 .field_info_spec = { 6911 .description = "tun_hdr_err", 6912 .field_bit_size = 1, 6913 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6914 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6915 } 6916 }, 6917 { 6918 .field_info_mask = { 6919 .description = "tun_hdr_valid", 6920 .field_bit_size = 1, 6921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6922 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6923 .field_opr1 = { 6924 0xff} 6925 }, 6926 .field_info_spec = { 6927 .description = "tun_hdr_valid", 6928 .field_bit_size = 1, 6929 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6930 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6931 .field_opr1 = { 6932 ULP_WP_SYM_TUN_HDR_VALID_YES} 6933 } 6934 }, 6935 { 6936 .field_info_mask = { 6937 .description = "tl4_hdr_is_udp_tcp", 6938 .field_bit_size = 1, 6939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6940 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6941 }, 6942 .field_info_spec = { 6943 .description = "tl4_hdr_is_udp_tcp", 6944 .field_bit_size = 1, 6945 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6946 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6947 } 6948 }, 6949 { 6950 .field_info_mask = { 6951 .description = "tl4_hdr_type", 6952 .field_bit_size = 4, 6953 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6954 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6955 .field_opr1 = { 6956 0xff} 6957 }, 6958 .field_info_spec = { 6959 .description = "tl4_hdr_type", 6960 .field_bit_size = 4, 6961 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6962 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6963 .field_opr1 = { 6964 ULP_WP_SYM_TL4_HDR_TYPE_UDP} 6965 } 6966 }, 6967 { 6968 .field_info_mask = { 6969 .description = "tl4_hdr_error", 6970 .field_bit_size = 1, 6971 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6972 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6973 .field_opr1 = { 6974 0xff} 6975 }, 6976 .field_info_spec = { 6977 .description = "tl4_hdr_error", 6978 .field_bit_size = 1, 6979 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6980 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 6981 } 6982 }, 6983 { 6984 .field_info_mask = { 6985 .description = "tl4_hdr_valid", 6986 .field_bit_size = 1, 6987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6988 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 6989 .field_opr1 = { 6990 0xff} 6991 }, 6992 .field_info_spec = { 6993 .description = "tl4_hdr_valid", 6994 .field_bit_size = 1, 6995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 6996 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 6997 .field_opr1 = { 6998 ULP_WP_SYM_TL4_HDR_VALID_YES} 6999 } 7000 }, 7001 { 7002 .field_info_mask = { 7003 .description = "tl3_ipv6_cmp_dst", 7004 .field_bit_size = 1, 7005 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7006 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7007 }, 7008 .field_info_spec = { 7009 .description = "tl3_ipv6_cmp_dst", 7010 .field_bit_size = 1, 7011 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7012 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7013 } 7014 }, 7015 { 7016 .field_info_mask = { 7017 .description = "tl3_ipv6_cmp_src", 7018 .field_bit_size = 1, 7019 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7020 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7021 }, 7022 .field_info_spec = { 7023 .description = "tl3_ipv6_cmp_src", 7024 .field_bit_size = 1, 7025 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7026 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7027 } 7028 }, 7029 { 7030 .field_info_mask = { 7031 .description = "tl3_hdr_isIP", 7032 .field_bit_size = 1, 7033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7035 }, 7036 .field_info_spec = { 7037 .description = "tl3_hdr_isIP", 7038 .field_bit_size = 1, 7039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7041 } 7042 }, 7043 { 7044 .field_info_mask = { 7045 .description = "tl3_hdr_type", 7046 .field_bit_size = 4, 7047 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7048 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7049 .field_opr1 = { 7050 0xff} 7051 }, 7052 .field_info_spec = { 7053 .description = "tl3_hdr_type", 7054 .field_bit_size = 4, 7055 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7056 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7057 } 7058 }, 7059 { 7060 .field_info_mask = { 7061 .description = "tl3_hdr_error", 7062 .field_bit_size = 1, 7063 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7064 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7065 .field_opr1 = { 7066 0xff} 7067 }, 7068 .field_info_spec = { 7069 .description = "tl3_hdr_error", 7070 .field_bit_size = 1, 7071 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7072 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7073 } 7074 }, 7075 { 7076 .field_info_mask = { 7077 .description = "tl3_hdr_valid", 7078 .field_bit_size = 1, 7079 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7080 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7081 .field_opr1 = { 7082 0xff} 7083 }, 7084 .field_info_spec = { 7085 .description = "tl3_hdr_valid", 7086 .field_bit_size = 1, 7087 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7088 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7089 .field_opr1 = { 7090 ULP_WP_SYM_TL3_HDR_VALID_YES} 7091 } 7092 }, 7093 { 7094 .field_info_mask = { 7095 .description = "tl2_two_vtags", 7096 .field_bit_size = 1, 7097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7099 }, 7100 .field_info_spec = { 7101 .description = "tl2_two_vtags", 7102 .field_bit_size = 1, 7103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7105 } 7106 }, 7107 { 7108 .field_info_mask = { 7109 .description = "tl2_vtag_present", 7110 .field_bit_size = 1, 7111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7113 }, 7114 .field_info_spec = { 7115 .description = "tl2_vtag_present", 7116 .field_bit_size = 1, 7117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7119 } 7120 }, 7121 { 7122 .field_info_mask = { 7123 .description = "tl2_uc_mc_bc", 7124 .field_bit_size = 2, 7125 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7126 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7127 .field_opr1 = { 7128 0xff} 7129 }, 7130 .field_info_spec = { 7131 .description = "tl2_uc_mc_bc", 7132 .field_bit_size = 2, 7133 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7134 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7135 } 7136 }, 7137 { 7138 .field_info_mask = { 7139 .description = "tl2_hdr_type", 7140 .field_bit_size = 2, 7141 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7142 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7143 }, 7144 .field_info_spec = { 7145 .description = "tl2_hdr_type", 7146 .field_bit_size = 2, 7147 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7148 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7149 } 7150 }, 7151 { 7152 .field_info_mask = { 7153 .description = "tl2_hdr_valid", 7154 .field_bit_size = 1, 7155 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7156 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7157 .field_opr1 = { 7158 0xff} 7159 }, 7160 .field_info_spec = { 7161 .description = "tl2_hdr_valid", 7162 .field_bit_size = 1, 7163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7164 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7165 .field_opr1 = { 7166 ULP_WP_SYM_TL2_HDR_VALID_YES} 7167 } 7168 }, 7169 { 7170 .field_info_mask = { 7171 .description = "hrec_next", 7172 .field_bit_size = 1, 7173 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7174 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7175 }, 7176 .field_info_spec = { 7177 .description = "hrec_next", 7178 .field_bit_size = 1, 7179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7180 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7181 } 7182 }, 7183 { 7184 .field_info_mask = { 7185 .description = "reserved", 7186 .field_bit_size = 9, 7187 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7188 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7189 }, 7190 .field_info_spec = { 7191 .description = "reserved", 7192 .field_bit_size = 9, 7193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7194 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7195 } 7196 }, 7197 { 7198 .field_info_mask = { 7199 .description = "prof_func_id", 7200 .field_bit_size = 7, 7201 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7202 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7203 .field_opr1 = { 7204 0xff} 7205 }, 7206 .field_info_spec = { 7207 .description = "prof_func_id", 7208 .field_bit_size = 7, 7209 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7210 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 7211 .field_opr1 = { 7212 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff, 7213 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff} 7214 } 7215 }, 7216 { 7217 .field_info_mask = { 7218 .description = "agg_error", 7219 .field_bit_size = 1, 7220 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7221 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7222 }, 7223 .field_info_spec = { 7224 .description = "agg_error", 7225 .field_bit_size = 1, 7226 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7227 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7228 } 7229 }, 7230 { 7231 .field_info_mask = { 7232 .description = "recycle_cnt", 7233 .field_bit_size = 2, 7234 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7235 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7236 }, 7237 .field_info_spec = { 7238 .description = "recycle_cnt", 7239 .field_bit_size = 2, 7240 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7241 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7242 } 7243 }, 7244 { 7245 .field_info_mask = { 7246 .description = "pkt_type_0", 7247 .field_bit_size = 2, 7248 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7249 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7250 }, 7251 .field_info_spec = { 7252 .description = "pkt_type_0", 7253 .field_bit_size = 2, 7254 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7255 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7256 } 7257 }, 7258 { 7259 .field_info_mask = { 7260 .description = "pkt_type_1", 7261 .field_bit_size = 2, 7262 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7263 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7264 }, 7265 .field_info_spec = { 7266 .description = "pkt_type_1", 7267 .field_bit_size = 2, 7268 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7269 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7270 } 7271 }, 7272 { 7273 .field_info_mask = { 7274 .description = "valid", 7275 .field_bit_size = 1, 7276 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7277 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7278 .field_opr1 = { 7279 1} 7280 }, 7281 .field_info_spec = { 7282 .description = "valid", 7283 .field_bit_size = 1, 7284 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7285 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7286 .field_opr1 = { 7287 1} 7288 } 7289 }, 7290 /* class_tid: 2, , table: profile_tcam_cache.f2_wr */ 7291 { 7292 .field_info_mask = { 7293 .description = "recycle_cnt", 7294 .field_bit_size = 2, 7295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7296 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7297 .field_opr1 = { 7298 0xff} 7299 }, 7300 .field_info_spec = { 7301 .description = "recycle_cnt", 7302 .field_bit_size = 2, 7303 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7304 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7305 } 7306 }, 7307 { 7308 .field_info_mask = { 7309 .description = "prof_func_id", 7310 .field_bit_size = 7, 7311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7312 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7313 .field_opr1 = { 7314 0xff} 7315 }, 7316 .field_info_spec = { 7317 .description = "prof_func_id", 7318 .field_bit_size = 7, 7319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7320 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 7321 .field_opr1 = { 7322 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff, 7323 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff} 7324 } 7325 }, 7326 { 7327 .field_info_mask = { 7328 .description = "hdr_sig_id", 7329 .field_bit_size = 5, 7330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7331 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7332 .field_opr1 = { 7333 0xff} 7334 }, 7335 .field_info_spec = { 7336 .description = "hdr_sig_id", 7337 .field_bit_size = 5, 7338 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7339 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 7340 .field_opr1 = { 7341 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, 7342 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} 7343 } 7344 }, 7345 /* class_tid: 2, , table: em.tun */ 7346 { 7347 .field_info_mask = { 7348 .description = "spare", 7349 .field_bit_size = 3, 7350 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7351 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7352 }, 7353 .field_info_spec = { 7354 .description = "spare", 7355 .field_bit_size = 3, 7356 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7357 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7358 } 7359 }, 7360 { 7361 .field_info_mask = { 7362 .description = "l2.ivlan_vid", 7363 .field_bit_size = 12, 7364 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7365 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7366 }, 7367 .field_info_spec = { 7368 .description = "l2.ivlan_vid", 7369 .field_bit_size = 12, 7370 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7371 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7372 } 7373 }, 7374 { 7375 .field_info_mask = { 7376 .description = "l2.dmac", 7377 .field_bit_size = 48, 7378 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7379 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7380 .field_opr1 = { 7381 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, 7382 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff} 7383 }, 7384 .field_info_spec = { 7385 .description = "l2.dmac", 7386 .field_bit_size = 48, 7387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7388 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7389 .field_opr1 = { 7390 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, 7391 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff} 7392 } 7393 }, 7394 { 7395 .field_info_mask = { 7396 .description = "tun_id", 7397 .field_bit_size = 24, 7398 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7399 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7400 .field_opr1 = { 7401 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, 7402 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff} 7403 }, 7404 .field_info_spec = { 7405 .description = "tun_id", 7406 .field_bit_size = 24, 7407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7408 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7409 .field_opr1 = { 7410 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, 7411 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff} 7412 } 7413 }, 7414 { 7415 .field_info_mask = { 7416 .description = "tun_flags", 7417 .field_bit_size = 3, 7418 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7419 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7420 }, 7421 .field_info_spec = { 7422 .description = "tun_flags", 7423 .field_bit_size = 3, 7424 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7425 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7426 } 7427 }, 7428 { 7429 .field_info_mask = { 7430 .description = "tun_type", 7431 .field_bit_size = 4, 7432 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7433 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7434 .field_opr1 = { 7435 0xff} 7436 }, 7437 .field_info_spec = { 7438 .description = "tun_type", 7439 .field_bit_size = 4, 7440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7442 } 7443 }, 7444 { 7445 .field_info_mask = { 7446 .description = "l2_cntxt_id", 7447 .field_bit_size = 10, 7448 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7449 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7450 .field_opr1 = { 7451 0xff, 7452 0xff} 7453 }, 7454 .field_info_spec = { 7455 .description = "l2_cntxt_id", 7456 .field_bit_size = 10, 7457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7458 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 7459 .field_opr1 = { 7460 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 7461 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 7462 } 7463 }, 7464 { 7465 .field_info_mask = { 7466 .description = "em_profile_id", 7467 .field_bit_size = 8, 7468 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7469 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7470 .field_opr1 = { 7471 0xff} 7472 }, 7473 .field_info_spec = { 7474 .description = "em_profile_id", 7475 .field_bit_size = 8, 7476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7477 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 7478 .field_opr1 = { 7479 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 7480 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 7481 } 7482 }, 7483 /* class_tid: 2, , table: eem.tun */ 7484 { 7485 .field_info_mask = { 7486 .description = "spare", 7487 .field_bit_size = 339, 7488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7489 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7490 }, 7491 .field_info_spec = { 7492 .description = "spare", 7493 .field_bit_size = 339, 7494 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7495 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7496 } 7497 }, 7498 { 7499 .field_info_mask = { 7500 .description = "l2.ivlan_vid", 7501 .field_bit_size = 12, 7502 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7503 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7504 }, 7505 .field_info_spec = { 7506 .description = "l2.ivlan_vid", 7507 .field_bit_size = 12, 7508 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7509 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7510 } 7511 }, 7512 { 7513 .field_info_mask = { 7514 .description = "l2.dmac", 7515 .field_bit_size = 48, 7516 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7517 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7518 .field_opr1 = { 7519 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, 7520 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff} 7521 }, 7522 .field_info_spec = { 7523 .description = "l2.dmac", 7524 .field_bit_size = 48, 7525 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7526 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7527 .field_opr1 = { 7528 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff, 7529 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff} 7530 } 7531 }, 7532 { 7533 .field_info_mask = { 7534 .description = "tun_id", 7535 .field_bit_size = 24, 7536 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7537 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7538 .field_opr1 = { 7539 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, 7540 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff} 7541 }, 7542 .field_info_spec = { 7543 .description = "tun_id", 7544 .field_bit_size = 24, 7545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7546 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7547 .field_opr1 = { 7548 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff, 7549 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff} 7550 } 7551 }, 7552 { 7553 .field_info_mask = { 7554 .description = "tun_flags", 7555 .field_bit_size = 3, 7556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7557 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7558 }, 7559 .field_info_spec = { 7560 .description = "tun_flags", 7561 .field_bit_size = 3, 7562 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7563 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7564 } 7565 }, 7566 { 7567 .field_info_mask = { 7568 .description = "tun_type", 7569 .field_bit_size = 4, 7570 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7571 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7572 .field_opr1 = { 7573 0xff} 7574 }, 7575 .field_info_spec = { 7576 .description = "tun_type", 7577 .field_bit_size = 4, 7578 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7579 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7580 } 7581 }, 7582 { 7583 .field_info_mask = { 7584 .description = "l2_cntxt_id", 7585 .field_bit_size = 10, 7586 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7587 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7588 .field_opr1 = { 7589 0xff, 7590 0xff} 7591 }, 7592 .field_info_spec = { 7593 .description = "l2_cntxt_id", 7594 .field_bit_size = 10, 7595 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7596 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 7597 .field_opr1 = { 7598 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 7599 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 7600 } 7601 }, 7602 { 7603 .field_info_mask = { 7604 .description = "em_profile_id", 7605 .field_bit_size = 8, 7606 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7607 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7608 .field_opr1 = { 7609 0xff} 7610 }, 7611 .field_info_spec = { 7612 .description = "em_profile_id", 7613 .field_bit_size = 8, 7614 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7615 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 7616 .field_opr1 = { 7617 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 7618 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 7619 } 7620 }, 7621 /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */ 7622 { 7623 .field_info_mask = { 7624 .description = "svif", 7625 .field_bit_size = 8, 7626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7627 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7628 .field_opr1 = { 7629 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 7630 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 7631 }, 7632 .field_info_spec = { 7633 .description = "svif", 7634 .field_bit_size = 8, 7635 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7636 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7637 .field_opr1 = { 7638 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 7639 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 7640 } 7641 }, 7642 /* class_tid: 3, , table: mac_addr_cache.rd */ 7643 { 7644 .field_info_mask = { 7645 .description = "svif", 7646 .field_bit_size = 8, 7647 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7648 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7649 .field_opr1 = { 7650 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 7651 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 7652 }, 7653 .field_info_spec = { 7654 .description = "svif", 7655 .field_bit_size = 8, 7656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7657 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7658 .field_opr1 = { 7659 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 7660 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 7661 } 7662 }, 7663 { 7664 .field_info_mask = { 7665 .description = "tun_hdr", 7666 .field_bit_size = 4, 7667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7668 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7669 .field_opr1 = { 7670 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 7671 }, 7672 .field_info_spec = { 7673 .description = "tun_hdr", 7674 .field_bit_size = 4, 7675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7676 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7677 .field_opr1 = { 7678 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 7679 } 7680 }, 7681 { 7682 .field_info_mask = { 7683 .description = "one_tag", 7684 .field_bit_size = 1, 7685 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7686 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7687 .field_opr1 = { 7688 0xff} 7689 }, 7690 .field_info_spec = { 7691 .description = "one_tag", 7692 .field_bit_size = 1, 7693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7694 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 7695 .field_opr1 = { 7696 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 7697 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 7698 } 7699 }, 7700 { 7701 .field_info_mask = { 7702 .description = "vid", 7703 .field_bit_size = 12, 7704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 7705 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 7706 .field_opr1 = { 7707 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 7708 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 7709 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 7710 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 7711 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 7712 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 7713 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 7714 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 7715 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 7716 .field_opr2 = { 7717 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 7718 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 7719 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 7720 }, 7721 .field_info_spec = { 7722 .description = "vid", 7723 .field_bit_size = 12, 7724 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 7725 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 7726 .field_opr1 = { 7727 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 7728 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 7729 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 7730 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 7731 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 7732 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 7733 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 7734 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 7735 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 7736 .field_opr2 = { 7737 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 7738 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 7739 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 7740 } 7741 }, 7742 { 7743 .field_info_mask = { 7744 .description = "mac_addr", 7745 .field_bit_size = 48, 7746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7747 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7748 .field_opr1 = { 7749 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 7750 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 7751 }, 7752 .field_info_spec = { 7753 .description = "mac_addr", 7754 .field_bit_size = 48, 7755 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7756 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7757 .field_opr1 = { 7758 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 7759 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 7760 } 7761 }, 7762 /* class_tid: 3, , table: l2_cntxt_tcam.0 */ 7763 { 7764 .field_info_mask = { 7765 .description = "l2_ivlan_vid", 7766 .field_bit_size = 12, 7767 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 7768 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 7769 .field_opr1 = { 7770 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 7771 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 7772 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 7773 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 7774 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 7775 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 7776 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 7777 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 7778 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 7779 .field_opr2 = { 7780 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 7781 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 7782 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 7783 }, 7784 .field_info_spec = { 7785 .description = "l2_ivlan_vid", 7786 .field_bit_size = 12, 7787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 7788 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 7789 .field_opr1 = { 7790 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 7791 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 7792 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 7793 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 7794 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 7795 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 7796 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 7797 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 7798 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 7799 .field_opr2 = { 7800 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 7801 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 7802 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 7803 } 7804 }, 7805 { 7806 .field_info_mask = { 7807 .description = "l2_ovlan_vid", 7808 .field_bit_size = 12, 7809 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7810 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7811 }, 7812 .field_info_spec = { 7813 .description = "l2_ovlan_vid", 7814 .field_bit_size = 12, 7815 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7816 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7817 } 7818 }, 7819 { 7820 .field_info_mask = { 7821 .description = "mac0_addr", 7822 .field_bit_size = 48, 7823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7824 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7825 .field_opr1 = { 7826 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 7827 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 7828 }, 7829 .field_info_spec = { 7830 .description = "mac0_addr", 7831 .field_bit_size = 48, 7832 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7833 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7834 .field_opr1 = { 7835 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 7836 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 7837 } 7838 }, 7839 { 7840 .field_info_mask = { 7841 .description = "svif", 7842 .field_bit_size = 8, 7843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7844 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7845 .field_opr1 = { 7846 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 7847 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 7848 }, 7849 .field_info_spec = { 7850 .description = "svif", 7851 .field_bit_size = 8, 7852 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7853 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 7854 .field_opr1 = { 7855 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 7856 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 7857 } 7858 }, 7859 { 7860 .field_info_mask = { 7861 .description = "sparif", 7862 .field_bit_size = 4, 7863 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7864 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7865 }, 7866 .field_info_spec = { 7867 .description = "sparif", 7868 .field_bit_size = 4, 7869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7870 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7871 } 7872 }, 7873 { 7874 .field_info_mask = { 7875 .description = "tl2_ivlan_vid", 7876 .field_bit_size = 12, 7877 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7878 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7879 }, 7880 .field_info_spec = { 7881 .description = "tl2_ivlan_vid", 7882 .field_bit_size = 12, 7883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7884 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7885 } 7886 }, 7887 { 7888 .field_info_mask = { 7889 .description = "tl2_ovlan_vid", 7890 .field_bit_size = 12, 7891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7893 }, 7894 .field_info_spec = { 7895 .description = "tl2_ovlan_vid", 7896 .field_bit_size = 12, 7897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7899 } 7900 }, 7901 { 7902 .field_info_mask = { 7903 .description = "mac1_addr", 7904 .field_bit_size = 48, 7905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7906 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7907 }, 7908 .field_info_spec = { 7909 .description = "mac1_addr", 7910 .field_bit_size = 48, 7911 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7912 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7913 } 7914 }, 7915 { 7916 .field_info_mask = { 7917 .description = "l2_num_vtags", 7918 .field_bit_size = 2, 7919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7920 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 7921 .field_opr1 = { 7922 0xff} 7923 }, 7924 .field_info_spec = { 7925 .description = "l2_num_vtags", 7926 .field_bit_size = 2, 7927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7928 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 7929 .field_opr1 = { 7930 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff, 7931 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff} 7932 } 7933 }, 7934 { 7935 .field_info_mask = { 7936 .description = "tl2_num_vtags", 7937 .field_bit_size = 2, 7938 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7939 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7940 }, 7941 .field_info_spec = { 7942 .description = "tl2_num_vtags", 7943 .field_bit_size = 2, 7944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7945 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7946 } 7947 }, 7948 { 7949 .field_info_mask = { 7950 .description = "tun_hdr_type", 7951 .field_bit_size = 4, 7952 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7953 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7954 }, 7955 .field_info_spec = { 7956 .description = "tun_hdr_type", 7957 .field_bit_size = 4, 7958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7959 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7960 } 7961 }, 7962 { 7963 .field_info_mask = { 7964 .description = "key_type", 7965 .field_bit_size = 2, 7966 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7967 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7968 }, 7969 .field_info_spec = { 7970 .description = "key_type", 7971 .field_bit_size = 2, 7972 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7973 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 7974 } 7975 }, 7976 { 7977 .field_info_mask = { 7978 .description = "valid", 7979 .field_bit_size = 1, 7980 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7981 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7982 .field_opr1 = { 7983 1} 7984 }, 7985 .field_info_spec = { 7986 .description = "valid", 7987 .field_bit_size = 1, 7988 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 7989 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 7990 .field_opr1 = { 7991 1} 7992 } 7993 }, 7994 /* class_tid: 3, , table: mac_addr_cache.wr */ 7995 { 7996 .field_info_mask = { 7997 .description = "svif", 7998 .field_bit_size = 8, 7999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8000 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 8001 .field_opr1 = { 8002 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 8003 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 8004 }, 8005 .field_info_spec = { 8006 .description = "svif", 8007 .field_bit_size = 8, 8008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8009 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 8010 .field_opr1 = { 8011 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, 8012 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} 8013 } 8014 }, 8015 { 8016 .field_info_mask = { 8017 .description = "tun_hdr", 8018 .field_bit_size = 4, 8019 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8020 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 8021 .field_opr1 = { 8022 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 8023 }, 8024 .field_info_spec = { 8025 .description = "tun_hdr", 8026 .field_bit_size = 4, 8027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8028 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 8029 .field_opr1 = { 8030 ULP_WP_SYM_TUN_HDR_TYPE_NONE} 8031 } 8032 }, 8033 { 8034 .field_info_mask = { 8035 .description = "one_tag", 8036 .field_bit_size = 1, 8037 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8038 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8039 .field_opr1 = { 8040 0xff} 8041 }, 8042 .field_info_spec = { 8043 .description = "one_tag", 8044 .field_bit_size = 1, 8045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8046 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8047 .field_opr1 = { 8048 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 8049 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 8050 } 8051 }, 8052 { 8053 .field_info_mask = { 8054 .description = "vid", 8055 .field_bit_size = 12, 8056 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8057 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 8058 .field_opr1 = { 8059 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 8060 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 8061 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 8062 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 8063 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 8064 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 8065 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 8066 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 8067 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 8068 .field_opr2 = { 8069 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 8070 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 8071 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 8072 }, 8073 .field_info_spec = { 8074 .description = "vid", 8075 .field_bit_size = 12, 8076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8077 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 8078 .field_opr1 = { 8079 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, 8080 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, 8081 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, 8082 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, 8083 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, 8084 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, 8085 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, 8086 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, 8087 .field_src2 = BNXT_ULP_FIELD_SRC_HF, 8088 .field_opr2 = { 8089 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, 8090 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, 8091 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 8092 } 8093 }, 8094 { 8095 .field_info_mask = { 8096 .description = "mac_addr", 8097 .field_bit_size = 48, 8098 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8099 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 8100 .field_opr1 = { 8101 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 8102 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 8103 }, 8104 .field_info_spec = { 8105 .description = "mac_addr", 8106 .field_bit_size = 48, 8107 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8108 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 8109 .field_opr1 = { 8110 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 8111 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 8112 } 8113 }, 8114 /* class_tid: 3, , table: profile_tcam_cache.rd */ 8115 { 8116 .field_info_mask = { 8117 .description = "recycle_cnt", 8118 .field_bit_size = 2, 8119 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8120 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8121 .field_opr1 = { 8122 0xff} 8123 }, 8124 .field_info_spec = { 8125 .description = "recycle_cnt", 8126 .field_bit_size = 2, 8127 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8128 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8129 } 8130 }, 8131 { 8132 .field_info_mask = { 8133 .description = "prof_func_id", 8134 .field_bit_size = 7, 8135 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8136 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8137 .field_opr1 = { 8138 0xff} 8139 }, 8140 .field_info_spec = { 8141 .description = "prof_func_id", 8142 .field_bit_size = 7, 8143 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8144 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 8145 .field_opr1 = { 8146 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 8147 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, 8148 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 8149 .field_opr2 = { 8150 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 8151 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 8152 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 8153 .field_opr3 = { 8154 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 8155 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 8156 } 8157 }, 8158 { 8159 .field_info_mask = { 8160 .description = "hdr_sig_id", 8161 .field_bit_size = 5, 8162 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8163 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8164 .field_opr1 = { 8165 0xff} 8166 }, 8167 .field_info_spec = { 8168 .description = "hdr_sig_id", 8169 .field_bit_size = 5, 8170 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8171 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8172 .field_opr1 = { 8173 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, 8174 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} 8175 } 8176 }, 8177 /* class_tid: 3, , table: profile_tcam.ipv4 */ 8178 { 8179 .field_info_mask = { 8180 .description = "l4_hdr_is_udp_tcp", 8181 .field_bit_size = 1, 8182 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8183 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8184 }, 8185 .field_info_spec = { 8186 .description = "l4_hdr_is_udp_tcp", 8187 .field_bit_size = 1, 8188 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8189 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8190 } 8191 }, 8192 { 8193 .field_info_mask = { 8194 .description = "l4_hdr_type", 8195 .field_bit_size = 4, 8196 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8197 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8198 .field_opr1 = { 8199 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8200 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 8201 .field_src2 = BNXT_ULP_FIELD_SRC_ONES, 8202 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 8203 }, 8204 .field_info_spec = { 8205 .description = "l4_hdr_type", 8206 .field_bit_size = 4, 8207 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8208 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 8209 .field_opr1 = { 8210 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, 8211 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, 8212 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, 8213 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, 8214 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, 8215 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, 8216 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, 8217 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, 8218 .field_src2 = BNXT_ULP_FIELD_SRC_CONST, 8219 .field_opr2 = { 8220 ULP_WP_SYM_L4_HDR_TYPE_TCP}, 8221 .field_src3 = BNXT_ULP_FIELD_SRC_CONST, 8222 .field_opr3 = { 8223 ULP_WP_SYM_L4_HDR_TYPE_UDP} 8224 } 8225 }, 8226 { 8227 .field_info_mask = { 8228 .description = "l4_hdr_error", 8229 .field_bit_size = 1, 8230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8231 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8232 .field_opr1 = { 8233 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8234 BNXT_ULP_CF_IDX_O_L4 & 0xff} 8235 }, 8236 .field_info_spec = { 8237 .description = "l4_hdr_error", 8238 .field_bit_size = 1, 8239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8240 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8241 } 8242 }, 8243 { 8244 .field_info_mask = { 8245 .description = "l4_hdr_valid", 8246 .field_bit_size = 1, 8247 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8248 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8249 .field_opr1 = { 8250 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8251 BNXT_ULP_CF_IDX_O_L4 & 0xff} 8252 }, 8253 .field_info_spec = { 8254 .description = "l4_hdr_valid", 8255 .field_bit_size = 1, 8256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8257 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8258 .field_opr1 = { 8259 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8260 BNXT_ULP_CF_IDX_O_L4 & 0xff} 8261 } 8262 }, 8263 { 8264 .field_info_mask = { 8265 .description = "l3_ipv6_cmp_dst", 8266 .field_bit_size = 1, 8267 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8268 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8269 }, 8270 .field_info_spec = { 8271 .description = "l3_ipv6_cmp_dst", 8272 .field_bit_size = 1, 8273 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8274 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8275 } 8276 }, 8277 { 8278 .field_info_mask = { 8279 .description = "l3_ipv6_cmp_src", 8280 .field_bit_size = 1, 8281 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8282 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8283 }, 8284 .field_info_spec = { 8285 .description = "l3_ipv6_cmp_src", 8286 .field_bit_size = 1, 8287 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8288 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8289 } 8290 }, 8291 { 8292 .field_info_mask = { 8293 .description = "l3_hdr_isIP", 8294 .field_bit_size = 1, 8295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8296 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8297 }, 8298 .field_info_spec = { 8299 .description = "l3_hdr_isIP", 8300 .field_bit_size = 1, 8301 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8302 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8303 } 8304 }, 8305 { 8306 .field_info_mask = { 8307 .description = "l3_hdr_type", 8308 .field_bit_size = 4, 8309 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8310 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8311 .field_opr1 = { 8312 0xff} 8313 }, 8314 .field_info_spec = { 8315 .description = "l3_hdr_type", 8316 .field_bit_size = 4, 8317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8318 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8319 } 8320 }, 8321 { 8322 .field_info_mask = { 8323 .description = "l3_hdr_error", 8324 .field_bit_size = 1, 8325 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8326 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8327 .field_opr1 = { 8328 0xff} 8329 }, 8330 .field_info_spec = { 8331 .description = "l3_hdr_error", 8332 .field_bit_size = 1, 8333 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8335 } 8336 }, 8337 { 8338 .field_info_mask = { 8339 .description = "l3_hdr_valid", 8340 .field_bit_size = 1, 8341 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8342 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8343 .field_opr1 = { 8344 0xff} 8345 }, 8346 .field_info_spec = { 8347 .description = "l3_hdr_valid", 8348 .field_bit_size = 1, 8349 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8350 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 8351 .field_opr1 = { 8352 ULP_WP_SYM_L3_HDR_VALID_YES} 8353 } 8354 }, 8355 { 8356 .field_info_mask = { 8357 .description = "l2_two_vtags", 8358 .field_bit_size = 1, 8359 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8360 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8361 .field_opr1 = { 8362 0xff} 8363 }, 8364 .field_info_spec = { 8365 .description = "l2_two_vtags", 8366 .field_bit_size = 1, 8367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8368 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8369 } 8370 }, 8371 { 8372 .field_info_mask = { 8373 .description = "l2_vtag_present", 8374 .field_bit_size = 1, 8375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8376 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8377 .field_opr1 = { 8378 0xff} 8379 }, 8380 .field_info_spec = { 8381 .description = "l2_vtag_present", 8382 .field_bit_size = 1, 8383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8384 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8385 .field_opr1 = { 8386 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 8387 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 8388 } 8389 }, 8390 { 8391 .field_info_mask = { 8392 .description = "l2_uc_mc_bc", 8393 .field_bit_size = 2, 8394 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8395 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8396 .field_opr1 = { 8397 0xff} 8398 }, 8399 .field_info_spec = { 8400 .description = "l2_uc_mc_bc", 8401 .field_bit_size = 2, 8402 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8403 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8404 } 8405 }, 8406 { 8407 .field_info_mask = { 8408 .description = "l2_hdr_type", 8409 .field_bit_size = 2, 8410 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8411 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8412 .field_opr1 = { 8413 0xff} 8414 }, 8415 .field_info_spec = { 8416 .description = "l2_hdr_type", 8417 .field_bit_size = 2, 8418 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8419 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8420 } 8421 }, 8422 { 8423 .field_info_mask = { 8424 .description = "l2_hdr_error", 8425 .field_bit_size = 1, 8426 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8427 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8428 .field_opr1 = { 8429 0xff} 8430 }, 8431 .field_info_spec = { 8432 .description = "l2_hdr_error", 8433 .field_bit_size = 1, 8434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8436 } 8437 }, 8438 { 8439 .field_info_mask = { 8440 .description = "l2_hdr_valid", 8441 .field_bit_size = 1, 8442 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8443 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8444 .field_opr1 = { 8445 0xff} 8446 }, 8447 .field_info_spec = { 8448 .description = "l2_hdr_valid", 8449 .field_bit_size = 1, 8450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8451 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 8452 .field_opr1 = { 8453 ULP_WP_SYM_L2_HDR_VALID_YES} 8454 } 8455 }, 8456 { 8457 .field_info_mask = { 8458 .description = "tun_hdr_flags", 8459 .field_bit_size = 3, 8460 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8461 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8462 }, 8463 .field_info_spec = { 8464 .description = "tun_hdr_flags", 8465 .field_bit_size = 3, 8466 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8467 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8468 } 8469 }, 8470 { 8471 .field_info_mask = { 8472 .description = "tun_hdr_type", 8473 .field_bit_size = 4, 8474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8475 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8476 }, 8477 .field_info_spec = { 8478 .description = "tun_hdr_type", 8479 .field_bit_size = 4, 8480 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8481 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8482 } 8483 }, 8484 { 8485 .field_info_mask = { 8486 .description = "tun_hdr_err", 8487 .field_bit_size = 1, 8488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8489 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8490 }, 8491 .field_info_spec = { 8492 .description = "tun_hdr_err", 8493 .field_bit_size = 1, 8494 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8495 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8496 } 8497 }, 8498 { 8499 .field_info_mask = { 8500 .description = "tun_hdr_valid", 8501 .field_bit_size = 1, 8502 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8503 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8504 .field_opr1 = { 8505 0xff} 8506 }, 8507 .field_info_spec = { 8508 .description = "tun_hdr_valid", 8509 .field_bit_size = 1, 8510 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8511 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8512 } 8513 }, 8514 { 8515 .field_info_mask = { 8516 .description = "tl4_hdr_is_udp_tcp", 8517 .field_bit_size = 1, 8518 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8519 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8520 }, 8521 .field_info_spec = { 8522 .description = "tl4_hdr_is_udp_tcp", 8523 .field_bit_size = 1, 8524 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8525 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8526 } 8527 }, 8528 { 8529 .field_info_mask = { 8530 .description = "tl4_hdr_type", 8531 .field_bit_size = 4, 8532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8533 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8534 }, 8535 .field_info_spec = { 8536 .description = "tl4_hdr_type", 8537 .field_bit_size = 4, 8538 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8539 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8540 } 8541 }, 8542 { 8543 .field_info_mask = { 8544 .description = "tl4_hdr_error", 8545 .field_bit_size = 1, 8546 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8547 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8548 }, 8549 .field_info_spec = { 8550 .description = "tl4_hdr_error", 8551 .field_bit_size = 1, 8552 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8553 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8554 } 8555 }, 8556 { 8557 .field_info_mask = { 8558 .description = "tl4_hdr_valid", 8559 .field_bit_size = 1, 8560 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8561 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8562 .field_opr1 = { 8563 0xff} 8564 }, 8565 .field_info_spec = { 8566 .description = "tl4_hdr_valid", 8567 .field_bit_size = 1, 8568 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8569 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8570 } 8571 }, 8572 { 8573 .field_info_mask = { 8574 .description = "tl3_ipv6_cmp_dst", 8575 .field_bit_size = 1, 8576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8577 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8578 }, 8579 .field_info_spec = { 8580 .description = "tl3_ipv6_cmp_dst", 8581 .field_bit_size = 1, 8582 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8583 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8584 } 8585 }, 8586 { 8587 .field_info_mask = { 8588 .description = "tl3_ipv6_cmp_src", 8589 .field_bit_size = 1, 8590 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8591 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8592 }, 8593 .field_info_spec = { 8594 .description = "tl3_ipv6_cmp_src", 8595 .field_bit_size = 1, 8596 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8597 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8598 } 8599 }, 8600 { 8601 .field_info_mask = { 8602 .description = "tl3_hdr_isIP", 8603 .field_bit_size = 1, 8604 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8605 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8606 }, 8607 .field_info_spec = { 8608 .description = "tl3_hdr_isIP", 8609 .field_bit_size = 1, 8610 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8611 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8612 } 8613 }, 8614 { 8615 .field_info_mask = { 8616 .description = "tl3_hdr_type", 8617 .field_bit_size = 4, 8618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8619 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8620 }, 8621 .field_info_spec = { 8622 .description = "tl3_hdr_type", 8623 .field_bit_size = 4, 8624 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8625 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8626 } 8627 }, 8628 { 8629 .field_info_mask = { 8630 .description = "tl3_hdr_error", 8631 .field_bit_size = 1, 8632 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8633 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8634 }, 8635 .field_info_spec = { 8636 .description = "tl3_hdr_error", 8637 .field_bit_size = 1, 8638 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8639 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8640 } 8641 }, 8642 { 8643 .field_info_mask = { 8644 .description = "tl3_hdr_valid", 8645 .field_bit_size = 1, 8646 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8647 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8648 .field_opr1 = { 8649 0xff} 8650 }, 8651 .field_info_spec = { 8652 .description = "tl3_hdr_valid", 8653 .field_bit_size = 1, 8654 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8655 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8656 } 8657 }, 8658 { 8659 .field_info_mask = { 8660 .description = "tl2_two_vtags", 8661 .field_bit_size = 1, 8662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8664 }, 8665 .field_info_spec = { 8666 .description = "tl2_two_vtags", 8667 .field_bit_size = 1, 8668 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8669 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8670 } 8671 }, 8672 { 8673 .field_info_mask = { 8674 .description = "tl2_vtag_present", 8675 .field_bit_size = 1, 8676 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8677 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8678 }, 8679 .field_info_spec = { 8680 .description = "tl2_vtag_present", 8681 .field_bit_size = 1, 8682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8683 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8684 } 8685 }, 8686 { 8687 .field_info_mask = { 8688 .description = "tl2_uc_mc_bc", 8689 .field_bit_size = 2, 8690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8691 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8692 }, 8693 .field_info_spec = { 8694 .description = "tl2_uc_mc_bc", 8695 .field_bit_size = 2, 8696 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8697 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8698 } 8699 }, 8700 { 8701 .field_info_mask = { 8702 .description = "tl2_hdr_type", 8703 .field_bit_size = 2, 8704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8705 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8706 }, 8707 .field_info_spec = { 8708 .description = "tl2_hdr_type", 8709 .field_bit_size = 2, 8710 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8711 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8712 } 8713 }, 8714 { 8715 .field_info_mask = { 8716 .description = "tl2_hdr_valid", 8717 .field_bit_size = 1, 8718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8719 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8720 .field_opr1 = { 8721 0xff} 8722 }, 8723 .field_info_spec = { 8724 .description = "tl2_hdr_valid", 8725 .field_bit_size = 1, 8726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8727 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8728 } 8729 }, 8730 { 8731 .field_info_mask = { 8732 .description = "hrec_next", 8733 .field_bit_size = 1, 8734 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8735 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8736 }, 8737 .field_info_spec = { 8738 .description = "hrec_next", 8739 .field_bit_size = 1, 8740 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8741 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8742 } 8743 }, 8744 { 8745 .field_info_mask = { 8746 .description = "reserved", 8747 .field_bit_size = 9, 8748 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8749 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8750 }, 8751 .field_info_spec = { 8752 .description = "reserved", 8753 .field_bit_size = 9, 8754 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8755 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8756 } 8757 }, 8758 { 8759 .field_info_mask = { 8760 .description = "prof_func_id", 8761 .field_bit_size = 7, 8762 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8763 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8764 .field_opr1 = { 8765 0xff} 8766 }, 8767 .field_info_spec = { 8768 .description = "prof_func_id", 8769 .field_bit_size = 7, 8770 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8771 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 8772 .field_opr1 = { 8773 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 8774 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, 8775 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 8776 .field_opr2 = { 8777 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 8778 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 8779 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 8780 .field_opr3 = { 8781 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 8782 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 8783 } 8784 }, 8785 { 8786 .field_info_mask = { 8787 .description = "agg_error", 8788 .field_bit_size = 1, 8789 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8790 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8791 }, 8792 .field_info_spec = { 8793 .description = "agg_error", 8794 .field_bit_size = 1, 8795 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8796 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8797 } 8798 }, 8799 { 8800 .field_info_mask = { 8801 .description = "recycle_cnt", 8802 .field_bit_size = 2, 8803 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8804 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8805 }, 8806 .field_info_spec = { 8807 .description = "recycle_cnt", 8808 .field_bit_size = 2, 8809 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8810 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8811 } 8812 }, 8813 { 8814 .field_info_mask = { 8815 .description = "pkt_type_0", 8816 .field_bit_size = 2, 8817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8818 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8819 }, 8820 .field_info_spec = { 8821 .description = "pkt_type_0", 8822 .field_bit_size = 2, 8823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8824 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8825 } 8826 }, 8827 { 8828 .field_info_mask = { 8829 .description = "pkt_type_1", 8830 .field_bit_size = 2, 8831 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8833 }, 8834 .field_info_spec = { 8835 .description = "pkt_type_1", 8836 .field_bit_size = 2, 8837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8839 } 8840 }, 8841 { 8842 .field_info_mask = { 8843 .description = "valid", 8844 .field_bit_size = 1, 8845 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8846 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 8847 .field_opr1 = { 8848 1} 8849 }, 8850 .field_info_spec = { 8851 .description = "valid", 8852 .field_bit_size = 1, 8853 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8854 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 8855 .field_opr1 = { 8856 1} 8857 } 8858 }, 8859 /* class_tid: 3, , table: profile_tcam.ipv6 */ 8860 { 8861 .field_info_mask = { 8862 .description = "l4_hdr_is_udp_tcp", 8863 .field_bit_size = 1, 8864 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8865 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8866 }, 8867 .field_info_spec = { 8868 .description = "l4_hdr_is_udp_tcp", 8869 .field_bit_size = 1, 8870 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8871 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8872 } 8873 }, 8874 { 8875 .field_info_mask = { 8876 .description = "l4_hdr_type", 8877 .field_bit_size = 4, 8878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8879 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8880 .field_opr1 = { 8881 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8882 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 8883 .field_src2 = BNXT_ULP_FIELD_SRC_ONES, 8884 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 8885 }, 8886 .field_info_spec = { 8887 .description = "l4_hdr_type", 8888 .field_bit_size = 4, 8889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 8890 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, 8891 .field_opr1 = { 8892 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, 8893 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, 8894 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, 8895 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, 8896 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, 8897 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, 8898 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, 8899 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, 8900 .field_src2 = BNXT_ULP_FIELD_SRC_CONST, 8901 .field_opr2 = { 8902 ULP_WP_SYM_L4_HDR_TYPE_TCP}, 8903 .field_src3 = BNXT_ULP_FIELD_SRC_CONST, 8904 .field_opr3 = { 8905 ULP_WP_SYM_L4_HDR_TYPE_UDP} 8906 } 8907 }, 8908 { 8909 .field_info_mask = { 8910 .description = "l4_hdr_error", 8911 .field_bit_size = 1, 8912 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8913 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8914 .field_opr1 = { 8915 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8916 BNXT_ULP_CF_IDX_O_L4 & 0xff} 8917 }, 8918 .field_info_spec = { 8919 .description = "l4_hdr_error", 8920 .field_bit_size = 1, 8921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8923 } 8924 }, 8925 { 8926 .field_info_mask = { 8927 .description = "l4_hdr_valid", 8928 .field_bit_size = 1, 8929 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8930 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8931 .field_opr1 = { 8932 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8933 BNXT_ULP_CF_IDX_O_L4 & 0xff} 8934 }, 8935 .field_info_spec = { 8936 .description = "l4_hdr_valid", 8937 .field_bit_size = 1, 8938 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8939 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 8940 .field_opr1 = { 8941 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 8942 BNXT_ULP_CF_IDX_O_L4 & 0xff} 8943 } 8944 }, 8945 { 8946 .field_info_mask = { 8947 .description = "l3_ipv6_cmp_dst", 8948 .field_bit_size = 1, 8949 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8950 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8951 }, 8952 .field_info_spec = { 8953 .description = "l3_ipv6_cmp_dst", 8954 .field_bit_size = 1, 8955 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8956 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8957 } 8958 }, 8959 { 8960 .field_info_mask = { 8961 .description = "l3_ipv6_cmp_src", 8962 .field_bit_size = 1, 8963 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8964 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8965 }, 8966 .field_info_spec = { 8967 .description = "l3_ipv6_cmp_src", 8968 .field_bit_size = 1, 8969 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8970 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8971 } 8972 }, 8973 { 8974 .field_info_mask = { 8975 .description = "l3_hdr_isIP", 8976 .field_bit_size = 1, 8977 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8978 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8979 }, 8980 .field_info_spec = { 8981 .description = "l3_hdr_isIP", 8982 .field_bit_size = 1, 8983 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8984 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 8985 } 8986 }, 8987 { 8988 .field_info_mask = { 8989 .description = "l3_hdr_type", 8990 .field_bit_size = 4, 8991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 8992 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 8993 .field_opr1 = { 8994 0xff} 8995 }, 8996 .field_info_spec = { 8997 .description = "l3_hdr_type", 8998 .field_bit_size = 4, 8999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9000 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 9001 .field_opr1 = { 9002 ULP_WP_SYM_L3_HDR_TYPE_IPV6} 9003 } 9004 }, 9005 { 9006 .field_info_mask = { 9007 .description = "l3_hdr_error", 9008 .field_bit_size = 1, 9009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9010 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9011 .field_opr1 = { 9012 0xff} 9013 }, 9014 .field_info_spec = { 9015 .description = "l3_hdr_error", 9016 .field_bit_size = 1, 9017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9018 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9019 } 9020 }, 9021 { 9022 .field_info_mask = { 9023 .description = "l3_hdr_valid", 9024 .field_bit_size = 1, 9025 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9026 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9027 .field_opr1 = { 9028 0xff} 9029 }, 9030 .field_info_spec = { 9031 .description = "l3_hdr_valid", 9032 .field_bit_size = 1, 9033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9034 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 9035 .field_opr1 = { 9036 ULP_WP_SYM_L3_HDR_VALID_YES} 9037 } 9038 }, 9039 { 9040 .field_info_mask = { 9041 .description = "l2_two_vtags", 9042 .field_bit_size = 1, 9043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9044 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9045 .field_opr1 = { 9046 0xff} 9047 }, 9048 .field_info_spec = { 9049 .description = "l2_two_vtags", 9050 .field_bit_size = 1, 9051 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9052 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9053 } 9054 }, 9055 { 9056 .field_info_mask = { 9057 .description = "l2_vtag_present", 9058 .field_bit_size = 1, 9059 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9060 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9061 .field_opr1 = { 9062 0xff} 9063 }, 9064 .field_info_spec = { 9065 .description = "l2_vtag_present", 9066 .field_bit_size = 1, 9067 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9068 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 9069 .field_opr1 = { 9070 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, 9071 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} 9072 } 9073 }, 9074 { 9075 .field_info_mask = { 9076 .description = "l2_uc_mc_bc", 9077 .field_bit_size = 2, 9078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9079 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9080 .field_opr1 = { 9081 0xff} 9082 }, 9083 .field_info_spec = { 9084 .description = "l2_uc_mc_bc", 9085 .field_bit_size = 2, 9086 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9087 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9088 } 9089 }, 9090 { 9091 .field_info_mask = { 9092 .description = "l2_hdr_type", 9093 .field_bit_size = 2, 9094 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9095 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9096 .field_opr1 = { 9097 0xff} 9098 }, 9099 .field_info_spec = { 9100 .description = "l2_hdr_type", 9101 .field_bit_size = 2, 9102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9104 } 9105 }, 9106 { 9107 .field_info_mask = { 9108 .description = "l2_hdr_error", 9109 .field_bit_size = 1, 9110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9111 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9112 .field_opr1 = { 9113 0xff} 9114 }, 9115 .field_info_spec = { 9116 .description = "l2_hdr_error", 9117 .field_bit_size = 1, 9118 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9119 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9120 } 9121 }, 9122 { 9123 .field_info_mask = { 9124 .description = "l2_hdr_valid", 9125 .field_bit_size = 1, 9126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9127 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9128 .field_opr1 = { 9129 0xff} 9130 }, 9131 .field_info_spec = { 9132 .description = "l2_hdr_valid", 9133 .field_bit_size = 1, 9134 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9135 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 9136 .field_opr1 = { 9137 ULP_WP_SYM_L2_HDR_VALID_YES} 9138 } 9139 }, 9140 { 9141 .field_info_mask = { 9142 .description = "tun_hdr_flags", 9143 .field_bit_size = 3, 9144 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9145 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9146 }, 9147 .field_info_spec = { 9148 .description = "tun_hdr_flags", 9149 .field_bit_size = 3, 9150 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9151 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9152 } 9153 }, 9154 { 9155 .field_info_mask = { 9156 .description = "tun_hdr_type", 9157 .field_bit_size = 4, 9158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9160 }, 9161 .field_info_spec = { 9162 .description = "tun_hdr_type", 9163 .field_bit_size = 4, 9164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9165 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9166 } 9167 }, 9168 { 9169 .field_info_mask = { 9170 .description = "tun_hdr_err", 9171 .field_bit_size = 1, 9172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9173 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9174 }, 9175 .field_info_spec = { 9176 .description = "tun_hdr_err", 9177 .field_bit_size = 1, 9178 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9179 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9180 } 9181 }, 9182 { 9183 .field_info_mask = { 9184 .description = "tun_hdr_valid", 9185 .field_bit_size = 1, 9186 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9187 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9188 .field_opr1 = { 9189 0xff} 9190 }, 9191 .field_info_spec = { 9192 .description = "tun_hdr_valid", 9193 .field_bit_size = 1, 9194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9196 } 9197 }, 9198 { 9199 .field_info_mask = { 9200 .description = "tl4_hdr_is_udp_tcp", 9201 .field_bit_size = 1, 9202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9204 }, 9205 .field_info_spec = { 9206 .description = "tl4_hdr_is_udp_tcp", 9207 .field_bit_size = 1, 9208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9210 } 9211 }, 9212 { 9213 .field_info_mask = { 9214 .description = "tl4_hdr_type", 9215 .field_bit_size = 4, 9216 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9217 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9218 }, 9219 .field_info_spec = { 9220 .description = "tl4_hdr_type", 9221 .field_bit_size = 4, 9222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9224 } 9225 }, 9226 { 9227 .field_info_mask = { 9228 .description = "tl4_hdr_error", 9229 .field_bit_size = 1, 9230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9231 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9232 }, 9233 .field_info_spec = { 9234 .description = "tl4_hdr_error", 9235 .field_bit_size = 1, 9236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9238 } 9239 }, 9240 { 9241 .field_info_mask = { 9242 .description = "tl4_hdr_valid", 9243 .field_bit_size = 1, 9244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9245 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9246 .field_opr1 = { 9247 0xff} 9248 }, 9249 .field_info_spec = { 9250 .description = "tl4_hdr_valid", 9251 .field_bit_size = 1, 9252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9254 } 9255 }, 9256 { 9257 .field_info_mask = { 9258 .description = "tl3_ipv6_cmp_dst", 9259 .field_bit_size = 1, 9260 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9261 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9262 }, 9263 .field_info_spec = { 9264 .description = "tl3_ipv6_cmp_dst", 9265 .field_bit_size = 1, 9266 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9267 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9268 } 9269 }, 9270 { 9271 .field_info_mask = { 9272 .description = "tl3_ipv6_cmp_src", 9273 .field_bit_size = 1, 9274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9275 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9276 }, 9277 .field_info_spec = { 9278 .description = "tl3_ipv6_cmp_src", 9279 .field_bit_size = 1, 9280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9281 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9282 } 9283 }, 9284 { 9285 .field_info_mask = { 9286 .description = "tl3_hdr_isIP", 9287 .field_bit_size = 1, 9288 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9289 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9290 }, 9291 .field_info_spec = { 9292 .description = "tl3_hdr_isIP", 9293 .field_bit_size = 1, 9294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9295 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9296 } 9297 }, 9298 { 9299 .field_info_mask = { 9300 .description = "tl3_hdr_type", 9301 .field_bit_size = 4, 9302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9304 }, 9305 .field_info_spec = { 9306 .description = "tl3_hdr_type", 9307 .field_bit_size = 4, 9308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9310 } 9311 }, 9312 { 9313 .field_info_mask = { 9314 .description = "tl3_hdr_error", 9315 .field_bit_size = 1, 9316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9317 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9318 }, 9319 .field_info_spec = { 9320 .description = "tl3_hdr_error", 9321 .field_bit_size = 1, 9322 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9323 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9324 } 9325 }, 9326 { 9327 .field_info_mask = { 9328 .description = "tl3_hdr_valid", 9329 .field_bit_size = 1, 9330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9331 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9332 .field_opr1 = { 9333 0xff} 9334 }, 9335 .field_info_spec = { 9336 .description = "tl3_hdr_valid", 9337 .field_bit_size = 1, 9338 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9339 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9340 } 9341 }, 9342 { 9343 .field_info_mask = { 9344 .description = "tl2_two_vtags", 9345 .field_bit_size = 1, 9346 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9347 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9348 }, 9349 .field_info_spec = { 9350 .description = "tl2_two_vtags", 9351 .field_bit_size = 1, 9352 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9353 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9354 } 9355 }, 9356 { 9357 .field_info_mask = { 9358 .description = "tl2_vtag_present", 9359 .field_bit_size = 1, 9360 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9361 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9362 }, 9363 .field_info_spec = { 9364 .description = "tl2_vtag_present", 9365 .field_bit_size = 1, 9366 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9367 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9368 } 9369 }, 9370 { 9371 .field_info_mask = { 9372 .description = "tl2_uc_mc_bc", 9373 .field_bit_size = 2, 9374 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9375 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9376 }, 9377 .field_info_spec = { 9378 .description = "tl2_uc_mc_bc", 9379 .field_bit_size = 2, 9380 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9381 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9382 } 9383 }, 9384 { 9385 .field_info_mask = { 9386 .description = "tl2_hdr_type", 9387 .field_bit_size = 2, 9388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9389 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9390 }, 9391 .field_info_spec = { 9392 .description = "tl2_hdr_type", 9393 .field_bit_size = 2, 9394 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9395 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9396 } 9397 }, 9398 { 9399 .field_info_mask = { 9400 .description = "tl2_hdr_valid", 9401 .field_bit_size = 1, 9402 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9403 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9404 .field_opr1 = { 9405 0xff} 9406 }, 9407 .field_info_spec = { 9408 .description = "tl2_hdr_valid", 9409 .field_bit_size = 1, 9410 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9411 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9412 } 9413 }, 9414 { 9415 .field_info_mask = { 9416 .description = "hrec_next", 9417 .field_bit_size = 1, 9418 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9419 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9420 }, 9421 .field_info_spec = { 9422 .description = "hrec_next", 9423 .field_bit_size = 1, 9424 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9425 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9426 } 9427 }, 9428 { 9429 .field_info_mask = { 9430 .description = "reserved", 9431 .field_bit_size = 9, 9432 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9433 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9434 }, 9435 .field_info_spec = { 9436 .description = "reserved", 9437 .field_bit_size = 9, 9438 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9439 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9440 } 9441 }, 9442 { 9443 .field_info_mask = { 9444 .description = "prof_func_id", 9445 .field_bit_size = 7, 9446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9447 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9448 .field_opr1 = { 9449 0xff} 9450 }, 9451 .field_info_spec = { 9452 .description = "prof_func_id", 9453 .field_bit_size = 7, 9454 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9455 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 9456 .field_opr1 = { 9457 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 9458 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, 9459 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 9460 .field_opr2 = { 9461 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 9462 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 9463 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 9464 .field_opr3 = { 9465 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 9466 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 9467 } 9468 }, 9469 { 9470 .field_info_mask = { 9471 .description = "agg_error", 9472 .field_bit_size = 1, 9473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9474 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9475 }, 9476 .field_info_spec = { 9477 .description = "agg_error", 9478 .field_bit_size = 1, 9479 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9480 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9481 } 9482 }, 9483 { 9484 .field_info_mask = { 9485 .description = "recycle_cnt", 9486 .field_bit_size = 2, 9487 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9488 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9489 }, 9490 .field_info_spec = { 9491 .description = "recycle_cnt", 9492 .field_bit_size = 2, 9493 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9494 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9495 } 9496 }, 9497 { 9498 .field_info_mask = { 9499 .description = "pkt_type_0", 9500 .field_bit_size = 2, 9501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9502 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9503 }, 9504 .field_info_spec = { 9505 .description = "pkt_type_0", 9506 .field_bit_size = 2, 9507 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9508 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9509 } 9510 }, 9511 { 9512 .field_info_mask = { 9513 .description = "pkt_type_1", 9514 .field_bit_size = 2, 9515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9517 }, 9518 .field_info_spec = { 9519 .description = "pkt_type_1", 9520 .field_bit_size = 2, 9521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9523 } 9524 }, 9525 { 9526 .field_info_mask = { 9527 .description = "valid", 9528 .field_bit_size = 1, 9529 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9530 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 9531 .field_opr1 = { 9532 1} 9533 }, 9534 .field_info_spec = { 9535 .description = "valid", 9536 .field_bit_size = 1, 9537 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9538 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 9539 .field_opr1 = { 9540 1} 9541 } 9542 }, 9543 /* class_tid: 3, , table: profile_tcam_cache.wr */ 9544 { 9545 .field_info_mask = { 9546 .description = "recycle_cnt", 9547 .field_bit_size = 2, 9548 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9549 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9550 .field_opr1 = { 9551 0xff} 9552 }, 9553 .field_info_spec = { 9554 .description = "recycle_cnt", 9555 .field_bit_size = 2, 9556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9557 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9558 } 9559 }, 9560 { 9561 .field_info_mask = { 9562 .description = "prof_func_id", 9563 .field_bit_size = 7, 9564 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9565 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9566 .field_opr1 = { 9567 0xff} 9568 }, 9569 .field_info_spec = { 9570 .description = "prof_func_id", 9571 .field_bit_size = 7, 9572 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9573 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 9574 .field_opr1 = { 9575 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 9576 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, 9577 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, 9578 .field_opr2 = { 9579 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 9580 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, 9581 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, 9582 .field_opr3 = { 9583 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 9584 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 9585 } 9586 }, 9587 { 9588 .field_info_mask = { 9589 .description = "hdr_sig_id", 9590 .field_bit_size = 5, 9591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9592 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9593 .field_opr1 = { 9594 0xff} 9595 }, 9596 .field_info_spec = { 9597 .description = "hdr_sig_id", 9598 .field_bit_size = 5, 9599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9600 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 9601 .field_opr1 = { 9602 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, 9603 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} 9604 } 9605 }, 9606 /* class_tid: 3, , table: em.ipv4 */ 9607 { 9608 .field_info_mask = { 9609 .description = "spare", 9610 .field_bit_size = 3, 9611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9613 }, 9614 .field_info_spec = { 9615 .description = "spare", 9616 .field_bit_size = 3, 9617 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9618 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9619 } 9620 }, 9621 { 9622 .field_info_mask = { 9623 .description = "local_cos", 9624 .field_bit_size = 3, 9625 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9626 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9627 }, 9628 .field_info_spec = { 9629 .description = "local_cos", 9630 .field_bit_size = 3, 9631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9632 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9633 } 9634 }, 9635 { 9636 .field_info_mask = { 9637 .description = "l4.dst", 9638 .field_bit_size = 16, 9639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9640 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9641 .field_opr1 = { 9642 0xff, 9643 0xff} 9644 }, 9645 .field_info_spec = { 9646 .description = "l4.dst", 9647 .field_bit_size = 16, 9648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9649 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 9650 .field_opr1 = { 9651 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 9652 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 9653 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 9654 .field_opr2 = { 9655 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 9656 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 9657 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 9658 } 9659 }, 9660 { 9661 .field_info_mask = { 9662 .description = "l4.src", 9663 .field_bit_size = 16, 9664 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9665 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9666 .field_opr1 = { 9667 0xff, 9668 0xff} 9669 }, 9670 .field_info_spec = { 9671 .description = "l4.src", 9672 .field_bit_size = 16, 9673 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9674 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 9675 .field_opr1 = { 9676 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 9677 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 9678 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 9679 .field_opr2 = { 9680 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 9681 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 9682 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 9683 } 9684 }, 9685 { 9686 .field_info_mask = { 9687 .description = "l3.prot", 9688 .field_bit_size = 8, 9689 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9690 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9691 .field_opr1 = { 9692 0xff} 9693 }, 9694 .field_info_spec = { 9695 .description = "l3.prot", 9696 .field_bit_size = 8, 9697 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9698 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 9699 .field_opr1 = { 9700 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, 9701 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, 9702 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 9703 .field_opr2 = { 9704 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 9705 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 9706 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 9707 } 9708 }, 9709 { 9710 .field_info_mask = { 9711 .description = "l3.dst", 9712 .field_bit_size = 32, 9713 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9714 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9715 .field_opr1 = { 9716 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 9717 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 9718 }, 9719 .field_info_spec = { 9720 .description = "l3.dst", 9721 .field_bit_size = 32, 9722 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9723 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9724 .field_opr1 = { 9725 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 9726 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 9727 } 9728 }, 9729 { 9730 .field_info_mask = { 9731 .description = "l3.src", 9732 .field_bit_size = 32, 9733 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9734 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9735 .field_opr1 = { 9736 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 9737 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 9738 }, 9739 .field_info_spec = { 9740 .description = "l3.src", 9741 .field_bit_size = 32, 9742 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9743 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9744 .field_opr1 = { 9745 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 9746 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 9747 } 9748 }, 9749 { 9750 .field_info_mask = { 9751 .description = "l2.dmac", 9752 .field_bit_size = 48, 9753 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9754 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9755 .field_opr1 = { 9756 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 9757 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 9758 }, 9759 .field_info_spec = { 9760 .description = "l2.dmac", 9761 .field_bit_size = 48, 9762 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9763 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9764 .field_opr1 = { 9765 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 9766 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 9767 } 9768 }, 9769 { 9770 .field_info_mask = { 9771 .description = "l2_cntxt_id", 9772 .field_bit_size = 10, 9773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9774 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9775 .field_opr1 = { 9776 0xff, 9777 0xff} 9778 }, 9779 .field_info_spec = { 9780 .description = "l2_cntxt_id", 9781 .field_bit_size = 10, 9782 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9783 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 9784 .field_opr1 = { 9785 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 9786 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 9787 } 9788 }, 9789 { 9790 .field_info_mask = { 9791 .description = "em_profile_id", 9792 .field_bit_size = 8, 9793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9794 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9795 .field_opr1 = { 9796 0xff} 9797 }, 9798 .field_info_spec = { 9799 .description = "em_profile_id", 9800 .field_bit_size = 8, 9801 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9802 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 9803 .field_opr1 = { 9804 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 9805 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 9806 } 9807 }, 9808 /* class_tid: 3, , table: eem.ipv4 */ 9809 { 9810 .field_info_mask = { 9811 .description = "spare", 9812 .field_bit_size = 275, 9813 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9814 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9815 }, 9816 .field_info_spec = { 9817 .description = "spare", 9818 .field_bit_size = 275, 9819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9821 } 9822 }, 9823 { 9824 .field_info_mask = { 9825 .description = "local_cos", 9826 .field_bit_size = 3, 9827 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9828 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9829 }, 9830 .field_info_spec = { 9831 .description = "local_cos", 9832 .field_bit_size = 3, 9833 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9834 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 9835 } 9836 }, 9837 { 9838 .field_info_mask = { 9839 .description = "l4.dst", 9840 .field_bit_size = 16, 9841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9842 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9843 .field_opr1 = { 9844 0xff, 9845 0xff} 9846 }, 9847 .field_info_spec = { 9848 .description = "l4.dst", 9849 .field_bit_size = 16, 9850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9851 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 9852 .field_opr1 = { 9853 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 9854 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 9855 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 9856 .field_opr2 = { 9857 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 9858 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 9859 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 9860 } 9861 }, 9862 { 9863 .field_info_mask = { 9864 .description = "l4.src", 9865 .field_bit_size = 16, 9866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9867 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9868 .field_opr1 = { 9869 0xff, 9870 0xff} 9871 }, 9872 .field_info_spec = { 9873 .description = "l4.src", 9874 .field_bit_size = 16, 9875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9876 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 9877 .field_opr1 = { 9878 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 9879 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 9880 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 9881 .field_opr2 = { 9882 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 9883 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 9884 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 9885 } 9886 }, 9887 { 9888 .field_info_mask = { 9889 .description = "l3.prot", 9890 .field_bit_size = 8, 9891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9892 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9893 .field_opr1 = { 9894 0xff} 9895 }, 9896 .field_info_spec = { 9897 .description = "l3.prot", 9898 .field_bit_size = 8, 9899 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 9900 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 9901 .field_opr1 = { 9902 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, 9903 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, 9904 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 9905 .field_opr2 = { 9906 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 9907 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 9908 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 9909 } 9910 }, 9911 { 9912 .field_info_mask = { 9913 .description = "l3.dst", 9914 .field_bit_size = 32, 9915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9916 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9917 .field_opr1 = { 9918 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 9919 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 9920 }, 9921 .field_info_spec = { 9922 .description = "l3.dst", 9923 .field_bit_size = 32, 9924 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9925 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9926 .field_opr1 = { 9927 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 9928 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 9929 } 9930 }, 9931 { 9932 .field_info_mask = { 9933 .description = "l3.src", 9934 .field_bit_size = 32, 9935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9936 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9937 .field_opr1 = { 9938 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 9939 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 9940 }, 9941 .field_info_spec = { 9942 .description = "l3.src", 9943 .field_bit_size = 32, 9944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9945 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9946 .field_opr1 = { 9947 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 9948 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 9949 } 9950 }, 9951 { 9952 .field_info_mask = { 9953 .description = "l2.dmac", 9954 .field_bit_size = 48, 9955 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9956 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9957 .field_opr1 = { 9958 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 9959 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 9960 }, 9961 .field_info_spec = { 9962 .description = "l2.dmac", 9963 .field_bit_size = 48, 9964 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9965 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 9966 .field_opr1 = { 9967 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 9968 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 9969 } 9970 }, 9971 { 9972 .field_info_mask = { 9973 .description = "l2_cntxt_id", 9974 .field_bit_size = 10, 9975 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9976 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9977 .field_opr1 = { 9978 0xff, 9979 0xff} 9980 }, 9981 .field_info_spec = { 9982 .description = "l2_cntxt_id", 9983 .field_bit_size = 10, 9984 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9985 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 9986 .field_opr1 = { 9987 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 9988 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 9989 } 9990 }, 9991 { 9992 .field_info_mask = { 9993 .description = "em_profile_id", 9994 .field_bit_size = 8, 9995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 9996 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 9997 .field_opr1 = { 9998 0xff} 9999 }, 10000 .field_info_spec = { 10001 .description = "em_profile_id", 10002 .field_bit_size = 8, 10003 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10004 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 10005 .field_opr1 = { 10006 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 10007 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 10008 } 10009 }, 10010 /* class_tid: 3, , table: em.ipv6 */ 10011 { 10012 .field_info_mask = { 10013 .description = "spare", 10014 .field_bit_size = 3, 10015 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10016 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10017 }, 10018 .field_info_spec = { 10019 .description = "spare", 10020 .field_bit_size = 3, 10021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10023 } 10024 }, 10025 { 10026 .field_info_mask = { 10027 .description = "local_cos", 10028 .field_bit_size = 3, 10029 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10030 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10031 }, 10032 .field_info_spec = { 10033 .description = "local_cos", 10034 .field_bit_size = 3, 10035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10036 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10037 } 10038 }, 10039 { 10040 .field_info_mask = { 10041 .description = "l4.dst", 10042 .field_bit_size = 16, 10043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10044 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10045 .field_opr1 = { 10046 0xff, 10047 0xff} 10048 }, 10049 .field_info_spec = { 10050 .description = "l4.dst", 10051 .field_bit_size = 16, 10052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 10053 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10054 .field_opr1 = { 10055 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 10056 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 10057 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 10058 .field_opr2 = { 10059 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 10060 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 10061 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 10062 } 10063 }, 10064 { 10065 .field_info_mask = { 10066 .description = "l4.src", 10067 .field_bit_size = 16, 10068 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10069 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10070 .field_opr1 = { 10071 0xff, 10072 0xff} 10073 }, 10074 .field_info_spec = { 10075 .description = "l4.src", 10076 .field_bit_size = 16, 10077 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 10078 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10079 .field_opr1 = { 10080 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 10081 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 10082 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 10083 .field_opr2 = { 10084 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 10085 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 10086 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 10087 } 10088 }, 10089 { 10090 .field_info_mask = { 10091 .description = "l3.prot", 10092 .field_bit_size = 8, 10093 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10094 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10095 .field_opr1 = { 10096 0xff} 10097 }, 10098 .field_info_spec = { 10099 .description = "l3.prot", 10100 .field_bit_size = 8, 10101 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 10102 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 10103 .field_opr1 = { 10104 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, 10105 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, 10106 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 10107 .field_opr2 = { 10108 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 10109 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 10110 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 10111 } 10112 }, 10113 { 10114 .field_info_mask = { 10115 .description = "l3.dst", 10116 .field_bit_size = 128, 10117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10118 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10119 .field_opr1 = { 10120 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 10121 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 10122 }, 10123 .field_info_spec = { 10124 .description = "l3.dst", 10125 .field_bit_size = 128, 10126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10127 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10128 .field_opr1 = { 10129 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 10130 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 10131 } 10132 }, 10133 { 10134 .field_info_mask = { 10135 .description = "l3.src", 10136 .field_bit_size = 128, 10137 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10138 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10139 .field_opr1 = { 10140 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 10141 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 10142 }, 10143 .field_info_spec = { 10144 .description = "l3.src", 10145 .field_bit_size = 128, 10146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10147 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10148 .field_opr1 = { 10149 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 10150 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 10151 } 10152 }, 10153 { 10154 .field_info_mask = { 10155 .description = "l2.smac", 10156 .field_bit_size = 48, 10157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10158 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10159 }, 10160 .field_info_spec = { 10161 .description = "l2.smac", 10162 .field_bit_size = 48, 10163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10164 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10165 } 10166 }, 10167 { 10168 .field_info_mask = { 10169 .description = "l2.dmac", 10170 .field_bit_size = 48, 10171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10172 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10173 .field_opr1 = { 10174 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 10175 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 10176 }, 10177 .field_info_spec = { 10178 .description = "l2.dmac", 10179 .field_bit_size = 48, 10180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10181 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10182 .field_opr1 = { 10183 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 10184 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 10185 } 10186 }, 10187 { 10188 .field_info_mask = { 10189 .description = "l2_cntxt_id", 10190 .field_bit_size = 10, 10191 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10192 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10193 .field_opr1 = { 10194 0xff, 10195 0xff} 10196 }, 10197 .field_info_spec = { 10198 .description = "l2_cntxt_id", 10199 .field_bit_size = 10, 10200 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10201 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 10202 .field_opr1 = { 10203 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 10204 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 10205 } 10206 }, 10207 { 10208 .field_info_mask = { 10209 .description = "em_profile_id", 10210 .field_bit_size = 8, 10211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10212 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10213 .field_opr1 = { 10214 0xff} 10215 }, 10216 .field_info_spec = { 10217 .description = "em_profile_id", 10218 .field_bit_size = 8, 10219 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10220 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 10221 .field_opr1 = { 10222 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 10223 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 10224 } 10225 }, 10226 /* class_tid: 3, , table: eem.ipv6 */ 10227 { 10228 .field_info_mask = { 10229 .description = "spare", 10230 .field_bit_size = 35, 10231 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10232 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10233 }, 10234 .field_info_spec = { 10235 .description = "spare", 10236 .field_bit_size = 35, 10237 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10238 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10239 } 10240 }, 10241 { 10242 .field_info_mask = { 10243 .description = "local_cos", 10244 .field_bit_size = 3, 10245 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10246 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10247 }, 10248 .field_info_spec = { 10249 .description = "local_cos", 10250 .field_bit_size = 3, 10251 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10252 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10253 } 10254 }, 10255 { 10256 .field_info_mask = { 10257 .description = "l4.dst", 10258 .field_bit_size = 16, 10259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10260 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10261 .field_opr1 = { 10262 0xff, 10263 0xff} 10264 }, 10265 .field_info_spec = { 10266 .description = "l4.dst", 10267 .field_bit_size = 16, 10268 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 10269 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10270 .field_opr1 = { 10271 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 10272 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 10273 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 10274 .field_opr2 = { 10275 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, 10276 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, 10277 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 10278 } 10279 }, 10280 { 10281 .field_info_mask = { 10282 .description = "l4.src", 10283 .field_bit_size = 16, 10284 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10285 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10286 .field_opr1 = { 10287 0xff, 10288 0xff} 10289 }, 10290 .field_info_spec = { 10291 .description = "l4.src", 10292 .field_bit_size = 16, 10293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 10294 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10295 .field_opr1 = { 10296 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 10297 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 10298 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 10299 .field_opr2 = { 10300 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, 10301 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, 10302 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 10303 } 10304 }, 10305 { 10306 .field_info_mask = { 10307 .description = "l3.prot", 10308 .field_bit_size = 8, 10309 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10310 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10311 .field_opr1 = { 10312 0xff} 10313 }, 10314 .field_info_spec = { 10315 .description = "l3.prot", 10316 .field_bit_size = 8, 10317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 10318 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 10319 .field_opr1 = { 10320 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, 10321 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, 10322 .field_src2 = BNXT_ULP_FIELD_SRC_CF, 10323 .field_opr2 = { 10324 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, 10325 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, 10326 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO 10327 } 10328 }, 10329 { 10330 .field_info_mask = { 10331 .description = "l3.dst", 10332 .field_bit_size = 128, 10333 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10334 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10335 .field_opr1 = { 10336 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 10337 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 10338 }, 10339 .field_info_spec = { 10340 .description = "l3.dst", 10341 .field_bit_size = 128, 10342 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10343 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10344 .field_opr1 = { 10345 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 10346 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 10347 } 10348 }, 10349 { 10350 .field_info_mask = { 10351 .description = "l3.src", 10352 .field_bit_size = 128, 10353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10354 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10355 .field_opr1 = { 10356 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 10357 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 10358 }, 10359 .field_info_spec = { 10360 .description = "l3.src", 10361 .field_bit_size = 128, 10362 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10363 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10364 .field_opr1 = { 10365 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 10366 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 10367 } 10368 }, 10369 { 10370 .field_info_mask = { 10371 .description = "l2.smac", 10372 .field_bit_size = 48, 10373 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10374 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10375 }, 10376 .field_info_spec = { 10377 .description = "l2.smac", 10378 .field_bit_size = 48, 10379 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10380 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10381 } 10382 }, 10383 { 10384 .field_info_mask = { 10385 .description = "l2.dmac", 10386 .field_bit_size = 48, 10387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10388 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10389 .field_opr1 = { 10390 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 10391 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 10392 }, 10393 .field_info_spec = { 10394 .description = "l2.dmac", 10395 .field_bit_size = 48, 10396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10397 .field_src1 = BNXT_ULP_FIELD_SRC_HF, 10398 .field_opr1 = { 10399 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 10400 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 10401 } 10402 }, 10403 { 10404 .field_info_mask = { 10405 .description = "l2_cntxt_id", 10406 .field_bit_size = 10, 10407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10408 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10409 .field_opr1 = { 10410 0xff, 10411 0xff} 10412 }, 10413 .field_info_spec = { 10414 .description = "l2_cntxt_id", 10415 .field_bit_size = 10, 10416 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10417 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 10418 .field_opr1 = { 10419 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 10420 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 10421 } 10422 }, 10423 { 10424 .field_info_mask = { 10425 .description = "em_profile_id", 10426 .field_bit_size = 8, 10427 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10428 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10429 .field_opr1 = { 10430 0xff} 10431 }, 10432 .field_info_spec = { 10433 .description = "em_profile_id", 10434 .field_bit_size = 8, 10435 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10436 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 10437 .field_opr1 = { 10438 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 10439 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 10440 } 10441 }, 10442 /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_rd */ 10443 { 10444 .field_info_mask = { 10445 .description = "svif", 10446 .field_bit_size = 8, 10447 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10448 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10449 .field_opr1 = { 10450 0xff} 10451 }, 10452 .field_info_spec = { 10453 .description = "svif", 10454 .field_bit_size = 8, 10455 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10456 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10457 .field_opr1 = { 10458 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, 10459 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} 10460 } 10461 }, 10462 /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */ 10463 { 10464 .field_info_mask = { 10465 .description = "l2_ivlan_vid", 10466 .field_bit_size = 12, 10467 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10468 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10469 }, 10470 .field_info_spec = { 10471 .description = "l2_ivlan_vid", 10472 .field_bit_size = 12, 10473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10474 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10475 } 10476 }, 10477 { 10478 .field_info_mask = { 10479 .description = "l2_ovlan_vid", 10480 .field_bit_size = 12, 10481 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10482 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10483 }, 10484 .field_info_spec = { 10485 .description = "l2_ovlan_vid", 10486 .field_bit_size = 12, 10487 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10488 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10489 } 10490 }, 10491 { 10492 .field_info_mask = { 10493 .description = "mac0_addr", 10494 .field_bit_size = 48, 10495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10496 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10497 }, 10498 .field_info_spec = { 10499 .description = "mac0_addr", 10500 .field_bit_size = 48, 10501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10502 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10503 } 10504 }, 10505 { 10506 .field_info_mask = { 10507 .description = "svif", 10508 .field_bit_size = 8, 10509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10510 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10511 .field_opr1 = { 10512 0xff} 10513 }, 10514 .field_info_spec = { 10515 .description = "svif", 10516 .field_bit_size = 8, 10517 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10518 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10519 .field_opr1 = { 10520 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, 10521 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} 10522 } 10523 }, 10524 { 10525 .field_info_mask = { 10526 .description = "sparif", 10527 .field_bit_size = 4, 10528 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10529 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10530 }, 10531 .field_info_spec = { 10532 .description = "sparif", 10533 .field_bit_size = 4, 10534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10536 } 10537 }, 10538 { 10539 .field_info_mask = { 10540 .description = "tl2_ivlan_vid", 10541 .field_bit_size = 12, 10542 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10543 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10544 }, 10545 .field_info_spec = { 10546 .description = "tl2_ivlan_vid", 10547 .field_bit_size = 12, 10548 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10549 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10550 } 10551 }, 10552 { 10553 .field_info_mask = { 10554 .description = "tl2_ovlan_vid", 10555 .field_bit_size = 12, 10556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10557 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10558 }, 10559 .field_info_spec = { 10560 .description = "tl2_ovlan_vid", 10561 .field_bit_size = 12, 10562 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10563 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10564 } 10565 }, 10566 { 10567 .field_info_mask = { 10568 .description = "mac1_addr", 10569 .field_bit_size = 48, 10570 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10571 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10572 }, 10573 .field_info_spec = { 10574 .description = "mac1_addr", 10575 .field_bit_size = 48, 10576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10577 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10578 } 10579 }, 10580 { 10581 .field_info_mask = { 10582 .description = "l2_num_vtags", 10583 .field_bit_size = 2, 10584 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10585 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10586 }, 10587 .field_info_spec = { 10588 .description = "l2_num_vtags", 10589 .field_bit_size = 2, 10590 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10591 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10592 } 10593 }, 10594 { 10595 .field_info_mask = { 10596 .description = "tl2_num_vtags", 10597 .field_bit_size = 2, 10598 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10599 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10600 }, 10601 .field_info_spec = { 10602 .description = "tl2_num_vtags", 10603 .field_bit_size = 2, 10604 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10605 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10606 } 10607 }, 10608 { 10609 .field_info_mask = { 10610 .description = "tun_hdr_type", 10611 .field_bit_size = 4, 10612 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10613 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10614 }, 10615 .field_info_spec = { 10616 .description = "tun_hdr_type", 10617 .field_bit_size = 4, 10618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10619 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10620 } 10621 }, 10622 { 10623 .field_info_mask = { 10624 .description = "key_type", 10625 .field_bit_size = 2, 10626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10627 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10628 }, 10629 .field_info_spec = { 10630 .description = "key_type", 10631 .field_bit_size = 2, 10632 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10633 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10634 } 10635 }, 10636 { 10637 .field_info_mask = { 10638 .description = "valid", 10639 .field_bit_size = 1, 10640 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10641 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 10642 .field_opr1 = { 10643 1} 10644 }, 10645 .field_info_spec = { 10646 .description = "valid", 10647 .field_bit_size = 1, 10648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10649 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 10650 .field_opr1 = { 10651 1} 10652 } 10653 }, 10654 /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */ 10655 { 10656 .field_info_mask = { 10657 .description = "svif", 10658 .field_bit_size = 8, 10659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10660 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10661 .field_opr1 = { 10662 0xff} 10663 }, 10664 .field_info_spec = { 10665 .description = "svif", 10666 .field_bit_size = 8, 10667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10668 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10669 .field_opr1 = { 10670 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, 10671 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff} 10672 } 10673 }, 10674 /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd_vfr */ 10675 { 10676 .field_info_mask = { 10677 .description = "svif", 10678 .field_bit_size = 8, 10679 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10680 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10681 .field_opr1 = { 10682 0xff} 10683 }, 10684 .field_info_spec = { 10685 .description = "svif", 10686 .field_bit_size = 8, 10687 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10688 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10689 .field_opr1 = { 10690 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 10691 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 10692 } 10693 }, 10694 /* class_tid: 4, , table: l2_cntxt_tcam_bypass.egr_vfr */ 10695 { 10696 .field_info_mask = { 10697 .description = "l2_ivlan_vid", 10698 .field_bit_size = 12, 10699 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10700 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10701 }, 10702 .field_info_spec = { 10703 .description = "l2_ivlan_vid", 10704 .field_bit_size = 12, 10705 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10706 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10707 } 10708 }, 10709 { 10710 .field_info_mask = { 10711 .description = "l2_ovlan_vid", 10712 .field_bit_size = 12, 10713 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10714 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10715 }, 10716 .field_info_spec = { 10717 .description = "l2_ovlan_vid", 10718 .field_bit_size = 12, 10719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10720 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10721 } 10722 }, 10723 { 10724 .field_info_mask = { 10725 .description = "mac0_addr", 10726 .field_bit_size = 48, 10727 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10728 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10729 }, 10730 .field_info_spec = { 10731 .description = "mac0_addr", 10732 .field_bit_size = 48, 10733 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10734 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10735 } 10736 }, 10737 { 10738 .field_info_mask = { 10739 .description = "svif", 10740 .field_bit_size = 8, 10741 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10742 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10743 .field_opr1 = { 10744 0xff} 10745 }, 10746 .field_info_spec = { 10747 .description = "svif", 10748 .field_bit_size = 8, 10749 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10750 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10751 .field_opr1 = { 10752 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 10753 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 10754 } 10755 }, 10756 { 10757 .field_info_mask = { 10758 .description = "sparif", 10759 .field_bit_size = 4, 10760 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10761 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10762 }, 10763 .field_info_spec = { 10764 .description = "sparif", 10765 .field_bit_size = 4, 10766 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10767 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10768 } 10769 }, 10770 { 10771 .field_info_mask = { 10772 .description = "tl2_ivlan_vid", 10773 .field_bit_size = 12, 10774 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10775 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10776 }, 10777 .field_info_spec = { 10778 .description = "tl2_ivlan_vid", 10779 .field_bit_size = 12, 10780 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10781 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10782 } 10783 }, 10784 { 10785 .field_info_mask = { 10786 .description = "tl2_ovlan_vid", 10787 .field_bit_size = 12, 10788 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10789 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10790 }, 10791 .field_info_spec = { 10792 .description = "tl2_ovlan_vid", 10793 .field_bit_size = 12, 10794 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10795 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10796 } 10797 }, 10798 { 10799 .field_info_mask = { 10800 .description = "mac1_addr", 10801 .field_bit_size = 48, 10802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10803 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10804 }, 10805 .field_info_spec = { 10806 .description = "mac1_addr", 10807 .field_bit_size = 48, 10808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10810 } 10811 }, 10812 { 10813 .field_info_mask = { 10814 .description = "l2_num_vtags", 10815 .field_bit_size = 2, 10816 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10817 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10818 }, 10819 .field_info_spec = { 10820 .description = "l2_num_vtags", 10821 .field_bit_size = 2, 10822 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10823 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10824 } 10825 }, 10826 { 10827 .field_info_mask = { 10828 .description = "tl2_num_vtags", 10829 .field_bit_size = 2, 10830 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10831 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10832 }, 10833 .field_info_spec = { 10834 .description = "tl2_num_vtags", 10835 .field_bit_size = 2, 10836 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10837 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10838 } 10839 }, 10840 { 10841 .field_info_mask = { 10842 .description = "tun_hdr_type", 10843 .field_bit_size = 4, 10844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10845 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10846 }, 10847 .field_info_spec = { 10848 .description = "tun_hdr_type", 10849 .field_bit_size = 4, 10850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10852 } 10853 }, 10854 { 10855 .field_info_mask = { 10856 .description = "key_type", 10857 .field_bit_size = 2, 10858 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10859 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10860 }, 10861 .field_info_spec = { 10862 .description = "key_type", 10863 .field_bit_size = 2, 10864 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10865 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10866 } 10867 }, 10868 { 10869 .field_info_mask = { 10870 .description = "valid", 10871 .field_bit_size = 1, 10872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10873 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 10874 .field_opr1 = { 10875 1} 10876 }, 10877 .field_info_spec = { 10878 .description = "valid", 10879 .field_bit_size = 1, 10880 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10881 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 10882 .field_opr1 = { 10883 1} 10884 } 10885 }, 10886 /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */ 10887 { 10888 .field_info_mask = { 10889 .description = "svif", 10890 .field_bit_size = 8, 10891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10892 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10893 .field_opr1 = { 10894 0xff} 10895 }, 10896 .field_info_spec = { 10897 .description = "svif", 10898 .field_bit_size = 8, 10899 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10900 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10901 .field_opr1 = { 10902 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 10903 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 10904 } 10905 }, 10906 /* class_tid: 4, , table: l2_cntxt_tcam_cache.rd */ 10907 { 10908 .field_info_mask = { 10909 .description = "svif", 10910 .field_bit_size = 8, 10911 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10912 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10913 .field_opr1 = { 10914 0xff} 10915 }, 10916 .field_info_spec = { 10917 .description = "svif", 10918 .field_bit_size = 8, 10919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10920 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10921 .field_opr1 = { 10922 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 10923 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 10924 } 10925 }, 10926 /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */ 10927 { 10928 .field_info_mask = { 10929 .description = "l2_ivlan_vid", 10930 .field_bit_size = 12, 10931 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10932 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10933 }, 10934 .field_info_spec = { 10935 .description = "l2_ivlan_vid", 10936 .field_bit_size = 12, 10937 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10938 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10939 } 10940 }, 10941 { 10942 .field_info_mask = { 10943 .description = "l2_ovlan_vid", 10944 .field_bit_size = 12, 10945 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10946 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10947 }, 10948 .field_info_spec = { 10949 .description = "l2_ovlan_vid", 10950 .field_bit_size = 12, 10951 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10952 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10953 } 10954 }, 10955 { 10956 .field_info_mask = { 10957 .description = "mac0_addr", 10958 .field_bit_size = 48, 10959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10960 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10961 }, 10962 .field_info_spec = { 10963 .description = "mac0_addr", 10964 .field_bit_size = 48, 10965 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10966 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10967 } 10968 }, 10969 { 10970 .field_info_mask = { 10971 .description = "svif", 10972 .field_bit_size = 8, 10973 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10974 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 10975 .field_opr1 = { 10976 0xff} 10977 }, 10978 .field_info_spec = { 10979 .description = "svif", 10980 .field_bit_size = 8, 10981 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10982 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 10983 .field_opr1 = { 10984 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 10985 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 10986 } 10987 }, 10988 { 10989 .field_info_mask = { 10990 .description = "sparif", 10991 .field_bit_size = 4, 10992 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10993 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 10994 }, 10995 .field_info_spec = { 10996 .description = "sparif", 10997 .field_bit_size = 4, 10998 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 10999 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11000 } 11001 }, 11002 { 11003 .field_info_mask = { 11004 .description = "tl2_ivlan_vid", 11005 .field_bit_size = 12, 11006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11007 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11008 }, 11009 .field_info_spec = { 11010 .description = "tl2_ivlan_vid", 11011 .field_bit_size = 12, 11012 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11013 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11014 } 11015 }, 11016 { 11017 .field_info_mask = { 11018 .description = "tl2_ovlan_vid", 11019 .field_bit_size = 12, 11020 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11021 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11022 }, 11023 .field_info_spec = { 11024 .description = "tl2_ovlan_vid", 11025 .field_bit_size = 12, 11026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11027 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11028 } 11029 }, 11030 { 11031 .field_info_mask = { 11032 .description = "mac1_addr", 11033 .field_bit_size = 48, 11034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11036 }, 11037 .field_info_spec = { 11038 .description = "mac1_addr", 11039 .field_bit_size = 48, 11040 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11041 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11042 } 11043 }, 11044 { 11045 .field_info_mask = { 11046 .description = "l2_num_vtags", 11047 .field_bit_size = 2, 11048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11050 }, 11051 .field_info_spec = { 11052 .description = "l2_num_vtags", 11053 .field_bit_size = 2, 11054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11056 } 11057 }, 11058 { 11059 .field_info_mask = { 11060 .description = "tl2_num_vtags", 11061 .field_bit_size = 2, 11062 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11063 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11064 }, 11065 .field_info_spec = { 11066 .description = "tl2_num_vtags", 11067 .field_bit_size = 2, 11068 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11069 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11070 } 11071 }, 11072 { 11073 .field_info_mask = { 11074 .description = "tun_hdr_type", 11075 .field_bit_size = 4, 11076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11078 }, 11079 .field_info_spec = { 11080 .description = "tun_hdr_type", 11081 .field_bit_size = 4, 11082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11083 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11084 } 11085 }, 11086 { 11087 .field_info_mask = { 11088 .description = "key_type", 11089 .field_bit_size = 2, 11090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11092 }, 11093 .field_info_spec = { 11094 .description = "key_type", 11095 .field_bit_size = 2, 11096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11098 } 11099 }, 11100 { 11101 .field_info_mask = { 11102 .description = "valid", 11103 .field_bit_size = 1, 11104 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11105 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11106 .field_opr1 = { 11107 1} 11108 }, 11109 .field_info_spec = { 11110 .description = "valid", 11111 .field_bit_size = 1, 11112 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11113 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11114 .field_opr1 = { 11115 1} 11116 } 11117 }, 11118 /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */ 11119 { 11120 .field_info_mask = { 11121 .description = "svif", 11122 .field_bit_size = 8, 11123 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11124 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11125 .field_opr1 = { 11126 0xff} 11127 }, 11128 .field_info_spec = { 11129 .description = "svif", 11130 .field_bit_size = 8, 11131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11132 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11133 .field_opr1 = { 11134 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 11135 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 11136 } 11137 }, 11138 /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_rd_egr */ 11139 { 11140 .field_info_mask = { 11141 .description = "svif", 11142 .field_bit_size = 8, 11143 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11144 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11145 .field_opr1 = { 11146 0xff} 11147 }, 11148 .field_info_spec = { 11149 .description = "svif", 11150 .field_bit_size = 8, 11151 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11152 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11153 .field_opr1 = { 11154 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, 11155 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} 11156 } 11157 }, 11158 /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */ 11159 { 11160 .field_info_mask = { 11161 .description = "l2_ivlan_vid", 11162 .field_bit_size = 12, 11163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11164 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11165 }, 11166 .field_info_spec = { 11167 .description = "l2_ivlan_vid", 11168 .field_bit_size = 12, 11169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11170 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11171 } 11172 }, 11173 { 11174 .field_info_mask = { 11175 .description = "l2_ovlan_vid", 11176 .field_bit_size = 12, 11177 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11178 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11179 }, 11180 .field_info_spec = { 11181 .description = "l2_ovlan_vid", 11182 .field_bit_size = 12, 11183 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11184 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11185 } 11186 }, 11187 { 11188 .field_info_mask = { 11189 .description = "mac0_addr", 11190 .field_bit_size = 48, 11191 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11192 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11193 }, 11194 .field_info_spec = { 11195 .description = "mac0_addr", 11196 .field_bit_size = 48, 11197 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11198 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11199 } 11200 }, 11201 { 11202 .field_info_mask = { 11203 .description = "svif", 11204 .field_bit_size = 8, 11205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11206 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11207 .field_opr1 = { 11208 0xff} 11209 }, 11210 .field_info_spec = { 11211 .description = "svif", 11212 .field_bit_size = 8, 11213 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11214 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11215 .field_opr1 = { 11216 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, 11217 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} 11218 } 11219 }, 11220 { 11221 .field_info_mask = { 11222 .description = "sparif", 11223 .field_bit_size = 4, 11224 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11225 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11226 }, 11227 .field_info_spec = { 11228 .description = "sparif", 11229 .field_bit_size = 4, 11230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11231 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11232 } 11233 }, 11234 { 11235 .field_info_mask = { 11236 .description = "tl2_ivlan_vid", 11237 .field_bit_size = 12, 11238 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11239 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11240 }, 11241 .field_info_spec = { 11242 .description = "tl2_ivlan_vid", 11243 .field_bit_size = 12, 11244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11245 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11246 } 11247 }, 11248 { 11249 .field_info_mask = { 11250 .description = "tl2_ovlan_vid", 11251 .field_bit_size = 12, 11252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11254 }, 11255 .field_info_spec = { 11256 .description = "tl2_ovlan_vid", 11257 .field_bit_size = 12, 11258 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11259 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11260 } 11261 }, 11262 { 11263 .field_info_mask = { 11264 .description = "mac1_addr", 11265 .field_bit_size = 48, 11266 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11267 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11268 }, 11269 .field_info_spec = { 11270 .description = "mac1_addr", 11271 .field_bit_size = 48, 11272 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11273 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11274 } 11275 }, 11276 { 11277 .field_info_mask = { 11278 .description = "l2_num_vtags", 11279 .field_bit_size = 2, 11280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11281 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11282 }, 11283 .field_info_spec = { 11284 .description = "l2_num_vtags", 11285 .field_bit_size = 2, 11286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11287 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11288 } 11289 }, 11290 { 11291 .field_info_mask = { 11292 .description = "tl2_num_vtags", 11293 .field_bit_size = 2, 11294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11295 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11296 }, 11297 .field_info_spec = { 11298 .description = "tl2_num_vtags", 11299 .field_bit_size = 2, 11300 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11301 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11302 } 11303 }, 11304 { 11305 .field_info_mask = { 11306 .description = "tun_hdr_type", 11307 .field_bit_size = 4, 11308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11310 }, 11311 .field_info_spec = { 11312 .description = "tun_hdr_type", 11313 .field_bit_size = 4, 11314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11315 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11316 } 11317 }, 11318 { 11319 .field_info_mask = { 11320 .description = "key_type", 11321 .field_bit_size = 2, 11322 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11323 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11324 }, 11325 .field_info_spec = { 11326 .description = "key_type", 11327 .field_bit_size = 2, 11328 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11329 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11330 } 11331 }, 11332 { 11333 .field_info_mask = { 11334 .description = "valid", 11335 .field_bit_size = 1, 11336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11337 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11338 .field_opr1 = { 11339 1} 11340 }, 11341 .field_info_spec = { 11342 .description = "valid", 11343 .field_bit_size = 1, 11344 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11345 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11346 .field_opr1 = { 11347 1} 11348 } 11349 }, 11350 /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */ 11351 { 11352 .field_info_mask = { 11353 .description = "svif", 11354 .field_bit_size = 8, 11355 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11356 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11357 .field_opr1 = { 11358 0xff} 11359 }, 11360 .field_info_spec = { 11361 .description = "svif", 11362 .field_bit_size = 8, 11363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11364 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11365 .field_opr1 = { 11366 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, 11367 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} 11368 } 11369 }, 11370 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vf_ing */ 11371 { 11372 .field_info_mask = { 11373 .description = "l2_ivlan_vid", 11374 .field_bit_size = 12, 11375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11376 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11377 }, 11378 .field_info_spec = { 11379 .description = "l2_ivlan_vid", 11380 .field_bit_size = 12, 11381 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11382 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11383 } 11384 }, 11385 { 11386 .field_info_mask = { 11387 .description = "l2_ovlan_vid", 11388 .field_bit_size = 12, 11389 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11390 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11391 }, 11392 .field_info_spec = { 11393 .description = "l2_ovlan_vid", 11394 .field_bit_size = 12, 11395 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11396 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11397 } 11398 }, 11399 { 11400 .field_info_mask = { 11401 .description = "mac0_addr", 11402 .field_bit_size = 48, 11403 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11404 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11405 }, 11406 .field_info_spec = { 11407 .description = "mac0_addr", 11408 .field_bit_size = 48, 11409 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11410 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11411 } 11412 }, 11413 { 11414 .field_info_mask = { 11415 .description = "svif", 11416 .field_bit_size = 8, 11417 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11418 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11419 .field_opr1 = { 11420 0xff} 11421 }, 11422 .field_info_spec = { 11423 .description = "svif", 11424 .field_bit_size = 8, 11425 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11426 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11427 .field_opr1 = { 11428 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, 11429 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff} 11430 } 11431 }, 11432 { 11433 .field_info_mask = { 11434 .description = "sparif", 11435 .field_bit_size = 4, 11436 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11437 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11438 }, 11439 .field_info_spec = { 11440 .description = "sparif", 11441 .field_bit_size = 4, 11442 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11443 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11444 } 11445 }, 11446 { 11447 .field_info_mask = { 11448 .description = "tl2_ivlan_vid", 11449 .field_bit_size = 12, 11450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11452 }, 11453 .field_info_spec = { 11454 .description = "tl2_ivlan_vid", 11455 .field_bit_size = 12, 11456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11457 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11458 } 11459 }, 11460 { 11461 .field_info_mask = { 11462 .description = "tl2_ovlan_vid", 11463 .field_bit_size = 12, 11464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11465 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11466 }, 11467 .field_info_spec = { 11468 .description = "tl2_ovlan_vid", 11469 .field_bit_size = 12, 11470 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11471 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11472 } 11473 }, 11474 { 11475 .field_info_mask = { 11476 .description = "mac1_addr", 11477 .field_bit_size = 48, 11478 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11479 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11480 }, 11481 .field_info_spec = { 11482 .description = "mac1_addr", 11483 .field_bit_size = 48, 11484 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11485 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11486 } 11487 }, 11488 { 11489 .field_info_mask = { 11490 .description = "l2_num_vtags", 11491 .field_bit_size = 2, 11492 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11493 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11494 }, 11495 .field_info_spec = { 11496 .description = "l2_num_vtags", 11497 .field_bit_size = 2, 11498 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11499 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11500 } 11501 }, 11502 { 11503 .field_info_mask = { 11504 .description = "tl2_num_vtags", 11505 .field_bit_size = 2, 11506 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11507 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11508 }, 11509 .field_info_spec = { 11510 .description = "tl2_num_vtags", 11511 .field_bit_size = 2, 11512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11513 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11514 } 11515 }, 11516 { 11517 .field_info_mask = { 11518 .description = "tun_hdr_type", 11519 .field_bit_size = 4, 11520 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11521 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11522 }, 11523 .field_info_spec = { 11524 .description = "tun_hdr_type", 11525 .field_bit_size = 4, 11526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11527 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11528 } 11529 }, 11530 { 11531 .field_info_mask = { 11532 .description = "key_type", 11533 .field_bit_size = 2, 11534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11536 }, 11537 .field_info_spec = { 11538 .description = "key_type", 11539 .field_bit_size = 2, 11540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11541 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11542 } 11543 }, 11544 { 11545 .field_info_mask = { 11546 .description = "valid", 11547 .field_bit_size = 1, 11548 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11549 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11550 .field_opr1 = { 11551 1} 11552 }, 11553 .field_info_spec = { 11554 .description = "valid", 11555 .field_bit_size = 1, 11556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11557 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11558 .field_opr1 = { 11559 1} 11560 } 11561 }, 11562 /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_rd_egr0 */ 11563 { 11564 .field_info_mask = { 11565 .description = "svif", 11566 .field_bit_size = 8, 11567 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11568 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11569 .field_opr1 = { 11570 0xff} 11571 }, 11572 .field_info_spec = { 11573 .description = "svif", 11574 .field_bit_size = 8, 11575 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11576 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11577 .field_opr1 = { 11578 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 11579 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 11580 } 11581 }, 11582 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_egr0 */ 11583 { 11584 .field_info_mask = { 11585 .description = "l2_ivlan_vid", 11586 .field_bit_size = 12, 11587 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11588 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11589 }, 11590 .field_info_spec = { 11591 .description = "l2_ivlan_vid", 11592 .field_bit_size = 12, 11593 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11594 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11595 } 11596 }, 11597 { 11598 .field_info_mask = { 11599 .description = "l2_ovlan_vid", 11600 .field_bit_size = 12, 11601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11602 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11603 }, 11604 .field_info_spec = { 11605 .description = "l2_ovlan_vid", 11606 .field_bit_size = 12, 11607 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11608 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11609 } 11610 }, 11611 { 11612 .field_info_mask = { 11613 .description = "mac0_addr", 11614 .field_bit_size = 48, 11615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11617 }, 11618 .field_info_spec = { 11619 .description = "mac0_addr", 11620 .field_bit_size = 48, 11621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11622 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11623 } 11624 }, 11625 { 11626 .field_info_mask = { 11627 .description = "svif", 11628 .field_bit_size = 8, 11629 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11630 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11631 .field_opr1 = { 11632 0xff} 11633 }, 11634 .field_info_spec = { 11635 .description = "svif", 11636 .field_bit_size = 8, 11637 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11638 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11639 .field_opr1 = { 11640 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 11641 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 11642 } 11643 }, 11644 { 11645 .field_info_mask = { 11646 .description = "sparif", 11647 .field_bit_size = 4, 11648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11649 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11650 }, 11651 .field_info_spec = { 11652 .description = "sparif", 11653 .field_bit_size = 4, 11654 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11655 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11656 } 11657 }, 11658 { 11659 .field_info_mask = { 11660 .description = "tl2_ivlan_vid", 11661 .field_bit_size = 12, 11662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11664 }, 11665 .field_info_spec = { 11666 .description = "tl2_ivlan_vid", 11667 .field_bit_size = 12, 11668 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11669 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11670 } 11671 }, 11672 { 11673 .field_info_mask = { 11674 .description = "tl2_ovlan_vid", 11675 .field_bit_size = 12, 11676 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11677 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11678 }, 11679 .field_info_spec = { 11680 .description = "tl2_ovlan_vid", 11681 .field_bit_size = 12, 11682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11683 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11684 } 11685 }, 11686 { 11687 .field_info_mask = { 11688 .description = "mac1_addr", 11689 .field_bit_size = 48, 11690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11691 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11692 }, 11693 .field_info_spec = { 11694 .description = "mac1_addr", 11695 .field_bit_size = 48, 11696 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11697 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11698 } 11699 }, 11700 { 11701 .field_info_mask = { 11702 .description = "l2_num_vtags", 11703 .field_bit_size = 2, 11704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11705 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11706 }, 11707 .field_info_spec = { 11708 .description = "l2_num_vtags", 11709 .field_bit_size = 2, 11710 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11711 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11712 } 11713 }, 11714 { 11715 .field_info_mask = { 11716 .description = "tl2_num_vtags", 11717 .field_bit_size = 2, 11718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11719 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11720 }, 11721 .field_info_spec = { 11722 .description = "tl2_num_vtags", 11723 .field_bit_size = 2, 11724 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11725 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11726 } 11727 }, 11728 { 11729 .field_info_mask = { 11730 .description = "tun_hdr_type", 11731 .field_bit_size = 4, 11732 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11733 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11734 }, 11735 .field_info_spec = { 11736 .description = "tun_hdr_type", 11737 .field_bit_size = 4, 11738 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11739 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11740 } 11741 }, 11742 { 11743 .field_info_mask = { 11744 .description = "key_type", 11745 .field_bit_size = 2, 11746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11747 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11748 }, 11749 .field_info_spec = { 11750 .description = "key_type", 11751 .field_bit_size = 2, 11752 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11753 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11754 } 11755 }, 11756 { 11757 .field_info_mask = { 11758 .description = "valid", 11759 .field_bit_size = 1, 11760 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11761 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11762 .field_opr1 = { 11763 1} 11764 }, 11765 .field_info_spec = { 11766 .description = "valid", 11767 .field_bit_size = 1, 11768 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11769 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11770 .field_opr1 = { 11771 1} 11772 } 11773 }, 11774 /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */ 11775 { 11776 .field_info_mask = { 11777 .description = "svif", 11778 .field_bit_size = 8, 11779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11780 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11781 .field_opr1 = { 11782 0xff} 11783 }, 11784 .field_info_spec = { 11785 .description = "svif", 11786 .field_bit_size = 8, 11787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11788 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11789 .field_opr1 = { 11790 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 11791 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 11792 } 11793 }, 11794 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */ 11795 { 11796 .field_info_mask = { 11797 .description = "l2_ivlan_vid", 11798 .field_bit_size = 12, 11799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11800 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11801 }, 11802 .field_info_spec = { 11803 .description = "l2_ivlan_vid", 11804 .field_bit_size = 12, 11805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11806 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11807 } 11808 }, 11809 { 11810 .field_info_mask = { 11811 .description = "l2_ovlan_vid", 11812 .field_bit_size = 12, 11813 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11814 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11815 .field_opr1 = { 11816 0xff, 11817 0xff} 11818 }, 11819 .field_info_spec = { 11820 .description = "l2_ovlan_vid", 11821 .field_bit_size = 12, 11822 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11823 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11824 .field_opr1 = { 11825 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, 11826 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} 11827 } 11828 }, 11829 { 11830 .field_info_mask = { 11831 .description = "mac0_addr", 11832 .field_bit_size = 48, 11833 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11834 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11835 }, 11836 .field_info_spec = { 11837 .description = "mac0_addr", 11838 .field_bit_size = 48, 11839 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11840 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11841 } 11842 }, 11843 { 11844 .field_info_mask = { 11845 .description = "svif", 11846 .field_bit_size = 8, 11847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11848 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11849 .field_opr1 = { 11850 0xff} 11851 }, 11852 .field_info_spec = { 11853 .description = "svif", 11854 .field_bit_size = 8, 11855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11856 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 11857 .field_opr1 = { 11858 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 11859 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 11860 } 11861 }, 11862 { 11863 .field_info_mask = { 11864 .description = "sparif", 11865 .field_bit_size = 4, 11866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11867 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11868 }, 11869 .field_info_spec = { 11870 .description = "sparif", 11871 .field_bit_size = 4, 11872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11873 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11874 } 11875 }, 11876 { 11877 .field_info_mask = { 11878 .description = "tl2_ivlan_vid", 11879 .field_bit_size = 12, 11880 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11881 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11882 }, 11883 .field_info_spec = { 11884 .description = "tl2_ivlan_vid", 11885 .field_bit_size = 12, 11886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11887 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11888 } 11889 }, 11890 { 11891 .field_info_mask = { 11892 .description = "tl2_ovlan_vid", 11893 .field_bit_size = 12, 11894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11895 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11896 }, 11897 .field_info_spec = { 11898 .description = "tl2_ovlan_vid", 11899 .field_bit_size = 12, 11900 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11901 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11902 } 11903 }, 11904 { 11905 .field_info_mask = { 11906 .description = "mac1_addr", 11907 .field_bit_size = 48, 11908 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11909 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11910 }, 11911 .field_info_spec = { 11912 .description = "mac1_addr", 11913 .field_bit_size = 48, 11914 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11915 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11916 } 11917 }, 11918 { 11919 .field_info_mask = { 11920 .description = "l2_num_vtags", 11921 .field_bit_size = 2, 11922 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11923 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 11924 .field_opr1 = { 11925 0xff} 11926 }, 11927 .field_info_spec = { 11928 .description = "l2_num_vtags", 11929 .field_bit_size = 2, 11930 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11931 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11932 .field_opr1 = { 11933 2} 11934 } 11935 }, 11936 { 11937 .field_info_mask = { 11938 .description = "tl2_num_vtags", 11939 .field_bit_size = 2, 11940 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11941 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11942 }, 11943 .field_info_spec = { 11944 .description = "tl2_num_vtags", 11945 .field_bit_size = 2, 11946 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11947 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11948 } 11949 }, 11950 { 11951 .field_info_mask = { 11952 .description = "tun_hdr_type", 11953 .field_bit_size = 4, 11954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11956 }, 11957 .field_info_spec = { 11958 .description = "tun_hdr_type", 11959 .field_bit_size = 4, 11960 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11961 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11962 } 11963 }, 11964 { 11965 .field_info_mask = { 11966 .description = "key_type", 11967 .field_bit_size = 2, 11968 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11969 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11970 }, 11971 .field_info_spec = { 11972 .description = "key_type", 11973 .field_bit_size = 2, 11974 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11975 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 11976 } 11977 }, 11978 { 11979 .field_info_mask = { 11980 .description = "valid", 11981 .field_bit_size = 1, 11982 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11983 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11984 .field_opr1 = { 11985 1} 11986 }, 11987 .field_info_spec = { 11988 .description = "valid", 11989 .field_bit_size = 1, 11990 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 11991 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 11992 .field_opr1 = { 11993 1} 11994 } 11995 }, 11996 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */ 11997 { 11998 .field_info_mask = { 11999 .description = "l2_ivlan_vid", 12000 .field_bit_size = 12, 12001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12002 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 12003 .field_opr1 = { 12004 0xff, 12005 0xff} 12006 }, 12007 .field_info_spec = { 12008 .description = "l2_ivlan_vid", 12009 .field_bit_size = 12, 12010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12011 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12012 .field_opr1 = { 12013 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, 12014 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} 12015 } 12016 }, 12017 { 12018 .field_info_mask = { 12019 .description = "l2_ovlan_vid", 12020 .field_bit_size = 12, 12021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12023 }, 12024 .field_info_spec = { 12025 .description = "l2_ovlan_vid", 12026 .field_bit_size = 12, 12027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12029 } 12030 }, 12031 { 12032 .field_info_mask = { 12033 .description = "mac0_addr", 12034 .field_bit_size = 48, 12035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12036 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12037 }, 12038 .field_info_spec = { 12039 .description = "mac0_addr", 12040 .field_bit_size = 48, 12041 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12042 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12043 } 12044 }, 12045 { 12046 .field_info_mask = { 12047 .description = "svif", 12048 .field_bit_size = 8, 12049 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12050 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 12051 .field_opr1 = { 12052 0xff} 12053 }, 12054 .field_info_spec = { 12055 .description = "svif", 12056 .field_bit_size = 8, 12057 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12058 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12059 .field_opr1 = { 12060 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, 12061 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff} 12062 } 12063 }, 12064 { 12065 .field_info_mask = { 12066 .description = "sparif", 12067 .field_bit_size = 4, 12068 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12069 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12070 }, 12071 .field_info_spec = { 12072 .description = "sparif", 12073 .field_bit_size = 4, 12074 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12075 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12076 } 12077 }, 12078 { 12079 .field_info_mask = { 12080 .description = "tl2_ivlan_vid", 12081 .field_bit_size = 12, 12082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12083 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12084 }, 12085 .field_info_spec = { 12086 .description = "tl2_ivlan_vid", 12087 .field_bit_size = 12, 12088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12089 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12090 } 12091 }, 12092 { 12093 .field_info_mask = { 12094 .description = "tl2_ovlan_vid", 12095 .field_bit_size = 12, 12096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12098 }, 12099 .field_info_spec = { 12100 .description = "tl2_ovlan_vid", 12101 .field_bit_size = 12, 12102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12104 } 12105 }, 12106 { 12107 .field_info_mask = { 12108 .description = "mac1_addr", 12109 .field_bit_size = 48, 12110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12111 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12112 }, 12113 .field_info_spec = { 12114 .description = "mac1_addr", 12115 .field_bit_size = 48, 12116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12117 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12118 } 12119 }, 12120 { 12121 .field_info_mask = { 12122 .description = "l2_num_vtags", 12123 .field_bit_size = 2, 12124 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12125 .field_src1 = BNXT_ULP_FIELD_SRC_ONES, 12126 .field_opr1 = { 12127 0xff} 12128 }, 12129 .field_info_spec = { 12130 .description = "l2_num_vtags", 12131 .field_bit_size = 2, 12132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12133 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12134 .field_opr1 = { 12135 1} 12136 } 12137 }, 12138 { 12139 .field_info_mask = { 12140 .description = "tl2_num_vtags", 12141 .field_bit_size = 2, 12142 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12143 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12144 }, 12145 .field_info_spec = { 12146 .description = "tl2_num_vtags", 12147 .field_bit_size = 2, 12148 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12149 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12150 } 12151 }, 12152 { 12153 .field_info_mask = { 12154 .description = "tun_hdr_type", 12155 .field_bit_size = 4, 12156 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12157 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12158 }, 12159 .field_info_spec = { 12160 .description = "tun_hdr_type", 12161 .field_bit_size = 4, 12162 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12163 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12164 } 12165 }, 12166 { 12167 .field_info_mask = { 12168 .description = "key_type", 12169 .field_bit_size = 2, 12170 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12171 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12172 }, 12173 .field_info_spec = { 12174 .description = "key_type", 12175 .field_bit_size = 2, 12176 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12177 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12178 } 12179 }, 12180 { 12181 .field_info_mask = { 12182 .description = "valid", 12183 .field_bit_size = 1, 12184 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12185 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12186 .field_opr1 = { 12187 1} 12188 }, 12189 .field_info_spec = { 12190 .description = "valid", 12191 .field_bit_size = 1, 12192 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12193 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12194 .field_opr1 = { 12195 1} 12196 } 12197 } 12198 }; 12199 12200 struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { 12201 /* class_tid: 1, , table: l2_cntxt_tcam.0 */ 12202 { 12203 .description = "l2_cntxt_id", 12204 .field_bit_size = 10, 12205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12206 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12207 .field_opr1 = { 12208 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 12209 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 12210 }, 12211 { 12212 .description = "prof_func_id", 12213 .field_bit_size = 7, 12214 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12215 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 12216 .field_opr1 = { 12217 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 12218 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} 12219 }, 12220 { 12221 .description = "l2_byp_lkup_en", 12222 .field_bit_size = 1, 12223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12225 }, 12226 { 12227 .description = "parif", 12228 .field_bit_size = 4, 12229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12230 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12231 .field_opr1 = { 12232 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, 12233 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} 12234 }, 12235 { 12236 .description = "allowed_pri", 12237 .field_bit_size = 8, 12238 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12239 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12240 }, 12241 { 12242 .description = "default_pri", 12243 .field_bit_size = 3, 12244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12245 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12246 }, 12247 { 12248 .description = "allowed_tpid", 12249 .field_bit_size = 6, 12250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12251 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12252 }, 12253 { 12254 .description = "default_tpid", 12255 .field_bit_size = 3, 12256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12257 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12258 }, 12259 { 12260 .description = "bd_act_en", 12261 .field_bit_size = 1, 12262 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12263 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12264 }, 12265 { 12266 .description = "sp_rec_ptr", 12267 .field_bit_size = 16, 12268 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12269 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12270 }, 12271 { 12272 .description = "byp_sp_lkup", 12273 .field_bit_size = 1, 12274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12275 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12276 .field_opr1 = { 12277 1} 12278 }, 12279 { 12280 .description = "pri_anti_spoof_ctl", 12281 .field_bit_size = 2, 12282 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12283 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12284 }, 12285 { 12286 .description = "tpid_anti_spoof_ctl", 12287 .field_bit_size = 2, 12288 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12289 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12290 }, 12291 /* class_tid: 1, , table: mac_addr_cache.wr */ 12292 { 12293 .description = "rid", 12294 .field_bit_size = 32, 12295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12296 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12297 .field_opr1 = { 12298 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 12299 BNXT_ULP_RF_IDX_RID & 0xff} 12300 }, 12301 { 12302 .description = "l2_cntxt_tcam_index", 12303 .field_bit_size = 10, 12304 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12305 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12306 }, 12307 { 12308 .description = "l2_cntxt_id", 12309 .field_bit_size = 10, 12310 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12311 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12312 .field_opr1 = { 12313 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 12314 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 12315 }, 12316 { 12317 .description = "src_property_ptr", 12318 .field_bit_size = 10, 12319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12320 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12321 }, 12322 /* class_tid: 1, , table: profile_tcam.ipv4 */ 12323 { 12324 .description = "wc_key_id", 12325 .field_bit_size = 4, 12326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12327 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12328 }, 12329 { 12330 .description = "wc_profile_id", 12331 .field_bit_size = 8, 12332 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12333 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12334 }, 12335 { 12336 .description = "wc_search_en", 12337 .field_bit_size = 1, 12338 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12339 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12340 }, 12341 { 12342 .description = "em_key_mask.0", 12343 .field_bit_size = 1, 12344 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12345 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12346 .field_opr1 = { 12347 1} 12348 }, 12349 { 12350 .description = "em_key_mask.1", 12351 .field_bit_size = 1, 12352 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12353 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12354 .field_opr1 = { 12355 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 12356 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 12357 }, 12358 { 12359 .description = "em_key_mask.2", 12360 .field_bit_size = 1, 12361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12362 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12363 .field_opr1 = { 12364 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 12365 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 12366 }, 12367 { 12368 .description = "em_key_mask.3", 12369 .field_bit_size = 1, 12370 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12371 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12372 .field_opr1 = { 12373 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 12374 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 12375 }, 12376 { 12377 .description = "em_key_mask.4", 12378 .field_bit_size = 1, 12379 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12380 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12381 .field_opr1 = { 12382 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, 12383 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff} 12384 }, 12385 { 12386 .description = "em_key_mask.5", 12387 .field_bit_size = 1, 12388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 12389 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12390 .field_opr1 = { 12391 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 12392 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 12393 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12394 .field_opr2 = { 12395 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, 12396 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, 12397 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12398 .field_opr3 = { 12399 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, 12400 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} 12401 }, 12402 { 12403 .description = "em_key_mask.6", 12404 .field_bit_size = 1, 12405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 12406 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12407 .field_opr1 = { 12408 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 12409 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 12410 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12411 .field_opr2 = { 12412 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, 12413 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, 12414 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12415 .field_opr3 = { 12416 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, 12417 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} 12418 }, 12419 { 12420 .description = "em_key_mask.7", 12421 .field_bit_size = 1, 12422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12424 }, 12425 { 12426 .description = "em_key_mask.8", 12427 .field_bit_size = 1, 12428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12429 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12430 }, 12431 { 12432 .description = "em_key_mask.9", 12433 .field_bit_size = 1, 12434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12436 }, 12437 { 12438 .description = "em_key_id", 12439 .field_bit_size = 5, 12440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12441 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12442 .field_opr1 = { 12443 3} 12444 }, 12445 { 12446 .description = "em_profile_id", 12447 .field_bit_size = 8, 12448 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12449 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12450 .field_opr1 = { 12451 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 12452 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 12453 }, 12454 { 12455 .description = "em_search_en", 12456 .field_bit_size = 1, 12457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12458 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12459 .field_opr1 = { 12460 1} 12461 }, 12462 { 12463 .description = "pl_byp_lkup_en", 12464 .field_bit_size = 1, 12465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12466 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12467 }, 12468 /* class_tid: 1, , table: profile_tcam.ipv6 */ 12469 { 12470 .description = "wc_key_id", 12471 .field_bit_size = 4, 12472 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12473 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12474 }, 12475 { 12476 .description = "wc_profile_id", 12477 .field_bit_size = 8, 12478 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12479 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12480 }, 12481 { 12482 .description = "wc_search_en", 12483 .field_bit_size = 1, 12484 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12485 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12486 }, 12487 { 12488 .description = "em_key_mask.0", 12489 .field_bit_size = 1, 12490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12491 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12492 .field_opr1 = { 12493 1} 12494 }, 12495 { 12496 .description = "em_key_mask.1", 12497 .field_bit_size = 1, 12498 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12499 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12500 }, 12501 { 12502 .description = "em_key_mask.2", 12503 .field_bit_size = 1, 12504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12505 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12506 .field_opr1 = { 12507 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, 12508 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} 12509 }, 12510 { 12511 .description = "em_key_mask.3", 12512 .field_bit_size = 1, 12513 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12514 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12515 .field_opr1 = { 12516 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 12517 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 12518 }, 12519 { 12520 .description = "em_key_mask.4", 12521 .field_bit_size = 1, 12522 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12523 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12524 .field_opr1 = { 12525 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 12526 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 12527 }, 12528 { 12529 .description = "em_key_mask.5", 12530 .field_bit_size = 1, 12531 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12532 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12533 .field_opr1 = { 12534 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, 12535 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff} 12536 }, 12537 { 12538 .description = "em_key_mask.6", 12539 .field_bit_size = 1, 12540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 12541 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12542 .field_opr1 = { 12543 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 12544 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 12545 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12546 .field_opr2 = { 12547 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, 12548 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, 12549 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12550 .field_opr3 = { 12551 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, 12552 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} 12553 }, 12554 { 12555 .description = "em_key_mask.7", 12556 .field_bit_size = 1, 12557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 12558 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12559 .field_opr1 = { 12560 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 12561 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 12562 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12563 .field_opr2 = { 12564 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, 12565 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, 12566 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 12567 .field_opr3 = { 12568 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, 12569 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} 12570 }, 12571 { 12572 .description = "em_key_mask.8", 12573 .field_bit_size = 1, 12574 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12575 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12576 }, 12577 { 12578 .description = "em_key_mask.9", 12579 .field_bit_size = 1, 12580 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12581 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12582 }, 12583 { 12584 .description = "em_key_id", 12585 .field_bit_size = 5, 12586 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12587 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12588 .field_opr1 = { 12589 7} 12590 }, 12591 { 12592 .description = "em_profile_id", 12593 .field_bit_size = 8, 12594 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12595 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12596 .field_opr1 = { 12597 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 12598 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 12599 }, 12600 { 12601 .description = "em_search_en", 12602 .field_bit_size = 1, 12603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12604 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12605 .field_opr1 = { 12606 1} 12607 }, 12608 { 12609 .description = "pl_byp_lkup_en", 12610 .field_bit_size = 1, 12611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12613 }, 12614 /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */ 12615 { 12616 .description = "wc_key_id", 12617 .field_bit_size = 4, 12618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12619 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12620 }, 12621 { 12622 .description = "wc_profile_id", 12623 .field_bit_size = 8, 12624 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12625 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12626 }, 12627 { 12628 .description = "wc_search_en", 12629 .field_bit_size = 1, 12630 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12631 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12632 }, 12633 { 12634 .description = "em_key_mask.0", 12635 .field_bit_size = 1, 12636 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12637 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12638 .field_opr1 = { 12639 1} 12640 }, 12641 { 12642 .description = "em_key_mask.1", 12643 .field_bit_size = 1, 12644 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12645 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12646 }, 12647 { 12648 .description = "em_key_mask.2", 12649 .field_bit_size = 1, 12650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12652 }, 12653 { 12654 .description = "em_key_mask.3", 12655 .field_bit_size = 1, 12656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12658 }, 12659 { 12660 .description = "em_key_mask.4", 12661 .field_bit_size = 1, 12662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12663 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12664 .field_opr1 = { 12665 1} 12666 }, 12667 { 12668 .description = "em_key_mask.5", 12669 .field_bit_size = 1, 12670 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12671 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12672 .field_opr1 = { 12673 1} 12674 }, 12675 { 12676 .description = "em_key_mask.6", 12677 .field_bit_size = 1, 12678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12679 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12680 .field_opr1 = { 12681 1} 12682 }, 12683 { 12684 .description = "em_key_mask.7", 12685 .field_bit_size = 1, 12686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12687 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12688 }, 12689 { 12690 .description = "em_key_mask.8", 12691 .field_bit_size = 1, 12692 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12693 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12694 }, 12695 { 12696 .description = "em_key_mask.9", 12697 .field_bit_size = 1, 12698 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12699 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12700 }, 12701 { 12702 .description = "em_key_id", 12703 .field_bit_size = 5, 12704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12705 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12706 .field_opr1 = { 12707 20} 12708 }, 12709 { 12710 .description = "em_profile_id", 12711 .field_bit_size = 8, 12712 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12713 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12714 .field_opr1 = { 12715 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 12716 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 12717 }, 12718 { 12719 .description = "em_search_en", 12720 .field_bit_size = 1, 12721 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12722 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12723 .field_opr1 = { 12724 1} 12725 }, 12726 { 12727 .description = "pl_byp_lkup_en", 12728 .field_bit_size = 1, 12729 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12730 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12731 }, 12732 /* class_tid: 1, , table: profile_tcam_cache.wr */ 12733 { 12734 .description = "rid", 12735 .field_bit_size = 32, 12736 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12737 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12738 .field_opr1 = { 12739 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 12740 BNXT_ULP_RF_IDX_RID & 0xff} 12741 }, 12742 { 12743 .description = "profile_tcam_index", 12744 .field_bit_size = 10, 12745 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12746 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12747 .field_opr1 = { 12748 (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff, 12749 BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff} 12750 }, 12751 { 12752 .description = "em_profile_id", 12753 .field_bit_size = 8, 12754 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12755 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12756 .field_opr1 = { 12757 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 12758 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 12759 }, 12760 { 12761 .description = "wc_profile_id", 12762 .field_bit_size = 8, 12763 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12764 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12765 }, 12766 { 12767 .description = "flow_sig_id", 12768 .field_bit_size = 64, 12769 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12770 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 12771 .field_opr1 = { 12772 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff, 12773 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff} 12774 }, 12775 /* class_tid: 1, , table: em.ipv4 */ 12776 { 12777 .description = "act_rec_ptr", 12778 .field_bit_size = 33, 12779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12780 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12781 .field_opr1 = { 12782 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 12783 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 12784 }, 12785 { 12786 .description = "ext_flow_cntr", 12787 .field_bit_size = 1, 12788 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12789 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12790 }, 12791 { 12792 .description = "act_rec_int", 12793 .field_bit_size = 1, 12794 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12795 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12796 }, 12797 { 12798 .description = "act_rec_size", 12799 .field_bit_size = 5, 12800 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12801 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12802 }, 12803 { 12804 .description = "key_size", 12805 .field_bit_size = 9, 12806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12807 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12808 }, 12809 { 12810 .description = "reserved", 12811 .field_bit_size = 11, 12812 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12813 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12814 }, 12815 { 12816 .description = "strength", 12817 .field_bit_size = 2, 12818 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12819 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12820 .field_opr1 = { 12821 3} 12822 }, 12823 { 12824 .description = "l1_cacheable", 12825 .field_bit_size = 1, 12826 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12827 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12828 }, 12829 { 12830 .description = "valid", 12831 .field_bit_size = 1, 12832 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12833 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12834 .field_opr1 = { 12835 1} 12836 }, 12837 /* class_tid: 1, , table: eem.ipv4 */ 12838 { 12839 .description = "act_rec_ptr", 12840 .field_bit_size = 33, 12841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12842 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12843 .field_opr1 = { 12844 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 12845 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 12846 }, 12847 { 12848 .description = "ext_flow_cntr", 12849 .field_bit_size = 1, 12850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12852 }, 12853 { 12854 .description = "act_rec_int", 12855 .field_bit_size = 1, 12856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12857 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12858 }, 12859 { 12860 .description = "act_rec_size", 12861 .field_bit_size = 5, 12862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12863 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12864 .field_opr1 = { 12865 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, 12866 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff} 12867 }, 12868 { 12869 .description = "key_size", 12870 .field_bit_size = 9, 12871 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12872 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12873 .field_opr1 = { 12874 (173 >> 8) & 0xff, 12875 173 & 0xff} 12876 }, 12877 { 12878 .description = "reserved", 12879 .field_bit_size = 11, 12880 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12881 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12882 }, 12883 { 12884 .description = "strength", 12885 .field_bit_size = 2, 12886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12887 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12888 .field_opr1 = { 12889 3} 12890 }, 12891 { 12892 .description = "l1_cacheable", 12893 .field_bit_size = 1, 12894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12895 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12896 }, 12897 { 12898 .description = "valid", 12899 .field_bit_size = 1, 12900 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12901 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12902 .field_opr1 = { 12903 1} 12904 }, 12905 /* class_tid: 1, , table: em.ipv6 */ 12906 { 12907 .description = "act_rec_ptr", 12908 .field_bit_size = 33, 12909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12910 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12911 .field_opr1 = { 12912 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 12913 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 12914 }, 12915 { 12916 .description = "ext_flow_cntr", 12917 .field_bit_size = 1, 12918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12920 }, 12921 { 12922 .description = "act_rec_int", 12923 .field_bit_size = 1, 12924 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12925 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12926 }, 12927 { 12928 .description = "act_rec_size", 12929 .field_bit_size = 5, 12930 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12931 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12932 }, 12933 { 12934 .description = "key_size", 12935 .field_bit_size = 9, 12936 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12937 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12938 }, 12939 { 12940 .description = "reserved", 12941 .field_bit_size = 11, 12942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12943 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12944 }, 12945 { 12946 .description = "strength", 12947 .field_bit_size = 2, 12948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12949 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12950 .field_opr1 = { 12951 3} 12952 }, 12953 { 12954 .description = "l1_cacheable", 12955 .field_bit_size = 1, 12956 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12957 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12958 }, 12959 { 12960 .description = "valid", 12961 .field_bit_size = 1, 12962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12963 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 12964 .field_opr1 = { 12965 1} 12966 }, 12967 /* class_tid: 1, , table: eem.ipv6 */ 12968 { 12969 .description = "act_rec_ptr", 12970 .field_bit_size = 33, 12971 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12972 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12973 .field_opr1 = { 12974 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 12975 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 12976 }, 12977 { 12978 .description = "ext_flow_cntr", 12979 .field_bit_size = 1, 12980 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12981 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12982 }, 12983 { 12984 .description = "act_rec_int", 12985 .field_bit_size = 1, 12986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12987 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 12988 }, 12989 { 12990 .description = "act_rec_size", 12991 .field_bit_size = 5, 12992 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 12993 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 12994 .field_opr1 = { 12995 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, 12996 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff} 12997 }, 12998 { 12999 .description = "key_size", 13000 .field_bit_size = 9, 13001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13002 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13003 .field_opr1 = { 13004 (413 >> 8) & 0xff, 13005 413 & 0xff} 13006 }, 13007 { 13008 .description = "reserved", 13009 .field_bit_size = 11, 13010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13012 }, 13013 { 13014 .description = "strength", 13015 .field_bit_size = 2, 13016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13017 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13018 .field_opr1 = { 13019 3} 13020 }, 13021 { 13022 .description = "l1_cacheable", 13023 .field_bit_size = 1, 13024 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13025 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13026 }, 13027 { 13028 .description = "valid", 13029 .field_bit_size = 1, 13030 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13031 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13032 .field_opr1 = { 13033 1} 13034 }, 13035 /* class_tid: 1, , table: em.vxlan */ 13036 { 13037 .description = "act_rec_ptr", 13038 .field_bit_size = 33, 13039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13040 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13041 .field_opr1 = { 13042 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 13043 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 13044 }, 13045 { 13046 .description = "ext_flow_cntr", 13047 .field_bit_size = 1, 13048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13050 }, 13051 { 13052 .description = "act_rec_int", 13053 .field_bit_size = 1, 13054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13056 }, 13057 { 13058 .description = "act_rec_size", 13059 .field_bit_size = 5, 13060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13062 }, 13063 { 13064 .description = "key_size", 13065 .field_bit_size = 9, 13066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13068 }, 13069 { 13070 .description = "reserved", 13071 .field_bit_size = 11, 13072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13074 }, 13075 { 13076 .description = "strength", 13077 .field_bit_size = 2, 13078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13079 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13080 .field_opr1 = { 13081 3} 13082 }, 13083 { 13084 .description = "l1_cacheable", 13085 .field_bit_size = 1, 13086 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13087 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13088 }, 13089 { 13090 .description = "valid", 13091 .field_bit_size = 1, 13092 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13093 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13094 .field_opr1 = { 13095 1} 13096 }, 13097 /* class_tid: 1, , table: eem.vxlan */ 13098 { 13099 .description = "act_rec_ptr", 13100 .field_bit_size = 33, 13101 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13102 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13103 .field_opr1 = { 13104 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 13105 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 13106 }, 13107 { 13108 .description = "ext_flow_cntr", 13109 .field_bit_size = 1, 13110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13111 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13112 }, 13113 { 13114 .description = "act_rec_int", 13115 .field_bit_size = 1, 13116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13117 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13118 }, 13119 { 13120 .description = "act_rec_size", 13121 .field_bit_size = 5, 13122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13123 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13124 .field_opr1 = { 13125 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, 13126 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff} 13127 }, 13128 { 13129 .description = "key_size", 13130 .field_bit_size = 9, 13131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13132 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13133 .field_opr1 = { 13134 (197 >> 8) & 0xff, 13135 197 & 0xff} 13136 }, 13137 { 13138 .description = "reserved", 13139 .field_bit_size = 11, 13140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13141 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13142 }, 13143 { 13144 .description = "strength", 13145 .field_bit_size = 2, 13146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13147 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13148 .field_opr1 = { 13149 3} 13150 }, 13151 { 13152 .description = "l1_cacheable", 13153 .field_bit_size = 1, 13154 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13155 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13156 }, 13157 { 13158 .description = "valid", 13159 .field_bit_size = 1, 13160 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13161 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13162 .field_opr1 = { 13163 1} 13164 }, 13165 /* class_tid: 2, , table: l2_cntxt_tcam.1 */ 13166 { 13167 .description = "l2_cntxt_id", 13168 .field_bit_size = 10, 13169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13170 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13171 }, 13172 { 13173 .description = "prof_func_id", 13174 .field_bit_size = 7, 13175 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13176 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13177 }, 13178 { 13179 .description = "l2_byp_lkup_en", 13180 .field_bit_size = 1, 13181 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13182 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13183 }, 13184 { 13185 .description = "parif", 13186 .field_bit_size = 4, 13187 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13188 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13189 }, 13190 { 13191 .description = "allowed_pri", 13192 .field_bit_size = 8, 13193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13194 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13195 }, 13196 { 13197 .description = "default_pri", 13198 .field_bit_size = 3, 13199 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13200 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13201 }, 13202 { 13203 .description = "allowed_tpid", 13204 .field_bit_size = 6, 13205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13206 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13207 }, 13208 { 13209 .description = "default_tpid", 13210 .field_bit_size = 3, 13211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13212 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13213 }, 13214 { 13215 .description = "bd_act_en", 13216 .field_bit_size = 1, 13217 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13218 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13219 }, 13220 { 13221 .description = "sp_rec_ptr", 13222 .field_bit_size = 16, 13223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13225 }, 13226 { 13227 .description = "byp_sp_lkup", 13228 .field_bit_size = 1, 13229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13230 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13231 .field_opr1 = { 13232 1} 13233 }, 13234 { 13235 .description = "pri_anti_spoof_ctl", 13236 .field_bit_size = 2, 13237 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13238 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13239 }, 13240 { 13241 .description = "tpid_anti_spoof_ctl", 13242 .field_bit_size = 2, 13243 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13244 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13245 }, 13246 /* class_tid: 2, , table: tunnel_cache.wr */ 13247 { 13248 .description = "rid", 13249 .field_bit_size = 32, 13250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13251 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13252 .field_opr1 = { 13253 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 13254 BNXT_ULP_RF_IDX_RID & 0xff} 13255 }, 13256 { 13257 .description = "l2_cntxt_tcam_index", 13258 .field_bit_size = 10, 13259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13260 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13261 }, 13262 { 13263 .description = "l2_cntxt_id", 13264 .field_bit_size = 10, 13265 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13266 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13267 .field_opr1 = { 13268 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 13269 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 13270 }, 13271 /* class_tid: 2, , table: l2_cntxt_tcam.0 */ 13272 { 13273 .description = "l2_cntxt_id", 13274 .field_bit_size = 10, 13275 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13276 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13277 .field_opr1 = { 13278 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 13279 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 13280 }, 13281 { 13282 .description = "prof_func_id", 13283 .field_bit_size = 7, 13284 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13285 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 13286 .field_opr1 = { 13287 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff, 13288 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff} 13289 }, 13290 { 13291 .description = "l2_byp_lkup_en", 13292 .field_bit_size = 1, 13293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13294 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13295 }, 13296 { 13297 .description = "parif", 13298 .field_bit_size = 4, 13299 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13300 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 13301 .field_opr1 = { 13302 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, 13303 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} 13304 }, 13305 { 13306 .description = "allowed_pri", 13307 .field_bit_size = 8, 13308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13310 }, 13311 { 13312 .description = "default_pri", 13313 .field_bit_size = 3, 13314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13315 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13316 }, 13317 { 13318 .description = "allowed_tpid", 13319 .field_bit_size = 6, 13320 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13321 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13322 }, 13323 { 13324 .description = "default_tpid", 13325 .field_bit_size = 3, 13326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13327 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13328 }, 13329 { 13330 .description = "bd_act_en", 13331 .field_bit_size = 1, 13332 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13333 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13334 }, 13335 { 13336 .description = "sp_rec_ptr", 13337 .field_bit_size = 16, 13338 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13339 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13340 }, 13341 { 13342 .description = "byp_sp_lkup", 13343 .field_bit_size = 1, 13344 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13345 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13346 .field_opr1 = { 13347 1} 13348 }, 13349 { 13350 .description = "pri_anti_spoof_ctl", 13351 .field_bit_size = 2, 13352 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13353 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13354 }, 13355 { 13356 .description = "tpid_anti_spoof_ctl", 13357 .field_bit_size = 2, 13358 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13359 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13360 }, 13361 /* class_tid: 2, , table: mac_addr_cache.wr */ 13362 { 13363 .description = "rid", 13364 .field_bit_size = 32, 13365 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13366 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13367 .field_opr1 = { 13368 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 13369 BNXT_ULP_RF_IDX_RID & 0xff} 13370 }, 13371 { 13372 .description = "l2_cntxt_tcam_index", 13373 .field_bit_size = 10, 13374 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13375 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13376 }, 13377 { 13378 .description = "l2_cntxt_id", 13379 .field_bit_size = 10, 13380 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13381 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13382 .field_opr1 = { 13383 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 13384 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 13385 }, 13386 { 13387 .description = "src_property_ptr", 13388 .field_bit_size = 10, 13389 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13390 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13391 }, 13392 /* class_tid: 2, , table: profile_tcam.f2 */ 13393 { 13394 .description = "wc_key_id", 13395 .field_bit_size = 4, 13396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13397 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13398 }, 13399 { 13400 .description = "wc_profile_id", 13401 .field_bit_size = 8, 13402 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13403 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13404 }, 13405 { 13406 .description = "wc_search_en", 13407 .field_bit_size = 1, 13408 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13409 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13410 }, 13411 { 13412 .description = "em_key_mask.0", 13413 .field_bit_size = 1, 13414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13415 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13416 .field_opr1 = { 13417 1} 13418 }, 13419 { 13420 .description = "em_key_mask.1", 13421 .field_bit_size = 1, 13422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13423 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13424 .field_opr1 = { 13425 1} 13426 }, 13427 { 13428 .description = "em_key_mask.2", 13429 .field_bit_size = 1, 13430 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13431 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13432 }, 13433 { 13434 .description = "em_key_mask.3", 13435 .field_bit_size = 1, 13436 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13437 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13438 .field_opr1 = { 13439 1} 13440 }, 13441 { 13442 .description = "em_key_mask.4", 13443 .field_bit_size = 1, 13444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13445 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13446 .field_opr1 = { 13447 1} 13448 }, 13449 { 13450 .description = "em_key_mask.5", 13451 .field_bit_size = 1, 13452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13454 }, 13455 { 13456 .description = "em_key_mask.6", 13457 .field_bit_size = 1, 13458 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13459 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13460 }, 13461 { 13462 .description = "em_key_mask.7", 13463 .field_bit_size = 1, 13464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13465 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13466 }, 13467 { 13468 .description = "em_key_mask.8", 13469 .field_bit_size = 1, 13470 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13471 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13472 }, 13473 { 13474 .description = "em_key_mask.9", 13475 .field_bit_size = 1, 13476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13478 }, 13479 { 13480 .description = "em_key_id", 13481 .field_bit_size = 5, 13482 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13483 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13484 .field_opr1 = { 13485 8} 13486 }, 13487 { 13488 .description = "em_profile_id", 13489 .field_bit_size = 8, 13490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13491 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13492 .field_opr1 = { 13493 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 13494 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 13495 }, 13496 { 13497 .description = "em_search_en", 13498 .field_bit_size = 1, 13499 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13500 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13501 .field_opr1 = { 13502 1} 13503 }, 13504 { 13505 .description = "pl_byp_lkup_en", 13506 .field_bit_size = 1, 13507 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13508 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13509 }, 13510 /* class_tid: 2, , table: profile_tcam_cache.f2_wr */ 13511 { 13512 .description = "rid", 13513 .field_bit_size = 32, 13514 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13515 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13516 .field_opr1 = { 13517 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 13518 BNXT_ULP_RF_IDX_RID & 0xff} 13519 }, 13520 { 13521 .description = "profile_tcam_index", 13522 .field_bit_size = 10, 13523 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13524 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13525 .field_opr1 = { 13526 (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff, 13527 BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff} 13528 }, 13529 { 13530 .description = "em_profile_id", 13531 .field_bit_size = 8, 13532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13533 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13534 .field_opr1 = { 13535 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 13536 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 13537 }, 13538 { 13539 .description = "wc_profile_id", 13540 .field_bit_size = 8, 13541 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13542 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13543 }, 13544 { 13545 .description = "flow_sig_id", 13546 .field_bit_size = 64, 13547 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13548 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 13549 .field_opr1 = { 13550 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff, 13551 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff} 13552 }, 13553 /* class_tid: 2, , table: em.tun */ 13554 { 13555 .description = "act_rec_ptr", 13556 .field_bit_size = 33, 13557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13558 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13559 .field_opr1 = { 13560 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 13561 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 13562 }, 13563 { 13564 .description = "ext_flow_cntr", 13565 .field_bit_size = 1, 13566 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13567 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13568 }, 13569 { 13570 .description = "act_rec_int", 13571 .field_bit_size = 1, 13572 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13573 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13574 }, 13575 { 13576 .description = "act_rec_size", 13577 .field_bit_size = 5, 13578 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13579 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13580 }, 13581 { 13582 .description = "key_size", 13583 .field_bit_size = 9, 13584 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13585 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13586 }, 13587 { 13588 .description = "reserved", 13589 .field_bit_size = 11, 13590 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13591 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13592 }, 13593 { 13594 .description = "strength", 13595 .field_bit_size = 2, 13596 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13597 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13598 .field_opr1 = { 13599 3} 13600 }, 13601 { 13602 .description = "l1_cacheable", 13603 .field_bit_size = 1, 13604 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13605 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13606 }, 13607 { 13608 .description = "valid", 13609 .field_bit_size = 1, 13610 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13611 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13612 .field_opr1 = { 13613 1} 13614 }, 13615 /* class_tid: 2, , table: eem.tun */ 13616 { 13617 .description = "act_rec_ptr", 13618 .field_bit_size = 33, 13619 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13620 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13621 .field_opr1 = { 13622 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 13623 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 13624 }, 13625 { 13626 .description = "ext_flow_cntr", 13627 .field_bit_size = 1, 13628 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13629 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13630 }, 13631 { 13632 .description = "act_rec_int", 13633 .field_bit_size = 1, 13634 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13635 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13636 }, 13637 { 13638 .description = "act_rec_size", 13639 .field_bit_size = 5, 13640 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13641 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13642 .field_opr1 = { 13643 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, 13644 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff} 13645 }, 13646 { 13647 .description = "key_size", 13648 .field_bit_size = 9, 13649 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13650 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13651 .field_opr1 = { 13652 (109 >> 8) & 0xff, 13653 109 & 0xff} 13654 }, 13655 { 13656 .description = "reserved", 13657 .field_bit_size = 11, 13658 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13659 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13660 }, 13661 { 13662 .description = "strength", 13663 .field_bit_size = 2, 13664 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13665 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13666 .field_opr1 = { 13667 3} 13668 }, 13669 { 13670 .description = "l1_cacheable", 13671 .field_bit_size = 1, 13672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13673 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13674 }, 13675 { 13676 .description = "valid", 13677 .field_bit_size = 1, 13678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13679 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13680 .field_opr1 = { 13681 1} 13682 }, 13683 /* class_tid: 3, , table: l2_cntxt_tcam.0 */ 13684 { 13685 .description = "l2_cntxt_id", 13686 .field_bit_size = 10, 13687 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13688 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13689 .field_opr1 = { 13690 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 13691 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 13692 }, 13693 { 13694 .description = "prof_func_id", 13695 .field_bit_size = 7, 13696 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13697 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 13698 .field_opr1 = { 13699 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, 13700 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} 13701 }, 13702 { 13703 .description = "l2_byp_lkup_en", 13704 .field_bit_size = 1, 13705 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13706 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13707 }, 13708 { 13709 .description = "parif", 13710 .field_bit_size = 4, 13711 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, 13712 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 13713 .field_opr1 = { 13714 (BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP >> 8) & 0xff, 13715 BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP & 0xff}, 13716 .field_src2 = BNXT_ULP_FIELD_SRC_CONST, 13717 .field_opr2 = { 13718 ULP_WP_SYM_LOOPBACK_PARIF}, 13719 .field_src3 = BNXT_ULP_FIELD_SRC_CF, 13720 .field_opr3 = { 13721 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff, 13722 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff} 13723 }, 13724 { 13725 .description = "allowed_pri", 13726 .field_bit_size = 8, 13727 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13728 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13729 }, 13730 { 13731 .description = "default_pri", 13732 .field_bit_size = 3, 13733 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13734 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13735 }, 13736 { 13737 .description = "allowed_tpid", 13738 .field_bit_size = 6, 13739 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13740 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13741 }, 13742 { 13743 .description = "default_tpid", 13744 .field_bit_size = 3, 13745 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13746 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13747 }, 13748 { 13749 .description = "bd_act_en", 13750 .field_bit_size = 1, 13751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13753 }, 13754 { 13755 .description = "sp_rec_ptr", 13756 .field_bit_size = 16, 13757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13758 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13759 .field_opr1 = { 13760 (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, 13761 BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff} 13762 }, 13763 { 13764 .description = "byp_sp_lkup", 13765 .field_bit_size = 1, 13766 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13767 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13768 .field_opr1 = { 13769 1} 13770 }, 13771 { 13772 .description = "pri_anti_spoof_ctl", 13773 .field_bit_size = 2, 13774 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13775 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13776 }, 13777 { 13778 .description = "tpid_anti_spoof_ctl", 13779 .field_bit_size = 2, 13780 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13781 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13782 }, 13783 /* class_tid: 3, , table: mac_addr_cache.wr */ 13784 { 13785 .description = "rid", 13786 .field_bit_size = 32, 13787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13788 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13789 .field_opr1 = { 13790 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 13791 BNXT_ULP_RF_IDX_RID & 0xff} 13792 }, 13793 { 13794 .description = "l2_cntxt_tcam_index", 13795 .field_bit_size = 10, 13796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13797 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13798 .field_opr1 = { 13799 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, 13800 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} 13801 }, 13802 { 13803 .description = "l2_cntxt_id", 13804 .field_bit_size = 10, 13805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13806 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13807 .field_opr1 = { 13808 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 13809 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 13810 }, 13811 { 13812 .description = "src_property_ptr", 13813 .field_bit_size = 10, 13814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13815 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13816 }, 13817 /* class_tid: 3, , table: profile_tcam.ipv4 */ 13818 { 13819 .description = "wc_key_id", 13820 .field_bit_size = 4, 13821 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13822 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13823 }, 13824 { 13825 .description = "wc_profile_id", 13826 .field_bit_size = 8, 13827 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13828 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13829 }, 13830 { 13831 .description = "wc_search_en", 13832 .field_bit_size = 1, 13833 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13834 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13835 }, 13836 { 13837 .description = "em_key_mask.0", 13838 .field_bit_size = 1, 13839 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13840 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13841 .field_opr1 = { 13842 1} 13843 }, 13844 { 13845 .description = "em_key_mask.1", 13846 .field_bit_size = 1, 13847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13848 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13849 .field_opr1 = { 13850 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 13851 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 13852 }, 13853 { 13854 .description = "em_key_mask.2", 13855 .field_bit_size = 1, 13856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13857 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13858 .field_opr1 = { 13859 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, 13860 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} 13861 }, 13862 { 13863 .description = "em_key_mask.3", 13864 .field_bit_size = 1, 13865 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13866 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13867 .field_opr1 = { 13868 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, 13869 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} 13870 }, 13871 { 13872 .description = "em_key_mask.4", 13873 .field_bit_size = 1, 13874 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13875 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13876 .field_opr1 = { 13877 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, 13878 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff} 13879 }, 13880 { 13881 .description = "em_key_mask.5", 13882 .field_bit_size = 1, 13883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 13884 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 13885 .field_opr1 = { 13886 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 13887 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 13888 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13889 .field_opr2 = { 13890 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, 13891 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, 13892 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13893 .field_opr3 = { 13894 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, 13895 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} 13896 }, 13897 { 13898 .description = "em_key_mask.6", 13899 .field_bit_size = 1, 13900 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 13901 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 13902 .field_opr1 = { 13903 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 13904 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 13905 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13906 .field_opr2 = { 13907 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, 13908 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, 13909 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13910 .field_opr3 = { 13911 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, 13912 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} 13913 }, 13914 { 13915 .description = "em_key_mask.7", 13916 .field_bit_size = 1, 13917 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13918 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13919 }, 13920 { 13921 .description = "em_key_mask.8", 13922 .field_bit_size = 1, 13923 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13924 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13925 }, 13926 { 13927 .description = "em_key_mask.9", 13928 .field_bit_size = 1, 13929 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13930 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13931 }, 13932 { 13933 .description = "em_key_id", 13934 .field_bit_size = 5, 13935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13936 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13937 .field_opr1 = { 13938 4} 13939 }, 13940 { 13941 .description = "em_profile_id", 13942 .field_bit_size = 8, 13943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13944 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 13945 .field_opr1 = { 13946 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 13947 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 13948 }, 13949 { 13950 .description = "em_search_en", 13951 .field_bit_size = 1, 13952 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13953 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13954 .field_opr1 = { 13955 1} 13956 }, 13957 { 13958 .description = "pl_byp_lkup_en", 13959 .field_bit_size = 1, 13960 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13961 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13962 }, 13963 /* class_tid: 3, , table: profile_tcam.ipv6 */ 13964 { 13965 .description = "wc_key_id", 13966 .field_bit_size = 4, 13967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13968 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13969 }, 13970 { 13971 .description = "wc_profile_id", 13972 .field_bit_size = 8, 13973 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13974 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13975 }, 13976 { 13977 .description = "wc_search_en", 13978 .field_bit_size = 1, 13979 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13980 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 13981 }, 13982 { 13983 .description = "em_key_mask.0", 13984 .field_bit_size = 1, 13985 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13986 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 13987 .field_opr1 = { 13988 1} 13989 }, 13990 { 13991 .description = "em_key_mask.1", 13992 .field_bit_size = 1, 13993 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 13994 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 13995 .field_opr1 = { 13996 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, 13997 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} 13998 }, 13999 { 14000 .description = "em_key_mask.2", 14001 .field_bit_size = 1, 14002 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14003 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14004 }, 14005 { 14006 .description = "em_key_mask.3", 14007 .field_bit_size = 1, 14008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14009 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14010 .field_opr1 = { 14011 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, 14012 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} 14013 }, 14014 { 14015 .description = "em_key_mask.4", 14016 .field_bit_size = 1, 14017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14018 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14019 .field_opr1 = { 14020 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, 14021 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} 14022 }, 14023 { 14024 .description = "em_key_mask.5", 14025 .field_bit_size = 1, 14026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14027 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14028 .field_opr1 = { 14029 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, 14030 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff} 14031 }, 14032 { 14033 .description = "em_key_mask.6", 14034 .field_bit_size = 1, 14035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 14036 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14037 .field_opr1 = { 14038 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 14039 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 14040 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14041 .field_opr2 = { 14042 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, 14043 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, 14044 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14045 .field_opr3 = { 14046 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, 14047 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} 14048 }, 14049 { 14050 .description = "em_key_mask.7", 14051 .field_bit_size = 1, 14052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, 14053 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14054 .field_opr1 = { 14055 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, 14056 BNXT_ULP_CF_IDX_O_L4 & 0xff}, 14057 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14058 .field_opr2 = { 14059 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, 14060 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, 14061 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, 14062 .field_opr3 = { 14063 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, 14064 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} 14065 }, 14066 { 14067 .description = "em_key_mask.8", 14068 .field_bit_size = 1, 14069 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14070 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14071 }, 14072 { 14073 .description = "em_key_mask.9", 14074 .field_bit_size = 1, 14075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14076 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14077 }, 14078 { 14079 .description = "em_key_id", 14080 .field_bit_size = 5, 14081 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14082 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14083 .field_opr1 = { 14084 7} 14085 }, 14086 { 14087 .description = "em_profile_id", 14088 .field_bit_size = 8, 14089 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14090 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14091 .field_opr1 = { 14092 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 14093 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 14094 }, 14095 { 14096 .description = "em_search_en", 14097 .field_bit_size = 1, 14098 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14099 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14100 .field_opr1 = { 14101 1} 14102 }, 14103 { 14104 .description = "pl_byp_lkup_en", 14105 .field_bit_size = 1, 14106 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14107 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14108 }, 14109 /* class_tid: 3, , table: profile_tcam_cache.wr */ 14110 { 14111 .description = "rid", 14112 .field_bit_size = 32, 14113 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14114 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14115 .field_opr1 = { 14116 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 14117 BNXT_ULP_RF_IDX_RID & 0xff} 14118 }, 14119 { 14120 .description = "profile_tcam_index", 14121 .field_bit_size = 10, 14122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14123 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14124 .field_opr1 = { 14125 (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff, 14126 BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff} 14127 }, 14128 { 14129 .description = "em_profile_id", 14130 .field_bit_size = 8, 14131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14132 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14133 .field_opr1 = { 14134 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, 14135 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} 14136 }, 14137 { 14138 .description = "wc_profile_id", 14139 .field_bit_size = 8, 14140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14141 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14142 }, 14143 { 14144 .description = "flow_sig_id", 14145 .field_bit_size = 64, 14146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14147 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14148 .field_opr1 = { 14149 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff, 14150 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff} 14151 }, 14152 /* class_tid: 3, , table: em.ipv4 */ 14153 { 14154 .description = "act_rec_ptr", 14155 .field_bit_size = 33, 14156 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14157 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14158 .field_opr1 = { 14159 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14160 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14161 }, 14162 { 14163 .description = "ext_flow_cntr", 14164 .field_bit_size = 1, 14165 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14166 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14167 }, 14168 { 14169 .description = "act_rec_int", 14170 .field_bit_size = 1, 14171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14172 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14173 }, 14174 { 14175 .description = "act_rec_size", 14176 .field_bit_size = 5, 14177 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14178 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14179 }, 14180 { 14181 .description = "key_size", 14182 .field_bit_size = 9, 14183 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14184 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14185 }, 14186 { 14187 .description = "reserved", 14188 .field_bit_size = 11, 14189 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14190 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14191 }, 14192 { 14193 .description = "strength", 14194 .field_bit_size = 2, 14195 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14196 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14197 .field_opr1 = { 14198 3} 14199 }, 14200 { 14201 .description = "l1_cacheable", 14202 .field_bit_size = 1, 14203 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14204 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14205 }, 14206 { 14207 .description = "valid", 14208 .field_bit_size = 1, 14209 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14210 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14211 .field_opr1 = { 14212 1} 14213 }, 14214 /* class_tid: 3, , table: eem.ipv4 */ 14215 { 14216 .description = "act_rec_ptr", 14217 .field_bit_size = 33, 14218 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14219 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14220 .field_opr1 = { 14221 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14222 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14223 }, 14224 { 14225 .description = "ext_flow_cntr", 14226 .field_bit_size = 1, 14227 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14228 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14229 }, 14230 { 14231 .description = "act_rec_int", 14232 .field_bit_size = 1, 14233 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14234 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14235 }, 14236 { 14237 .description = "act_rec_size", 14238 .field_bit_size = 5, 14239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14240 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14241 .field_opr1 = { 14242 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, 14243 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff} 14244 }, 14245 { 14246 .description = "key_size", 14247 .field_bit_size = 9, 14248 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14249 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14250 .field_opr1 = { 14251 (173 >> 8) & 0xff, 14252 173 & 0xff} 14253 }, 14254 { 14255 .description = "reserved", 14256 .field_bit_size = 11, 14257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14258 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14259 }, 14260 { 14261 .description = "strength", 14262 .field_bit_size = 2, 14263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14264 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14265 .field_opr1 = { 14266 3} 14267 }, 14268 { 14269 .description = "l1_cacheable", 14270 .field_bit_size = 1, 14271 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14272 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14273 }, 14274 { 14275 .description = "valid", 14276 .field_bit_size = 1, 14277 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14278 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14279 .field_opr1 = { 14280 1} 14281 }, 14282 /* class_tid: 3, , table: em.ipv6 */ 14283 { 14284 .description = "act_rec_ptr", 14285 .field_bit_size = 33, 14286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14287 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14288 .field_opr1 = { 14289 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14290 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14291 }, 14292 { 14293 .description = "ext_flow_cntr", 14294 .field_bit_size = 1, 14295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14296 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14297 }, 14298 { 14299 .description = "act_rec_int", 14300 .field_bit_size = 1, 14301 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14302 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14303 }, 14304 { 14305 .description = "act_rec_size", 14306 .field_bit_size = 5, 14307 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14308 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14309 }, 14310 { 14311 .description = "key_size", 14312 .field_bit_size = 9, 14313 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14314 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14315 }, 14316 { 14317 .description = "reserved", 14318 .field_bit_size = 11, 14319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14320 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14321 }, 14322 { 14323 .description = "strength", 14324 .field_bit_size = 2, 14325 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14326 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14327 .field_opr1 = { 14328 3} 14329 }, 14330 { 14331 .description = "l1_cacheable", 14332 .field_bit_size = 1, 14333 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14335 }, 14336 { 14337 .description = "valid", 14338 .field_bit_size = 1, 14339 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14340 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14341 .field_opr1 = { 14342 1} 14343 }, 14344 /* class_tid: 3, , table: eem.ipv6 */ 14345 { 14346 .description = "act_rec_ptr", 14347 .field_bit_size = 33, 14348 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14349 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14350 .field_opr1 = { 14351 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14352 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14353 }, 14354 { 14355 .description = "ext_flow_cntr", 14356 .field_bit_size = 1, 14357 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14358 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14359 }, 14360 { 14361 .description = "act_rec_int", 14362 .field_bit_size = 1, 14363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14364 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14365 }, 14366 { 14367 .description = "act_rec_size", 14368 .field_bit_size = 5, 14369 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14370 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14371 .field_opr1 = { 14372 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, 14373 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff} 14374 }, 14375 { 14376 .description = "key_size", 14377 .field_bit_size = 9, 14378 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14379 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14380 .field_opr1 = { 14381 (413 >> 8) & 0xff, 14382 413 & 0xff} 14383 }, 14384 { 14385 .description = "reserved", 14386 .field_bit_size = 11, 14387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14388 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14389 }, 14390 { 14391 .description = "strength", 14392 .field_bit_size = 2, 14393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14394 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14395 .field_opr1 = { 14396 3} 14397 }, 14398 { 14399 .description = "l1_cacheable", 14400 .field_bit_size = 1, 14401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14403 }, 14404 { 14405 .description = "valid", 14406 .field_bit_size = 1, 14407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14408 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14409 .field_opr1 = { 14410 1} 14411 }, 14412 /* class_tid: 4, , table: int_full_act_record.ing_0 */ 14413 { 14414 .description = "flow_cntr_ptr", 14415 .field_bit_size = 14, 14416 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14417 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14418 }, 14419 { 14420 .description = "age_enable", 14421 .field_bit_size = 1, 14422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14424 }, 14425 { 14426 .description = "agg_cntr_en", 14427 .field_bit_size = 1, 14428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14429 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14430 }, 14431 { 14432 .description = "rate_cntr_en", 14433 .field_bit_size = 1, 14434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14436 }, 14437 { 14438 .description = "flow_cntr_en", 14439 .field_bit_size = 1, 14440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14442 }, 14443 { 14444 .description = "tcpflags_key", 14445 .field_bit_size = 8, 14446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14448 }, 14449 { 14450 .description = "tcpflags_mir", 14451 .field_bit_size = 1, 14452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14454 }, 14455 { 14456 .description = "tcpflags_match", 14457 .field_bit_size = 1, 14458 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14459 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14460 }, 14461 { 14462 .description = "encap_ptr", 14463 .field_bit_size = 11, 14464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14465 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14466 }, 14467 { 14468 .description = "dst_ip_ptr", 14469 .field_bit_size = 10, 14470 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14471 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14472 }, 14473 { 14474 .description = "tcp_dst_port", 14475 .field_bit_size = 16, 14476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14478 }, 14479 { 14480 .description = "src_ip_ptr", 14481 .field_bit_size = 10, 14482 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14483 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14484 }, 14485 { 14486 .description = "tcp_src_port", 14487 .field_bit_size = 16, 14488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14489 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14490 }, 14491 { 14492 .description = "meter_id", 14493 .field_bit_size = 10, 14494 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14495 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14496 }, 14497 { 14498 .description = "l3_rdir", 14499 .field_bit_size = 1, 14500 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14501 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14502 }, 14503 { 14504 .description = "tl3_rdir", 14505 .field_bit_size = 1, 14506 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14507 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14508 }, 14509 { 14510 .description = "l3_ttl_dec", 14511 .field_bit_size = 1, 14512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14513 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14514 }, 14515 { 14516 .description = "tl3_ttl_dec", 14517 .field_bit_size = 1, 14518 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14519 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14520 }, 14521 { 14522 .description = "decap_func", 14523 .field_bit_size = 4, 14524 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14525 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14526 }, 14527 { 14528 .description = "vnic_or_vport", 14529 .field_bit_size = 12, 14530 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14531 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14532 .field_opr1 = { 14533 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, 14534 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} 14535 }, 14536 { 14537 .description = "pop_vlan", 14538 .field_bit_size = 1, 14539 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14540 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14541 }, 14542 { 14543 .description = "meter", 14544 .field_bit_size = 1, 14545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14546 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14547 }, 14548 { 14549 .description = "mirror", 14550 .field_bit_size = 2, 14551 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14552 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14553 }, 14554 { 14555 .description = "drop", 14556 .field_bit_size = 1, 14557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14558 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14559 }, 14560 { 14561 .description = "hit", 14562 .field_bit_size = 1, 14563 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14564 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14565 }, 14566 { 14567 .description = "type", 14568 .field_bit_size = 1, 14569 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14570 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14571 }, 14572 /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */ 14573 { 14574 .description = "l2_cntxt_id", 14575 .field_bit_size = 10, 14576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14577 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14578 .field_opr1 = { 14579 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 14580 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 14581 }, 14582 { 14583 .description = "prof_func_id", 14584 .field_bit_size = 7, 14585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14586 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 14587 .field_opr1 = { 14588 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 14589 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 14590 }, 14591 { 14592 .description = "l2_byp_lkup_en", 14593 .field_bit_size = 1, 14594 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14595 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14596 }, 14597 { 14598 .description = "parif", 14599 .field_bit_size = 4, 14600 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14601 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14602 .field_opr1 = { 14603 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, 14604 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff} 14605 }, 14606 { 14607 .description = "allowed_pri", 14608 .field_bit_size = 8, 14609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14610 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14611 }, 14612 { 14613 .description = "default_pri", 14614 .field_bit_size = 3, 14615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14617 }, 14618 { 14619 .description = "allowed_tpid", 14620 .field_bit_size = 6, 14621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14622 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14623 }, 14624 { 14625 .description = "default_tpid", 14626 .field_bit_size = 3, 14627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14628 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14629 }, 14630 { 14631 .description = "bd_act_en", 14632 .field_bit_size = 1, 14633 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14634 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14635 }, 14636 { 14637 .description = "sp_rec_ptr", 14638 .field_bit_size = 16, 14639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14640 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14641 }, 14642 { 14643 .description = "byp_sp_lkup", 14644 .field_bit_size = 1, 14645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14646 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14647 .field_opr1 = { 14648 1} 14649 }, 14650 { 14651 .description = "pri_anti_spoof_ctl", 14652 .field_bit_size = 2, 14653 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14654 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14655 }, 14656 { 14657 .description = "tpid_anti_spoof_ctl", 14658 .field_bit_size = 2, 14659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14660 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14661 }, 14662 /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */ 14663 { 14664 .description = "rid", 14665 .field_bit_size = 32, 14666 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14667 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14668 .field_opr1 = { 14669 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 14670 BNXT_ULP_RF_IDX_RID & 0xff} 14671 }, 14672 { 14673 .description = "l2_cntxt_tcam_index", 14674 .field_bit_size = 10, 14675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14676 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14677 .field_opr1 = { 14678 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, 14679 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} 14680 }, 14681 { 14682 .description = "l2_cntxt_id", 14683 .field_bit_size = 10, 14684 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14685 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14686 .field_opr1 = { 14687 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 14688 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 14689 }, 14690 { 14691 .description = "src_property_ptr", 14692 .field_bit_size = 10, 14693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14694 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14695 }, 14696 /* class_tid: 4, , table: parif_def_lkup_arec_ptr.ing_0 */ 14697 { 14698 .description = "act_rec_ptr", 14699 .field_bit_size = 32, 14700 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14701 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14702 .field_opr1 = { 14703 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14704 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14705 }, 14706 /* class_tid: 4, , table: parif_def_arec_ptr.ing_0 */ 14707 { 14708 .description = "act_rec_ptr", 14709 .field_bit_size = 32, 14710 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14711 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14712 .field_opr1 = { 14713 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14714 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14715 }, 14716 /* class_tid: 4, , table: parif_def_err_arec_ptr.ing_0 */ 14717 { 14718 .description = "act_rec_ptr", 14719 .field_bit_size = 32, 14720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14721 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14722 .field_opr1 = { 14723 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 14724 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 14725 }, 14726 /* class_tid: 4, , table: int_full_act_record.egr_vfr */ 14727 { 14728 .description = "flow_cntr_ptr", 14729 .field_bit_size = 14, 14730 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14731 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14732 }, 14733 { 14734 .description = "age_enable", 14735 .field_bit_size = 1, 14736 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14737 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14738 }, 14739 { 14740 .description = "agg_cntr_en", 14741 .field_bit_size = 1, 14742 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14743 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14744 }, 14745 { 14746 .description = "rate_cntr_en", 14747 .field_bit_size = 1, 14748 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14749 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14750 }, 14751 { 14752 .description = "flow_cntr_en", 14753 .field_bit_size = 1, 14754 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14755 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14756 }, 14757 { 14758 .description = "tcpflags_key", 14759 .field_bit_size = 8, 14760 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14761 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14762 }, 14763 { 14764 .description = "tcpflags_mir", 14765 .field_bit_size = 1, 14766 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14767 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14768 }, 14769 { 14770 .description = "tcpflags_match", 14771 .field_bit_size = 1, 14772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14773 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14774 }, 14775 { 14776 .description = "encap_ptr", 14777 .field_bit_size = 11, 14778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14779 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14780 }, 14781 { 14782 .description = "dst_ip_ptr", 14783 .field_bit_size = 10, 14784 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14785 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14786 }, 14787 { 14788 .description = "tcp_dst_port", 14789 .field_bit_size = 16, 14790 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14791 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14792 }, 14793 { 14794 .description = "src_ip_ptr", 14795 .field_bit_size = 10, 14796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14797 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14798 }, 14799 { 14800 .description = "tcp_src_port", 14801 .field_bit_size = 16, 14802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14803 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14804 }, 14805 { 14806 .description = "meter_id", 14807 .field_bit_size = 10, 14808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14810 }, 14811 { 14812 .description = "l3_rdir", 14813 .field_bit_size = 1, 14814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14815 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14816 }, 14817 { 14818 .description = "tl3_rdir", 14819 .field_bit_size = 1, 14820 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14821 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14822 }, 14823 { 14824 .description = "l3_ttl_dec", 14825 .field_bit_size = 1, 14826 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14827 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14828 }, 14829 { 14830 .description = "tl3_ttl_dec", 14831 .field_bit_size = 1, 14832 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14833 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14834 }, 14835 { 14836 .description = "decap_func", 14837 .field_bit_size = 4, 14838 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14839 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14840 }, 14841 { 14842 .description = "vnic_or_vport", 14843 .field_bit_size = 12, 14844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14845 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14846 .field_opr1 = { 14847 (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff, 14848 BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff} 14849 }, 14850 { 14851 .description = "pop_vlan", 14852 .field_bit_size = 1, 14853 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14854 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14855 }, 14856 { 14857 .description = "meter", 14858 .field_bit_size = 1, 14859 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14860 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14861 }, 14862 { 14863 .description = "mirror", 14864 .field_bit_size = 2, 14865 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14866 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14867 }, 14868 { 14869 .description = "drop", 14870 .field_bit_size = 1, 14871 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14872 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14873 }, 14874 { 14875 .description = "hit", 14876 .field_bit_size = 1, 14877 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14878 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14879 }, 14880 { 14881 .description = "type", 14882 .field_bit_size = 1, 14883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14884 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14885 }, 14886 /* class_tid: 4, , table: l2_cntxt_tcam_bypass.egr_vfr */ 14887 { 14888 .description = "act_record_ptr", 14889 .field_bit_size = 16, 14890 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14891 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14892 }, 14893 { 14894 .description = "reserved", 14895 .field_bit_size = 1, 14896 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14897 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14898 }, 14899 { 14900 .description = "l2_byp_lkup_en", 14901 .field_bit_size = 1, 14902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14903 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14904 .field_opr1 = { 14905 1} 14906 }, 14907 { 14908 .description = "parif", 14909 .field_bit_size = 4, 14910 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14911 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 14912 .field_opr1 = { 14913 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff, 14914 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff} 14915 }, 14916 { 14917 .description = "allowed_pri", 14918 .field_bit_size = 8, 14919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14920 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14921 }, 14922 { 14923 .description = "default_pri", 14924 .field_bit_size = 3, 14925 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14926 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14927 }, 14928 { 14929 .description = "allowed_tpid", 14930 .field_bit_size = 6, 14931 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14932 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14933 }, 14934 { 14935 .description = "default_tpid", 14936 .field_bit_size = 3, 14937 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14938 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14939 }, 14940 { 14941 .description = "bd_act_en", 14942 .field_bit_size = 1, 14943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14944 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14945 .field_opr1 = { 14946 1} 14947 }, 14948 { 14949 .description = "sp_rec_ptr", 14950 .field_bit_size = 16, 14951 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14952 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14953 }, 14954 { 14955 .description = "byp_sp_lkup", 14956 .field_bit_size = 1, 14957 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14958 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 14959 .field_opr1 = { 14960 1} 14961 }, 14962 { 14963 .description = "pri_anti_spoof_ctl", 14964 .field_bit_size = 2, 14965 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14966 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14967 }, 14968 { 14969 .description = "tpid_anti_spoof_ctl", 14970 .field_bit_size = 2, 14971 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14972 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14973 }, 14974 /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */ 14975 { 14976 .description = "rid", 14977 .field_bit_size = 32, 14978 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14979 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14980 .field_opr1 = { 14981 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 14982 BNXT_ULP_RF_IDX_RID & 0xff} 14983 }, 14984 { 14985 .description = "l2_cntxt_tcam_index", 14986 .field_bit_size = 10, 14987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14988 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 14989 .field_opr1 = { 14990 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, 14991 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} 14992 }, 14993 { 14994 .description = "l2_cntxt_id", 14995 .field_bit_size = 10, 14996 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 14997 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 14998 }, 14999 { 15000 .description = "src_property_ptr", 15001 .field_bit_size = 10, 15002 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15003 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15004 }, 15005 /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */ 15006 { 15007 .description = "l2_cntxt_id", 15008 .field_bit_size = 10, 15009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15010 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15011 .field_opr1 = { 15012 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 15013 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 15014 }, 15015 { 15016 .description = "prof_func_id", 15017 .field_bit_size = 7, 15018 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15019 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 15020 .field_opr1 = { 15021 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 15022 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 15023 }, 15024 { 15025 .description = "l2_byp_lkup_en", 15026 .field_bit_size = 1, 15027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15029 }, 15030 { 15031 .description = "parif", 15032 .field_bit_size = 4, 15033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15034 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 15035 .field_opr1 = { 15036 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff, 15037 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff} 15038 }, 15039 { 15040 .description = "allowed_pri", 15041 .field_bit_size = 8, 15042 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15043 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15044 }, 15045 { 15046 .description = "default_pri", 15047 .field_bit_size = 3, 15048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15050 }, 15051 { 15052 .description = "allowed_tpid", 15053 .field_bit_size = 6, 15054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15056 }, 15057 { 15058 .description = "default_tpid", 15059 .field_bit_size = 3, 15060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15062 }, 15063 { 15064 .description = "bd_act_en", 15065 .field_bit_size = 1, 15066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15068 }, 15069 { 15070 .description = "sp_rec_ptr", 15071 .field_bit_size = 16, 15072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15074 }, 15075 { 15076 .description = "byp_sp_lkup", 15077 .field_bit_size = 1, 15078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15079 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15080 .field_opr1 = { 15081 1} 15082 }, 15083 { 15084 .description = "pri_anti_spoof_ctl", 15085 .field_bit_size = 2, 15086 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15087 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15088 }, 15089 { 15090 .description = "tpid_anti_spoof_ctl", 15091 .field_bit_size = 2, 15092 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15093 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15094 }, 15095 /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */ 15096 { 15097 .description = "rid", 15098 .field_bit_size = 32, 15099 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15100 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15101 .field_opr1 = { 15102 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 15103 BNXT_ULP_RF_IDX_RID & 0xff} 15104 }, 15105 { 15106 .description = "l2_cntxt_tcam_index", 15107 .field_bit_size = 10, 15108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15109 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15110 .field_opr1 = { 15111 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, 15112 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} 15113 }, 15114 { 15115 .description = "l2_cntxt_id", 15116 .field_bit_size = 10, 15117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15118 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15119 .field_opr1 = { 15120 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 15121 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 15122 }, 15123 { 15124 .description = "src_property_ptr", 15125 .field_bit_size = 10, 15126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15127 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15128 }, 15129 /* class_tid: 4, , table: int_full_act_record.egr_0 */ 15130 { 15131 .description = "flow_cntr_ptr", 15132 .field_bit_size = 14, 15133 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15134 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15135 }, 15136 { 15137 .description = "age_enable", 15138 .field_bit_size = 1, 15139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15140 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15141 }, 15142 { 15143 .description = "agg_cntr_en", 15144 .field_bit_size = 1, 15145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15146 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15147 }, 15148 { 15149 .description = "rate_cntr_en", 15150 .field_bit_size = 1, 15151 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15152 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15153 }, 15154 { 15155 .description = "flow_cntr_en", 15156 .field_bit_size = 1, 15157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15158 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15159 }, 15160 { 15161 .description = "tcpflags_key", 15162 .field_bit_size = 8, 15163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15164 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15165 }, 15166 { 15167 .description = "tcpflags_mir", 15168 .field_bit_size = 1, 15169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15170 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15171 }, 15172 { 15173 .description = "tcpflags_match", 15174 .field_bit_size = 1, 15175 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15176 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15177 }, 15178 { 15179 .description = "encap_ptr", 15180 .field_bit_size = 11, 15181 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15182 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15183 }, 15184 { 15185 .description = "dst_ip_ptr", 15186 .field_bit_size = 10, 15187 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15188 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15189 }, 15190 { 15191 .description = "tcp_dst_port", 15192 .field_bit_size = 16, 15193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15194 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15195 }, 15196 { 15197 .description = "src_ip_ptr", 15198 .field_bit_size = 10, 15199 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15200 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15201 }, 15202 { 15203 .description = "tcp_src_port", 15204 .field_bit_size = 16, 15205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15206 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15207 }, 15208 { 15209 .description = "meter_id", 15210 .field_bit_size = 10, 15211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15212 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15213 }, 15214 { 15215 .description = "l3_rdir", 15216 .field_bit_size = 1, 15217 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15218 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15219 }, 15220 { 15221 .description = "tl3_rdir", 15222 .field_bit_size = 1, 15223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15225 }, 15226 { 15227 .description = "l3_ttl_dec", 15228 .field_bit_size = 1, 15229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15230 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15231 }, 15232 { 15233 .description = "tl3_ttl_dec", 15234 .field_bit_size = 1, 15235 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15236 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15237 }, 15238 { 15239 .description = "decap_func", 15240 .field_bit_size = 4, 15241 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15242 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15243 }, 15244 { 15245 .description = "vnic_or_vport", 15246 .field_bit_size = 12, 15247 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15248 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 15249 .field_opr1 = { 15250 (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff, 15251 BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff} 15252 }, 15253 { 15254 .description = "pop_vlan", 15255 .field_bit_size = 1, 15256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15257 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15258 }, 15259 { 15260 .description = "meter", 15261 .field_bit_size = 1, 15262 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15263 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15264 }, 15265 { 15266 .description = "mirror", 15267 .field_bit_size = 2, 15268 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15269 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15270 }, 15271 { 15272 .description = "drop", 15273 .field_bit_size = 1, 15274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15275 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15276 }, 15277 { 15278 .description = "hit", 15279 .field_bit_size = 1, 15280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15281 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15282 }, 15283 { 15284 .description = "type", 15285 .field_bit_size = 1, 15286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15287 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15288 }, 15289 /* class_tid: 4, , table: parif_def_lkup_arec_ptr.egr_0 */ 15290 { 15291 .description = "act_rec_ptr", 15292 .field_bit_size = 32, 15293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15294 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15295 .field_opr1 = { 15296 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 15297 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 15298 }, 15299 /* class_tid: 4, , table: parif_def_arec_ptr.egr_0 */ 15300 { 15301 .description = "act_rec_ptr", 15302 .field_bit_size = 32, 15303 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15304 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15305 .field_opr1 = { 15306 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 15307 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 15308 }, 15309 /* class_tid: 4, , table: parif_def_err_arec_ptr.egr_0 */ 15310 { 15311 .description = "act_rec_ptr", 15312 .field_bit_size = 32, 15313 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15314 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15315 .field_opr1 = { 15316 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 15317 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 15318 }, 15319 /* class_tid: 5, , table: int_full_act_record.loopback */ 15320 { 15321 .description = "flow_cntr_ptr", 15322 .field_bit_size = 14, 15323 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15324 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15325 }, 15326 { 15327 .description = "age_enable", 15328 .field_bit_size = 1, 15329 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15330 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15331 }, 15332 { 15333 .description = "agg_cntr_en", 15334 .field_bit_size = 1, 15335 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15336 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15337 }, 15338 { 15339 .description = "rate_cntr_en", 15340 .field_bit_size = 1, 15341 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15342 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15343 }, 15344 { 15345 .description = "flow_cntr_en", 15346 .field_bit_size = 1, 15347 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15349 }, 15350 { 15351 .description = "tcpflags_key", 15352 .field_bit_size = 8, 15353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15354 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15355 }, 15356 { 15357 .description = "tcpflags_mir", 15358 .field_bit_size = 1, 15359 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15360 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15361 }, 15362 { 15363 .description = "tcpflags_match", 15364 .field_bit_size = 1, 15365 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15366 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15367 }, 15368 { 15369 .description = "encap_ptr", 15370 .field_bit_size = 11, 15371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15373 }, 15374 { 15375 .description = "dst_ip_ptr", 15376 .field_bit_size = 10, 15377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15378 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15379 }, 15380 { 15381 .description = "tcp_dst_port", 15382 .field_bit_size = 16, 15383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15384 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15385 }, 15386 { 15387 .description = "src_ip_ptr", 15388 .field_bit_size = 10, 15389 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15390 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15391 }, 15392 { 15393 .description = "tcp_src_port", 15394 .field_bit_size = 16, 15395 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15396 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15397 }, 15398 { 15399 .description = "meter_id", 15400 .field_bit_size = 10, 15401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15403 }, 15404 { 15405 .description = "l3_rdir", 15406 .field_bit_size = 1, 15407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15408 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15409 }, 15410 { 15411 .description = "tl3_rdir", 15412 .field_bit_size = 1, 15413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15414 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15415 }, 15416 { 15417 .description = "l3_ttl_dec", 15418 .field_bit_size = 1, 15419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15420 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15421 }, 15422 { 15423 .description = "tl3_ttl_dec", 15424 .field_bit_size = 1, 15425 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15426 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15427 }, 15428 { 15429 .description = "decap_func", 15430 .field_bit_size = 4, 15431 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15432 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15433 }, 15434 { 15435 .description = "vnic_or_vport", 15436 .field_bit_size = 12, 15437 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15438 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15439 .field_opr1 = { 15440 (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff, 15441 ULP_WP_SYM_LOOPBACK_PORT & 0xff} 15442 }, 15443 { 15444 .description = "pop_vlan", 15445 .field_bit_size = 1, 15446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15448 }, 15449 { 15450 .description = "meter", 15451 .field_bit_size = 1, 15452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15454 }, 15455 { 15456 .description = "mirror", 15457 .field_bit_size = 2, 15458 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15459 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15460 }, 15461 { 15462 .description = "drop", 15463 .field_bit_size = 1, 15464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15465 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15466 }, 15467 { 15468 .description = "hit", 15469 .field_bit_size = 1, 15470 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15471 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15472 }, 15473 { 15474 .description = "type", 15475 .field_bit_size = 1, 15476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15478 }, 15479 /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */ 15480 { 15481 .description = "l2_cntxt_id", 15482 .field_bit_size = 10, 15483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15484 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15485 .field_opr1 = { 15486 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 15487 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 15488 }, 15489 { 15490 .description = "prof_func_id", 15491 .field_bit_size = 7, 15492 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15493 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 15494 .field_opr1 = { 15495 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, 15496 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} 15497 }, 15498 { 15499 .description = "l2_byp_lkup_en", 15500 .field_bit_size = 1, 15501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15502 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15503 }, 15504 { 15505 .description = "parif", 15506 .field_bit_size = 4, 15507 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15508 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15509 .field_opr1 = { 15510 ULP_WP_SYM_LOOPBACK_PARIF} 15511 }, 15512 { 15513 .description = "allowed_pri", 15514 .field_bit_size = 8, 15515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15517 }, 15518 { 15519 .description = "default_pri", 15520 .field_bit_size = 3, 15521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15523 }, 15524 { 15525 .description = "allowed_tpid", 15526 .field_bit_size = 6, 15527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15529 }, 15530 { 15531 .description = "default_tpid", 15532 .field_bit_size = 3, 15533 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15534 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15535 }, 15536 { 15537 .description = "bd_act_en", 15538 .field_bit_size = 1, 15539 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15540 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15541 }, 15542 { 15543 .description = "sp_rec_ptr", 15544 .field_bit_size = 16, 15545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15546 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15547 }, 15548 { 15549 .description = "byp_sp_lkup", 15550 .field_bit_size = 1, 15551 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15552 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15553 .field_opr1 = { 15554 1} 15555 }, 15556 { 15557 .description = "pri_anti_spoof_ctl", 15558 .field_bit_size = 2, 15559 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15560 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15561 }, 15562 { 15563 .description = "tpid_anti_spoof_ctl", 15564 .field_bit_size = 2, 15565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15567 }, 15568 /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */ 15569 { 15570 .description = "rid", 15571 .field_bit_size = 32, 15572 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15573 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15574 .field_opr1 = { 15575 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 15576 BNXT_ULP_RF_IDX_RID & 0xff} 15577 }, 15578 { 15579 .description = "l2_cntxt_tcam_index", 15580 .field_bit_size = 10, 15581 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15582 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15583 .field_opr1 = { 15584 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, 15585 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} 15586 }, 15587 { 15588 .description = "l2_cntxt_id", 15589 .field_bit_size = 10, 15590 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15591 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15592 .field_opr1 = { 15593 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, 15594 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} 15595 }, 15596 { 15597 .description = "src_property_ptr", 15598 .field_bit_size = 10, 15599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15600 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15601 }, 15602 /* class_tid: 5, , table: parif_def_lkup_arec_ptr.vf_egr */ 15603 { 15604 .description = "act_rec_ptr", 15605 .field_bit_size = 32, 15606 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15607 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 15608 .field_opr1 = { 15609 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, 15610 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff} 15611 }, 15612 /* class_tid: 5, , table: parif_def_arec_ptr.vf_egr */ 15613 { 15614 .description = "act_rec_ptr", 15615 .field_bit_size = 32, 15616 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15617 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 15618 .field_opr1 = { 15619 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, 15620 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff} 15621 }, 15622 /* class_tid: 5, , table: parif_def_err_arec_ptr.vf_egr */ 15623 { 15624 .description = "act_rec_ptr", 15625 .field_bit_size = 32, 15626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15627 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, 15628 .field_opr1 = { 15629 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, 15630 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff} 15631 }, 15632 /* class_tid: 5, , table: int_full_act_record.vf_ing */ 15633 { 15634 .description = "flow_cntr_ptr", 15635 .field_bit_size = 14, 15636 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15637 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15638 }, 15639 { 15640 .description = "age_enable", 15641 .field_bit_size = 1, 15642 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15643 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15644 }, 15645 { 15646 .description = "agg_cntr_en", 15647 .field_bit_size = 1, 15648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15649 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15650 }, 15651 { 15652 .description = "rate_cntr_en", 15653 .field_bit_size = 1, 15654 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15655 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15656 }, 15657 { 15658 .description = "flow_cntr_en", 15659 .field_bit_size = 1, 15660 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15661 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15662 }, 15663 { 15664 .description = "tcpflags_key", 15665 .field_bit_size = 8, 15666 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15667 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15668 }, 15669 { 15670 .description = "tcpflags_mir", 15671 .field_bit_size = 1, 15672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15673 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15674 }, 15675 { 15676 .description = "tcpflags_match", 15677 .field_bit_size = 1, 15678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15679 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15680 }, 15681 { 15682 .description = "encap_ptr", 15683 .field_bit_size = 11, 15684 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15685 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15686 }, 15687 { 15688 .description = "dst_ip_ptr", 15689 .field_bit_size = 10, 15690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15691 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15692 }, 15693 { 15694 .description = "tcp_dst_port", 15695 .field_bit_size = 16, 15696 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15697 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15698 }, 15699 { 15700 .description = "src_ip_ptr", 15701 .field_bit_size = 10, 15702 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15703 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15704 }, 15705 { 15706 .description = "tcp_src_port", 15707 .field_bit_size = 16, 15708 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15709 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15710 }, 15711 { 15712 .description = "meter_id", 15713 .field_bit_size = 10, 15714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15715 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15716 }, 15717 { 15718 .description = "l3_rdir", 15719 .field_bit_size = 1, 15720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15721 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15722 }, 15723 { 15724 .description = "tl3_rdir", 15725 .field_bit_size = 1, 15726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15727 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15728 }, 15729 { 15730 .description = "l3_ttl_dec", 15731 .field_bit_size = 1, 15732 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15733 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15734 }, 15735 { 15736 .description = "tl3_ttl_dec", 15737 .field_bit_size = 1, 15738 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15739 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15740 }, 15741 { 15742 .description = "decap_func", 15743 .field_bit_size = 4, 15744 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15745 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15746 }, 15747 { 15748 .description = "vnic_or_vport", 15749 .field_bit_size = 12, 15750 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15751 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 15752 .field_opr1 = { 15753 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, 15754 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} 15755 }, 15756 { 15757 .description = "pop_vlan", 15758 .field_bit_size = 1, 15759 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15760 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15761 }, 15762 { 15763 .description = "meter", 15764 .field_bit_size = 1, 15765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15767 }, 15768 { 15769 .description = "mirror", 15770 .field_bit_size = 2, 15771 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15772 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15773 }, 15774 { 15775 .description = "drop", 15776 .field_bit_size = 1, 15777 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15778 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15779 }, 15780 { 15781 .description = "hit", 15782 .field_bit_size = 1, 15783 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15784 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15785 }, 15786 { 15787 .description = "type", 15788 .field_bit_size = 1, 15789 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15790 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15791 }, 15792 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vf_ing */ 15793 { 15794 .description = "act_record_ptr", 15795 .field_bit_size = 16, 15796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15797 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15798 .field_opr1 = { 15799 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 15800 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 15801 }, 15802 { 15803 .description = "reserved", 15804 .field_bit_size = 1, 15805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15806 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15807 }, 15808 { 15809 .description = "l2_byp_lkup_en", 15810 .field_bit_size = 1, 15811 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15812 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15813 .field_opr1 = { 15814 1} 15815 }, 15816 { 15817 .description = "parif", 15818 .field_bit_size = 4, 15819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15821 }, 15822 { 15823 .description = "allowed_pri", 15824 .field_bit_size = 8, 15825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15827 }, 15828 { 15829 .description = "default_pri", 15830 .field_bit_size = 3, 15831 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15833 }, 15834 { 15835 .description = "allowed_tpid", 15836 .field_bit_size = 6, 15837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15839 }, 15840 { 15841 .description = "default_tpid", 15842 .field_bit_size = 3, 15843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15845 }, 15846 { 15847 .description = "bd_act_en", 15848 .field_bit_size = 1, 15849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15851 }, 15852 { 15853 .description = "sp_rec_ptr", 15854 .field_bit_size = 16, 15855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15857 }, 15858 { 15859 .description = "byp_sp_lkup", 15860 .field_bit_size = 1, 15861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15862 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15863 .field_opr1 = { 15864 1} 15865 }, 15866 { 15867 .description = "pri_anti_spoof_ctl", 15868 .field_bit_size = 2, 15869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15870 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15871 }, 15872 { 15873 .description = "tpid_anti_spoof_ctl", 15874 .field_bit_size = 2, 15875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15877 }, 15878 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_egr0 */ 15879 { 15880 .description = "act_record_ptr", 15881 .field_bit_size = 16, 15882 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15883 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15884 }, 15885 { 15886 .description = "reserved", 15887 .field_bit_size = 1, 15888 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15889 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15890 }, 15891 { 15892 .description = "l2_byp_lkup_en", 15893 .field_bit_size = 1, 15894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15895 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15896 .field_opr1 = { 15897 1} 15898 }, 15899 { 15900 .description = "parif", 15901 .field_bit_size = 4, 15902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15903 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15904 }, 15905 { 15906 .description = "allowed_pri", 15907 .field_bit_size = 8, 15908 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15909 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15910 }, 15911 { 15912 .description = "default_pri", 15913 .field_bit_size = 3, 15914 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15915 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15916 }, 15917 { 15918 .description = "allowed_tpid", 15919 .field_bit_size = 6, 15920 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15921 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15922 }, 15923 { 15924 .description = "default_tpid", 15925 .field_bit_size = 3, 15926 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15927 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15928 }, 15929 { 15930 .description = "bd_act_en", 15931 .field_bit_size = 1, 15932 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15933 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15934 .field_opr1 = { 15935 1} 15936 }, 15937 { 15938 .description = "sp_rec_ptr", 15939 .field_bit_size = 16, 15940 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15941 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15942 }, 15943 { 15944 .description = "byp_sp_lkup", 15945 .field_bit_size = 1, 15946 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15947 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 15948 .field_opr1 = { 15949 1} 15950 }, 15951 { 15952 .description = "pri_anti_spoof_ctl", 15953 .field_bit_size = 2, 15954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15956 }, 15957 { 15958 .description = "tpid_anti_spoof_ctl", 15959 .field_bit_size = 2, 15960 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15961 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15962 }, 15963 /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */ 15964 { 15965 .description = "rid", 15966 .field_bit_size = 32, 15967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15968 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15969 .field_opr1 = { 15970 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, 15971 BNXT_ULP_RF_IDX_RID & 0xff} 15972 }, 15973 { 15974 .description = "l2_cntxt_tcam_index", 15975 .field_bit_size = 10, 15976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15977 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 15978 .field_opr1 = { 15979 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, 15980 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} 15981 }, 15982 { 15983 .description = "l2_cntxt_id", 15984 .field_bit_size = 10, 15985 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15986 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15987 }, 15988 { 15989 .description = "src_property_ptr", 15990 .field_bit_size = 10, 15991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15992 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 15993 }, 15994 /* class_tid: 5, , table: int_vtag_encap_record.vfr_egr0 */ 15995 { 15996 .description = "ecv_valid", 15997 .field_bit_size = 1, 15998 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 15999 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16000 .field_opr1 = { 16001 1} 16002 }, 16003 { 16004 .description = "ecv_custom_en", 16005 .field_bit_size = 1, 16006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16007 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16008 }, 16009 { 16010 .description = "ecv_vtag_type", 16011 .field_bit_size = 4, 16012 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16013 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16014 .field_opr1 = { 16015 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI} 16016 }, 16017 { 16018 .description = "ecv_l2_en", 16019 .field_bit_size = 1, 16020 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16021 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16022 }, 16023 { 16024 .description = "ecv_l3_type", 16025 .field_bit_size = 3, 16026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16027 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16028 }, 16029 { 16030 .description = "ecv_l4_type", 16031 .field_bit_size = 3, 16032 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16033 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16034 }, 16035 { 16036 .description = "ecv_tun_type", 16037 .field_bit_size = 3, 16038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16040 }, 16041 { 16042 .description = "vtag_tpid", 16043 .field_bit_size = 16, 16044 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16045 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16046 .field_opr1 = { 16047 0x81, 16048 0x00} 16049 }, 16050 { 16051 .description = "vtag_pcp", 16052 .field_bit_size = 3, 16053 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16054 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16055 }, 16056 { 16057 .description = "vtag_de", 16058 .field_bit_size = 1, 16059 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16060 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16061 }, 16062 { 16063 .description = "vtag_vid", 16064 .field_bit_size = 12, 16065 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16066 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 16067 .field_opr1 = { 16068 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, 16069 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} 16070 }, 16071 /* class_tid: 5, , table: int_full_act_record.vfr_egr0 */ 16072 { 16073 .description = "flow_cntr_ptr", 16074 .field_bit_size = 14, 16075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16076 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16077 }, 16078 { 16079 .description = "age_enable", 16080 .field_bit_size = 1, 16081 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16082 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16083 }, 16084 { 16085 .description = "agg_cntr_en", 16086 .field_bit_size = 1, 16087 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16088 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16089 }, 16090 { 16091 .description = "rate_cntr_en", 16092 .field_bit_size = 1, 16093 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16094 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16095 }, 16096 { 16097 .description = "flow_cntr_en", 16098 .field_bit_size = 1, 16099 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16100 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16101 }, 16102 { 16103 .description = "tcpflags_key", 16104 .field_bit_size = 8, 16105 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16106 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16107 }, 16108 { 16109 .description = "tcpflags_mir", 16110 .field_bit_size = 1, 16111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16113 }, 16114 { 16115 .description = "tcpflags_match", 16116 .field_bit_size = 1, 16117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16119 }, 16120 { 16121 .description = "encap_ptr", 16122 .field_bit_size = 11, 16123 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16124 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 16125 .field_opr1 = { 16126 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, 16127 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} 16128 }, 16129 { 16130 .description = "dst_ip_ptr", 16131 .field_bit_size = 10, 16132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16133 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16134 }, 16135 { 16136 .description = "tcp_dst_port", 16137 .field_bit_size = 16, 16138 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16139 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16140 }, 16141 { 16142 .description = "src_ip_ptr", 16143 .field_bit_size = 10, 16144 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16145 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16146 }, 16147 { 16148 .description = "tcp_src_port", 16149 .field_bit_size = 16, 16150 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16151 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16152 }, 16153 { 16154 .description = "meter_id", 16155 .field_bit_size = 10, 16156 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16157 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16158 }, 16159 { 16160 .description = "l3_rdir", 16161 .field_bit_size = 1, 16162 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16163 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16164 }, 16165 { 16166 .description = "tl3_rdir", 16167 .field_bit_size = 1, 16168 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16169 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16170 }, 16171 { 16172 .description = "l3_ttl_dec", 16173 .field_bit_size = 1, 16174 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16175 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16176 }, 16177 { 16178 .description = "tl3_ttl_dec", 16179 .field_bit_size = 1, 16180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16181 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16182 }, 16183 { 16184 .description = "decap_func", 16185 .field_bit_size = 4, 16186 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16187 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16188 }, 16189 { 16190 .description = "vnic_or_vport", 16191 .field_bit_size = 12, 16192 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16193 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16194 .field_opr1 = { 16195 (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff, 16196 ULP_WP_SYM_LOOPBACK_PORT & 0xff} 16197 }, 16198 { 16199 .description = "pop_vlan", 16200 .field_bit_size = 1, 16201 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16202 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16203 }, 16204 { 16205 .description = "meter", 16206 .field_bit_size = 1, 16207 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16208 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16209 }, 16210 { 16211 .description = "mirror", 16212 .field_bit_size = 2, 16213 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16214 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16215 }, 16216 { 16217 .description = "drop", 16218 .field_bit_size = 1, 16219 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16220 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16221 }, 16222 { 16223 .description = "hit", 16224 .field_bit_size = 1, 16225 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16226 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16227 }, 16228 { 16229 .description = "type", 16230 .field_bit_size = 1, 16231 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16232 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16233 }, 16234 /* class_tid: 5, , table: int_full_act_record.vfr_ing0 */ 16235 { 16236 .description = "flow_cntr_ptr", 16237 .field_bit_size = 14, 16238 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16239 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16240 }, 16241 { 16242 .description = "age_enable", 16243 .field_bit_size = 1, 16244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16245 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16246 }, 16247 { 16248 .description = "agg_cntr_en", 16249 .field_bit_size = 1, 16250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16251 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16252 }, 16253 { 16254 .description = "rate_cntr_en", 16255 .field_bit_size = 1, 16256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16257 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16258 }, 16259 { 16260 .description = "flow_cntr_en", 16261 .field_bit_size = 1, 16262 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16263 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16264 }, 16265 { 16266 .description = "tcpflags_key", 16267 .field_bit_size = 8, 16268 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16269 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16270 }, 16271 { 16272 .description = "tcpflags_mir", 16273 .field_bit_size = 1, 16274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16275 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16276 }, 16277 { 16278 .description = "tcpflags_match", 16279 .field_bit_size = 1, 16280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16281 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16282 }, 16283 { 16284 .description = "encap_ptr", 16285 .field_bit_size = 11, 16286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16287 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16288 }, 16289 { 16290 .description = "dst_ip_ptr", 16291 .field_bit_size = 10, 16292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16293 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16294 }, 16295 { 16296 .description = "tcp_dst_port", 16297 .field_bit_size = 16, 16298 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16299 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16300 }, 16301 { 16302 .description = "src_ip_ptr", 16303 .field_bit_size = 10, 16304 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16305 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16306 }, 16307 { 16308 .description = "tcp_src_port", 16309 .field_bit_size = 16, 16310 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16311 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16312 }, 16313 { 16314 .description = "meter_id", 16315 .field_bit_size = 10, 16316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16317 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16318 }, 16319 { 16320 .description = "l3_rdir", 16321 .field_bit_size = 1, 16322 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16323 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16324 }, 16325 { 16326 .description = "tl3_rdir", 16327 .field_bit_size = 1, 16328 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16329 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16330 }, 16331 { 16332 .description = "l3_ttl_dec", 16333 .field_bit_size = 1, 16334 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16335 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16336 }, 16337 { 16338 .description = "tl3_ttl_dec", 16339 .field_bit_size = 1, 16340 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16341 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16342 }, 16343 { 16344 .description = "decap_func", 16345 .field_bit_size = 4, 16346 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16347 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16348 }, 16349 { 16350 .description = "vnic_or_vport", 16351 .field_bit_size = 12, 16352 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16353 .field_src1 = BNXT_ULP_FIELD_SRC_CF, 16354 .field_opr1 = { 16355 (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff, 16356 BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff} 16357 }, 16358 { 16359 .description = "pop_vlan", 16360 .field_bit_size = 1, 16361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16362 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16363 .field_opr1 = { 16364 1} 16365 }, 16366 { 16367 .description = "meter", 16368 .field_bit_size = 1, 16369 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16370 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16371 }, 16372 { 16373 .description = "mirror", 16374 .field_bit_size = 2, 16375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16376 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16377 }, 16378 { 16379 .description = "drop", 16380 .field_bit_size = 1, 16381 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16382 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16383 }, 16384 { 16385 .description = "hit", 16386 .field_bit_size = 1, 16387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16388 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16389 }, 16390 { 16391 .description = "type", 16392 .field_bit_size = 1, 16393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16394 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16395 }, 16396 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */ 16397 { 16398 .description = "act_record_ptr", 16399 .field_bit_size = 16, 16400 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16401 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 16402 .field_opr1 = { 16403 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 16404 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 16405 }, 16406 { 16407 .description = "reserved", 16408 .field_bit_size = 1, 16409 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16410 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16411 }, 16412 { 16413 .description = "l2_byp_lkup_en", 16414 .field_bit_size = 1, 16415 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16416 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16417 .field_opr1 = { 16418 1} 16419 }, 16420 { 16421 .description = "parif", 16422 .field_bit_size = 4, 16423 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16424 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16425 }, 16426 { 16427 .description = "allowed_pri", 16428 .field_bit_size = 8, 16429 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16430 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16431 }, 16432 { 16433 .description = "default_pri", 16434 .field_bit_size = 3, 16435 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16436 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16437 }, 16438 { 16439 .description = "allowed_tpid", 16440 .field_bit_size = 6, 16441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16442 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16443 }, 16444 { 16445 .description = "default_tpid", 16446 .field_bit_size = 3, 16447 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16448 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16449 }, 16450 { 16451 .description = "bd_act_en", 16452 .field_bit_size = 1, 16453 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16454 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16455 }, 16456 { 16457 .description = "sp_rec_ptr", 16458 .field_bit_size = 16, 16459 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16460 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16461 }, 16462 { 16463 .description = "byp_sp_lkup", 16464 .field_bit_size = 1, 16465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16466 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16467 .field_opr1 = { 16468 1} 16469 }, 16470 { 16471 .description = "pri_anti_spoof_ctl", 16472 .field_bit_size = 2, 16473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16474 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16475 }, 16476 { 16477 .description = "tpid_anti_spoof_ctl", 16478 .field_bit_size = 2, 16479 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16480 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16481 }, 16482 /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */ 16483 { 16484 .description = "act_record_ptr", 16485 .field_bit_size = 16, 16486 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16487 .field_src1 = BNXT_ULP_FIELD_SRC_RF, 16488 .field_opr1 = { 16489 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, 16490 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} 16491 }, 16492 { 16493 .description = "reserved", 16494 .field_bit_size = 1, 16495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16496 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16497 }, 16498 { 16499 .description = "l2_byp_lkup_en", 16500 .field_bit_size = 1, 16501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16502 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16503 .field_opr1 = { 16504 1} 16505 }, 16506 { 16507 .description = "parif", 16508 .field_bit_size = 4, 16509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16510 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16511 }, 16512 { 16513 .description = "allowed_pri", 16514 .field_bit_size = 8, 16515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16517 }, 16518 { 16519 .description = "default_pri", 16520 .field_bit_size = 3, 16521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16523 }, 16524 { 16525 .description = "allowed_tpid", 16526 .field_bit_size = 6, 16527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16529 }, 16530 { 16531 .description = "default_tpid", 16532 .field_bit_size = 3, 16533 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16534 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16535 }, 16536 { 16537 .description = "bd_act_en", 16538 .field_bit_size = 1, 16539 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16540 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16541 }, 16542 { 16543 .description = "sp_rec_ptr", 16544 .field_bit_size = 16, 16545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16546 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16547 }, 16548 { 16549 .description = "byp_sp_lkup", 16550 .field_bit_size = 1, 16551 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16552 .field_src1 = BNXT_ULP_FIELD_SRC_CONST, 16553 .field_opr1 = { 16554 1} 16555 }, 16556 { 16557 .description = "pri_anti_spoof_ctl", 16558 .field_bit_size = 2, 16559 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16560 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16561 }, 16562 { 16563 .description = "tpid_anti_spoof_ctl", 16564 .field_bit_size = 2, 16565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1, 16566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO 16567 } 16568 }; 16569 16570 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = { 16571 /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */ 16572 { 16573 .description = "l2_cntxt_id", 16574 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16575 .ident_bit_size = 10, 16576 .ident_bit_pos = 42 16577 }, 16578 /* class_tid: 1, , table: mac_addr_cache.rd */ 16579 { 16580 .description = "l2_cntxt_id", 16581 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16582 .ident_bit_size = 10, 16583 .ident_bit_pos = 42 16584 }, 16585 /* class_tid: 1, , table: l2_cntxt_tcam.0 */ 16586 { 16587 .description = "l2_cntxt_id", 16588 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16589 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, 16590 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16591 .ident_bit_size = 10, 16592 .ident_bit_pos = 0 16593 }, 16594 /* class_tid: 1, , table: profile_tcam_cache.rd */ 16595 { 16596 .description = "em_profile_id", 16597 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16598 .ident_bit_size = 8, 16599 .ident_bit_pos = 42 16600 }, 16601 { 16602 .description = "flow_sig_id", 16603 .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID, 16604 .ident_bit_size = 64, 16605 .ident_bit_pos = 58 16606 }, 16607 { 16608 .description = "profile_tcam_index", 16609 .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 16610 .ident_bit_size = 10, 16611 .ident_bit_pos = 32 16612 }, 16613 /* class_tid: 1, , table: profile_tcam.ipv4 */ 16614 { 16615 .description = "em_profile_id", 16616 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16617 .ident_type = TF_IDENT_TYPE_EM_PROF, 16618 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16619 .ident_bit_size = 8, 16620 .ident_bit_pos = 28 16621 }, 16622 /* class_tid: 1, , table: profile_tcam.ipv6 */ 16623 { 16624 .description = "em_profile_id", 16625 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16626 .ident_type = TF_IDENT_TYPE_EM_PROF, 16627 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16628 .ident_bit_size = 8, 16629 .ident_bit_pos = 28 16630 }, 16631 /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */ 16632 { 16633 .description = "em_profile_id", 16634 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16635 .ident_type = TF_IDENT_TYPE_EM_PROF, 16636 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16637 .ident_bit_size = 8, 16638 .ident_bit_pos = 28 16639 }, 16640 /* class_tid: 2, , table: tunnel_cache.rd */ 16641 { 16642 .description = "l2_cntxt_id", 16643 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16644 .ident_bit_size = 10, 16645 .ident_bit_pos = 42 16646 }, 16647 /* class_tid: 2, , table: l2_cntxt_tcam.1 */ 16648 { 16649 .description = "l2_cntxt_id", 16650 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16651 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, 16652 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16653 .ident_bit_size = 10, 16654 .ident_bit_pos = 0 16655 }, 16656 /* class_tid: 2, , table: mac_addr_cache.rd */ 16657 { 16658 .description = "l2_cntxt_id", 16659 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16660 .ident_bit_size = 10, 16661 .ident_bit_pos = 42 16662 }, 16663 /* class_tid: 2, , table: profile_tcam_cache.f2_rd */ 16664 { 16665 .description = "em_profile_id", 16666 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16667 .ident_bit_size = 8, 16668 .ident_bit_pos = 42 16669 }, 16670 { 16671 .description = "flow_sig_id", 16672 .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID, 16673 .ident_bit_size = 64, 16674 .ident_bit_pos = 58 16675 }, 16676 { 16677 .description = "profile_tcam_index", 16678 .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 16679 .ident_bit_size = 10, 16680 .ident_bit_pos = 32 16681 }, 16682 /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */ 16683 { 16684 .description = "l2_cntxt_id", 16685 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16686 .ident_bit_size = 10, 16687 .ident_bit_pos = 42 16688 }, 16689 /* class_tid: 3, , table: mac_addr_cache.rd */ 16690 { 16691 .description = "l2_cntxt_id", 16692 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16693 .ident_bit_size = 10, 16694 .ident_bit_pos = 42 16695 }, 16696 /* class_tid: 3, , table: l2_cntxt_tcam.0 */ 16697 { 16698 .description = "l2_cntxt_id", 16699 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16700 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, 16701 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16702 .ident_bit_size = 10, 16703 .ident_bit_pos = 0 16704 }, 16705 /* class_tid: 3, , table: profile_tcam_cache.rd */ 16706 { 16707 .description = "em_profile_id", 16708 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16709 .ident_bit_size = 8, 16710 .ident_bit_pos = 42 16711 }, 16712 { 16713 .description = "flow_sig_id", 16714 .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID, 16715 .ident_bit_size = 64, 16716 .ident_bit_pos = 58 16717 }, 16718 { 16719 .description = "profile_tcam_index", 16720 .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, 16721 .ident_bit_size = 10, 16722 .ident_bit_pos = 32 16723 }, 16724 /* class_tid: 3, , table: profile_tcam.ipv4 */ 16725 { 16726 .description = "em_profile_id", 16727 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16728 .ident_type = TF_IDENT_TYPE_EM_PROF, 16729 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16730 .ident_bit_size = 8, 16731 .ident_bit_pos = 28 16732 }, 16733 /* class_tid: 3, , table: profile_tcam.ipv6 */ 16734 { 16735 .description = "em_profile_id", 16736 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16737 .ident_type = TF_IDENT_TYPE_EM_PROF, 16738 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, 16739 .ident_bit_size = 8, 16740 .ident_bit_pos = 28 16741 }, 16742 /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */ 16743 { 16744 .description = "l2_cntxt_id_low", 16745 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16746 .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW, 16747 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16748 .ident_bit_size = 10, 16749 .ident_bit_pos = 0 16750 }, 16751 /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */ 16752 { 16753 .description = "l2_cntxt_id_low", 16754 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16755 .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW, 16756 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16757 .ident_bit_size = 10, 16758 .ident_bit_pos = 0 16759 }, 16760 /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */ 16761 { 16762 .description = "l2_cntxt_id_low", 16763 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, 16764 .ident_type = TF_IDENT_TYPE_L2_CTXT_LOW, 16765 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, 16766 .ident_bit_size = 10, 16767 .ident_bit_pos = 0 16768 } 16769 }; 16770