From patchwork Sun Jun 13 00:06:43 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ajit Khaparde X-Patchwork-Id: 94176 X-Patchwork-Delegate: ajit.khaparde@broadcom.com Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 06BD8A0C44; Mon, 14 Jun 2021 16:41:00 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 317F74111B; Mon, 14 Jun 2021 16:37:29 +0200 (CEST) Received: from mail-pj1-f54.google.com (mail-pj1-f54.google.com [209.85.216.54]) by mails.dpdk.org (Postfix) with ESMTP id BBC6941142 for ; Sun, 13 Jun 2021 02:09:10 +0200 (CEST) Received: by mail-pj1-f54.google.com with SMTP id mp5-20020a17090b1905b029016dd057935fso7925180pjb.5 for ; Sat, 12 Jun 2021 17:09:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version; bh=6xsbB2T6PVJVUY1JOtZILRSgPPedTyW+jZ7wBX05fy8=; b=WO+44abUAgNVBy7ThP6ejTe94H05c5B5yQm7R4Tv/CYMybh7SAHX9SeJ6Up9reEetc Tt7K7D8Y7sxhbhMpWn4sBek7BTpVYF476fzMhDDndZ0wRfAMdXVCsQW1ag3iGdgGSwVw bfhYX9HRYx5UvW8kJqu35LTVxxyX+h22FFi6c= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version; bh=6xsbB2T6PVJVUY1JOtZILRSgPPedTyW+jZ7wBX05fy8=; b=sWlY3ZxEEGxZ6D/D+oDw55jDkYbn0WytMErLGlNSCQh7pCHOEnk4JvwUR5juXDdOdh F5Bttfn7S09ZE2OM9pOgO05Dg082eyCqWlirxD5+YPhSwcqNGhnOkoj3PPUDfWV0ZqbW J/xrIC8sxP6ooztFO2r/c4ey8zJYAppdrE85RWFCZ4iCcht7LC97YUIE1/3AlfyMVUUc Wbok1d7MnblK/BW9m3UcFk1auy9QXITFA6EVmb6fqH4E5267q1LRv5qHqyho1zzhcTPH Q8gh9iotxWtzKqk9oMoRME5S4UEg1WciwqsH+16QG8y4cRR6GxmPLrbHYGAYsluMTktS xKTg== X-Gm-Message-State: AOAM531TUGHz3ZNvw5dYCZ5RIT71jbk/JY5y67q61LdDkMCc4DXOGP9D t6TaPVZxGBmnvLee2fEhIQS3oyPBrzYtP6KmcbS9hRGIKWJiTJZ0ca6+D42VXKP6S6dgpekwjeB 66F3DM5kmg7pPQojqVrqEIUDd86RpcajnLgBpacqF29GztiU+oZi/gi7UccvqAzE= X-Google-Smtp-Source: ABdhPJxPtDHxEplsG9a6v28GCLlSr6J8Vtvtg1BC/TpWCYpv/LgdG+4SLiRcWjpOlS4ZSSsRjtf+yw== X-Received: by 2002:a17:903:4106:b029:fd:9cea:7008 with SMTP id r6-20020a1709034106b02900fd9cea7008mr10309046pld.47.1623542948044; Sat, 12 Jun 2021 17:09:08 -0700 (PDT) Received: from localhost.localdomain ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id gg22sm12774609pjb.17.2021.06.12.17.09.02 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sat, 12 Jun 2021 17:09:05 -0700 (PDT) From: Ajit Khaparde To: dev@dpdk.org Cc: Kishore Padmanabha , Venkat Duvvuru , Mike Baucom Date: Sat, 12 Jun 2021 17:06:43 -0700 Message-Id: <20210613000652.28191-50-ajit.khaparde@broadcom.com> X-Mailer: git-send-email 2.21.1 (Apple Git-122.3) In-Reply-To: <20210613000652.28191-1-ajit.khaparde@broadcom.com> References: <20210530085929.29695-1-venkatkumar.duvvuru@broadcom.com> <20210613000652.28191-1-ajit.khaparde@broadcom.com> MIME-Version: 1.0 X-Mailman-Approved-At: Mon, 14 Jun 2021 16:37:12 +0200 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: [dpdk-dev] [PATCH v2 49/58] net/bnxt: add field opcodes in ULP X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" From: Kishore Padmanabha Add field opcodes that perform logical evaluation of multiple conditions. Also add more logging especially in error path. Signed-off-by: Kishore Padmanabha Signed-off-by: Venkat Duvvuru Reviewed-by: Mike Baucom Reviewed-by: Ajit Khaparde --- drivers/net/bnxt/tf_ulp/ulp_mapper.c | 806 +- .../net/bnxt/tf_ulp/ulp_template_db_enum.h | 71 +- drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c | 622 +- .../bnxt/tf_ulp/ulp_template_db_thor_act.c | 196 - .../bnxt/tf_ulp/ulp_template_db_thor_class.c | 6009 ++------------- .../bnxt/tf_ulp/ulp_template_db_wh_plus_act.c | 1734 ++--- .../tf_ulp/ulp_template_db_wh_plus_class.c | 6487 +++++++---------- drivers/net/bnxt/tf_ulp/ulp_template_struct.h | 5 +- drivers/net/bnxt/tf_ulp/ulp_utils.c | 6 +- drivers/net/bnxt/tf_ulp/ulp_utils.h | 2 +- 10 files changed, 4513 insertions(+), 11425 deletions(-) diff --git a/drivers/net/bnxt/tf_ulp/ulp_mapper.c b/drivers/net/bnxt/tf_ulp/ulp_mapper.c index 58104eeedf..05e2106c38 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mapper.c +++ b/drivers/net/bnxt/tf_ulp/ulp_mapper.c @@ -20,11 +20,18 @@ #include "ulp_template_db_tbl.h" #include "ulp_port_db.h" +static uint8_t mapper_fld_zeros[16] = { 0 }; + static uint8_t mapper_fld_ones[16] = { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }; +static uint8_t mapper_fld_one[16] = { + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, + 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 +}; + static const char * ulp_mapper_tmpl_name_str(enum bnxt_ulp_template_type tmpl_type) { @@ -882,7 +889,6 @@ ulp_mapper_ident_extract(struct bnxt_ulp_mapper_parms *parms, static int32_t ulp_mapper_field_port_db_process(struct bnxt_ulp_mapper_parms *parms, - struct bnxt_ulp_mapper_field_info *fld, uint32_t port_id, uint16_t val16, uint8_t **val) @@ -912,332 +918,122 @@ ulp_mapper_field_port_db_process(struct bnxt_ulp_mapper_parms *parms, } break; default: - BNXT_TF_DBG(ERR, "Invalid port_data %s\n", fld->description); - return -EINVAL; - } - return 0; -} - -static int32_t -ulp_mapper_field_process_inc_dec(struct bnxt_ulp_mapper_field_info *fld, - struct ulp_blob *blob, - uint64_t *val64, - uint16_t const_val16, - uint32_t bitlen, - uint32_t *update_flag) -{ - uint64_t l_val64 = *val64; - - if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST || - fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST) { - l_val64 += const_val16; - l_val64 = tfp_be_to_cpu_64(l_val64); - ulp_blob_push_64(blob, &l_val64, bitlen); - } else if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST || - fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST_POST) { - l_val64 -= const_val16; - l_val64 = tfp_be_to_cpu_64(l_val64); - ulp_blob_push_64(blob, &l_val64, bitlen); - } else { - BNXT_TF_DBG(ERR, "Invalid field opcode %u\n", fld->field_opc); + BNXT_TF_DBG(ERR, "Invalid port_data %d\n", port_data); return -EINVAL; } - - if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST_POST || - fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST) { - *val64 = l_val64; - *update_flag = 1; - } return 0; } static int32_t -ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms, - enum tf_dir dir, - struct bnxt_ulp_mapper_field_info *fld, - struct ulp_blob *blob, - uint8_t is_key, - const char *name) +ulp_mapper_field_src_process(struct bnxt_ulp_mapper_parms *parms, + enum bnxt_ulp_field_src field_src, + uint8_t *field_opr, + enum tf_dir dir, + uint8_t is_key, + uint32_t bitlen, + uint8_t **val, + uint32_t *val_len, + uint64_t *value) { - uint32_t val_size = 0, field_size = 0; - uint64_t hdr_bit, act_bit, regval; - uint16_t write_idx = blob->write_idx; - uint16_t idx, size_idx, bitlen, offset; - uint8_t *val = NULL; - uint8_t tmpval[16]; + struct bnxt_ulp_mapper_data *m; uint8_t bit; - uint32_t src1_sel = 0; - enum bnxt_ulp_field_src fld_src; - uint8_t *fld_src_oper; - enum bnxt_ulp_field_cond_src field_cond_src; - uint16_t const_val = 0; - uint32_t update_flag = 0; - uint64_t src1_val64; - uint32_t port_id; + uint32_t port_id, val_size, field_size; + uint16_t idx, size_idx, offset; + uint32_t bytelen = ULP_BITS_2_BYTE(bitlen); + uint8_t *buffer; + uint64_t lregval; bool shared; - /* process the field opcode */ - if (fld->field_opc != BNXT_ULP_FIELD_OPC_COND_OP) { - field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE; - /* Read the constant from the second operand */ - memcpy(&const_val, fld->field_opr2, sizeof(uint16_t)); - const_val = tfp_be_to_cpu_16(const_val); - } else { - field_cond_src = fld->field_cond_src; - } - - bitlen = fld->field_bit_size; - /* Evaluate the condition */ - switch (field_cond_src) { - case BNXT_ULP_FIELD_COND_SRC_TRUE: - src1_sel = 1; - break; - case BNXT_ULP_FIELD_COND_SRC_CF: - if (!ulp_operand_read(fld->field_cond_opr, - (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed.\n", name); - return -EINVAL; - } - idx = tfp_be_to_cpu_16(idx); - if (idx >= BNXT_ULP_CF_IDX_LAST) { - BNXT_TF_DBG(ERR, "%s invalid index %u\n", name, idx); - return -EINVAL; - } - /* check if the computed field is set */ - if (ULP_COMP_FLD_IDX_RD(parms, idx)) - src1_sel = 1; - break; - case BNXT_ULP_FIELD_COND_SRC_RF: - if (!ulp_operand_read(fld->field_cond_opr, - (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); - return -EINVAL; - } - - idx = tfp_be_to_cpu_16(idx); - /* Uninitialized regfile entries return 0 */ - if (!ulp_regfile_read(parms->regfile, idx, ®val)) { - BNXT_TF_DBG(ERR, "%s regfile[%d] read oob\n", - name, idx); - return -EINVAL; - } - if (regval) - src1_sel = 1; - break; - case BNXT_ULP_FIELD_COND_SRC_ACT_BIT: - if (!ulp_operand_read(fld->field_cond_opr, - (uint8_t *)&act_bit, sizeof(uint64_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); - return -EINVAL; - } - act_bit = tfp_be_to_cpu_64(act_bit); - if (ULP_BITMAP_ISSET(parms->act_bitmap->bits, act_bit)) - src1_sel = 1; - break; - case BNXT_ULP_FIELD_COND_SRC_HDR_BIT: - if (!ulp_operand_read(fld->field_cond_opr, - (uint8_t *)&hdr_bit, sizeof(uint64_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); - return -EINVAL; - } - hdr_bit = tfp_be_to_cpu_64(hdr_bit); - if (ULP_BITMAP_ISSET(parms->hdr_bitmap->bits, hdr_bit)) - src1_sel = 1; - break; - case BNXT_ULP_FIELD_COND_SRC_FIELD_BIT: - if (!ulp_operand_read(fld->field_cond_opr, (uint8_t *)&idx, - sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed.\n", name); - return -EINVAL; - } - idx = tfp_be_to_cpu_16(idx); - /* get the index from the global field list */ - if (ulp_mapper_glb_field_tbl_get(parms, idx, &bit)) { - BNXT_TF_DBG(ERR, "invalid ulp_glb_field_tbl idx %d\n", - idx); - return -EINVAL; - } - if (bit && (ULP_INDEX_BITMAP_GET(parms->fld_bitmap->bits, bit))) - src1_sel = 1; - break; - default: - BNXT_TF_DBG(ERR, "%s invalid field opcode 0x%x at %d\n", - name, fld->field_cond_src, write_idx); - return -EINVAL; - } - - /* pick the selected source */ - if (src1_sel) { - fld_src = fld->field_src1; - fld_src_oper = fld->field_opr1; - } else { - fld_src = fld->field_src2; - fld_src_oper = fld->field_opr2; - } - + *val_len = bitlen; + *value = 0; /* Perform the action */ - switch (fld_src) { + switch (field_src) { case BNXT_ULP_FIELD_SRC_ZERO: - if (ulp_blob_pad_push(blob, bitlen) < 0) { - BNXT_TF_DBG(ERR, "%s too large for blob\n", name); - return -EINVAL; - } + *val = mapper_fld_zeros; break; case BNXT_ULP_FIELD_SRC_CONST: - val = fld_src_oper; - if (!ulp_blob_push(blob, val, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); - return -EINVAL; - } + *val = field_opr; break; case BNXT_ULP_FIELD_SRC_ONES: - val = mapper_fld_ones; - if (!ulp_blob_push(blob, val, bitlen)) { - BNXT_TF_DBG(ERR, "%s too large for blob\n", name); - return -EINVAL; - } + *val = mapper_fld_ones; + *value = 1; break; case BNXT_ULP_FIELD_SRC_CF: - if (!ulp_operand_read(fld_src_oper, + if (!ulp_operand_read(field_opr, (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed.\n", - name); + BNXT_TF_DBG(ERR, "CF operand read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); - if (idx >= BNXT_ULP_CF_IDX_LAST) { - BNXT_TF_DBG(ERR, "%s comp field [%d] read oob\n", - name, idx); + if (idx >= BNXT_ULP_CF_IDX_LAST || bytelen > sizeof(uint32_t)) { + BNXT_TF_DBG(ERR, "comp field [%d] read oob %d\n", idx, + bytelen); return -EINVAL; } - if (fld->field_opc == BNXT_ULP_FIELD_OPC_COND_OP) { - val = ulp_blob_push_32(blob, &parms->comp_fld[idx], - bitlen); - if (!val) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", - name); - return -EINVAL; - } - } else if (fld->field_opc == BNXT_ULP_FIELD_OPC_PORT_TABLE) { - port_id = ULP_COMP_FLD_IDX_RD(parms, idx); - if (ulp_mapper_field_port_db_process(parms, fld, - port_id, const_val, - &val)) { - BNXT_TF_DBG(ERR, "%s field port table failed\n", - name); - return -EINVAL; - } - if (!ulp_blob_push(blob, val, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", - name); - return -EINVAL; - } - } else { - src1_val64 = ULP_COMP_FLD_IDX_RD(parms, idx); - if (ulp_mapper_field_process_inc_dec(fld, blob, - &src1_val64, - const_val, - bitlen, - &update_flag)) { - BNXT_TF_DBG(ERR, "%s field cond opc failed\n", - name); - return -EINVAL; - } - if (update_flag) { - BNXT_TF_DBG(ERR, "%s invalid field cond opc\n", - name); - return -EINVAL; - } - } + buffer = (uint8_t *)&parms->comp_fld[idx]; + *val = &buffer[sizeof(uint32_t) - bytelen]; + *value = ULP_COMP_FLD_IDX_RD(parms, idx); break; case BNXT_ULP_FIELD_SRC_RF: - if (!ulp_operand_read(fld_src_oper, + if (!ulp_operand_read(field_opr, (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); + BNXT_TF_DBG(ERR, "RF operand read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); /* Uninitialized regfile entries return 0 */ - if (!ulp_regfile_read(parms->regfile, idx, ®val)) { - BNXT_TF_DBG(ERR, "%s regfile[%d] read oob\n", - name, idx); + if (!ulp_regfile_read(parms->regfile, idx, &lregval) || + sizeof(uint64_t) < bytelen) { + BNXT_TF_DBG(ERR, "regfile[%d] read oob %u\n", idx, + bytelen); return -EINVAL; } - if (fld->field_opc == BNXT_ULP_FIELD_OPC_COND_OP) { - val = ulp_blob_push_64(blob, ®val, bitlen); - if (!val) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", - name); - return -EINVAL; - } - } else { - if (ulp_mapper_field_process_inc_dec(fld, blob, - ®val, - const_val, - bitlen, - &update_flag)) { - BNXT_TF_DBG(ERR, "%s field cond opc failed\n", - name); - return -EINVAL; - } - if (update_flag) { - regval = tfp_cpu_to_be_64(regval); - if (ulp_regfile_write(parms->regfile, idx, - regval)) { - BNXT_TF_DBG(ERR, - "Write regfile[%d] fail\n", - idx); - return -EINVAL; - } - } - } + buffer = (uint8_t *)&parms->regfile->entry[idx].data; + *val = &buffer[sizeof(uint64_t) - bytelen]; + *value = tfp_be_to_cpu_64(lregval); break; case BNXT_ULP_FIELD_SRC_ACT_PROP: - if (!ulp_operand_read(fld_src_oper, + if (!ulp_operand_read(field_opr, (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); + BNXT_TF_DBG(ERR, "Action operand read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); - if (idx >= BNXT_ULP_ACT_PROP_IDX_LAST) { - BNXT_TF_DBG(ERR, "%s act_prop[%d] oob\n", name, idx); + BNXT_TF_DBG(ERR, "act_prop[%d] oob\n", idx); return -EINVAL; } - val = &parms->act_prop->act_details[idx]; + buffer = &parms->act_prop->act_details[idx]; field_size = ulp_mapper_act_prop_size_get(idx); - if (bitlen < ULP_BYTE_2_BITS(field_size)) { - field_size = field_size - ((bitlen + 7) / 8); - val += field_size; - } - if (!ulp_blob_push(blob, val, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); + if (bytelen > field_size) { + BNXT_TF_DBG(ERR, "act_prop[%d] field size small %u\n", + idx, field_size); return -EINVAL; } + *val = &buffer[field_size - bytelen]; break; case BNXT_ULP_FIELD_SRC_ACT_PROP_SZ: - if (!ulp_operand_read(fld_src_oper, + if (!ulp_operand_read(field_opr, (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); + BNXT_TF_DBG(ERR, "Action sz operand read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); if (idx >= BNXT_ULP_ACT_PROP_IDX_LAST) { - BNXT_TF_DBG(ERR, "%s act_prop[%d] oob\n", name, idx); + BNXT_TF_DBG(ERR, "act_prop_sz[%d] oob\n", idx); return -EINVAL; } - val = &parms->act_prop->act_details[idx]; + *val = &parms->act_prop->act_details[idx]; /* get the size index next */ - if (!ulp_operand_read(&fld_src_oper[sizeof(uint16_t)], + if (!ulp_operand_read(&field_opr[sizeof(uint16_t)], (uint8_t *)&size_idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); + BNXT_TF_DBG(ERR, "Action sz operand read failed\n"); return -EINVAL; } size_idx = tfp_be_to_cpu_16(size_idx); - if (size_idx >= BNXT_ULP_ACT_PROP_IDX_LAST) { BNXT_TF_DBG(ERR, "act_prop[%d] oob\n", size_idx); return -EINVAL; @@ -1245,51 +1041,32 @@ ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms, memcpy(&val_size, &parms->act_prop->act_details[size_idx], sizeof(uint32_t)); val_size = tfp_be_to_cpu_32(val_size); - val_size = ULP_BYTE_2_BITS(val_size); - ulp_blob_push_encap(blob, val, val_size); + *val_len = ULP_BYTE_2_BITS(val_size); break; case BNXT_ULP_FIELD_SRC_GLB_RF: - if (!ulp_operand_read(fld_src_oper, - (uint8_t *)&idx, - sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed.\n", name); + if (!ulp_operand_read(field_opr, + (uint8_t *)&idx, sizeof(uint16_t))) { + BNXT_TF_DBG(ERR, "Global regfile read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); - if (ulp_mapper_glb_resource_read(parms->mapper_data, dir, - idx, ®val, &shared)) { - BNXT_TF_DBG(ERR, "%s global regfile[%d] read failed.\n", - name, idx); + if (ulp_mapper_glb_resource_read(parms->mapper_data, + dir, idx, &lregval, &shared) || + sizeof(uint64_t) < bytelen) { + BNXT_TF_DBG(ERR, "Global regfile[%d] read failed %u\n", + idx, bytelen); return -EINVAL; } - if (fld->field_opc == BNXT_ULP_FIELD_OPC_COND_OP) { - val = ulp_blob_push_64(blob, ®val, bitlen); - if (!val) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", - name); - return -EINVAL; - } - } else { - if (ulp_mapper_field_process_inc_dec(fld, blob, - ®val, - const_val, - bitlen, - &update_flag)) { - BNXT_TF_DBG(ERR, "%s field cond opc failed\n", - name); - return -EINVAL; - } - if (update_flag) { - BNXT_TF_DBG(ERR, "%s invalid field cond opc\n", - name); - return -EINVAL; - } - } + m = parms->mapper_data; + buffer = (uint8_t *)&m->glb_res_tbl[dir][idx].resource_hndl; + *val = &buffer[sizeof(uint64_t) - bytelen]; + *value = tfp_be_to_cpu_64(lregval); break; case BNXT_ULP_FIELD_SRC_HF: - if (!ulp_operand_read(fld_src_oper, (uint8_t *)&idx, - sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed.\n", name); + case BNXT_ULP_FIELD_SRC_SUB_HF: + if (!ulp_operand_read(field_opr, + (uint8_t *)&idx, sizeof(uint16_t))) { + BNXT_TF_DBG(ERR, "Header field read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); @@ -1300,69 +1077,67 @@ ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms, return -EINVAL; } if (is_key) - val = parms->hdr_field[bit].spec; + buffer = parms->hdr_field[bit].spec; else - val = parms->hdr_field[bit].mask; + buffer = parms->hdr_field[bit].mask; - /* - * Need to account for how much data was pushed to the header - * field vs how much is to be inserted in the key/mask. - */ field_size = parms->hdr_field[bit].size; - if (bitlen < ULP_BYTE_2_BITS(field_size)) { - field_size = field_size - ((bitlen + 7) / 8); - val += field_size; - } - - if (!ulp_blob_push(blob, val, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); + if (bytelen > field_size) { + BNXT_TF_DBG(ERR, "Hdr field[%d] size small %u\n", + bit, field_size); return -EINVAL; } + if (field_src == BNXT_ULP_FIELD_SRC_HF) { + *val = &buffer[field_size - bytelen]; + } else { + /* get the offset next */ + if (!ulp_operand_read(&field_opr[sizeof(uint16_t)], + (uint8_t *)&offset, + sizeof(uint16_t))) { + BNXT_TF_DBG(ERR, "Hdr fld size read failed\n"); + return -EINVAL; + } + offset = tfp_be_to_cpu_16(offset); + offset = ULP_BITS_2_BYTE_NR(offset); + if ((offset + bytelen) > field_size) { + BNXT_TF_DBG(ERR, "Hdr field[%d] oob\n", bit); + return -EINVAL; + } + *val = &buffer[offset]; + } break; case BNXT_ULP_FIELD_SRC_HDR_BIT: - if (!ulp_operand_read(fld_src_oper, - (uint8_t *)&hdr_bit, sizeof(uint64_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); - return -EINVAL; - } - hdr_bit = tfp_be_to_cpu_64(hdr_bit); - memset(tmpval, 0, sizeof(tmpval)); - if (ULP_BITMAP_ISSET(parms->hdr_bitmap->bits, hdr_bit)) - tmpval[0] = 1; - if (bitlen > ULP_BYTE_2_BITS(sizeof(tmpval))) { - BNXT_TF_DBG(ERR, "%s field size is incorrect\n", name); + if (!ulp_operand_read(field_opr, + (uint8_t *)&lregval, sizeof(uint64_t))) { + BNXT_TF_DBG(ERR, "Header bit read failed\n"); return -EINVAL; } - if (!ulp_blob_push(blob, tmpval, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); - return -EINVAL; + lregval = tfp_be_to_cpu_64(lregval); + if (ULP_BITMAP_ISSET(parms->hdr_bitmap->bits, lregval)) { + *val = mapper_fld_one; + *value = 1; + } else { + *val = mapper_fld_zeros; } - val = tmpval; break; case BNXT_ULP_FIELD_SRC_ACT_BIT: - if (!ulp_operand_read(fld_src_oper, - (uint8_t *)&act_bit, sizeof(uint64_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); - return -EINVAL; - } - act_bit = tfp_be_to_cpu_64(act_bit); - memset(tmpval, 0, sizeof(tmpval)); - if (ULP_BITMAP_ISSET(parms->act_bitmap->bits, act_bit)) - tmpval[0] = 1; - if (bitlen > ULP_BYTE_2_BITS(sizeof(tmpval))) { - BNXT_TF_DBG(ERR, "%s field size is incorrect\n", name); + if (!ulp_operand_read(field_opr, + (uint8_t *)&lregval, sizeof(uint64_t))) { + BNXT_TF_DBG(ERR, "Action bit read failed\n"); return -EINVAL; } - if (!ulp_blob_push(blob, tmpval, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); - return -EINVAL; + lregval = tfp_be_to_cpu_64(lregval); + if (ULP_BITMAP_ISSET(parms->act_bitmap->bits, lregval)) { + *val = mapper_fld_one; + *value = 1; + } else { + *val = mapper_fld_zeros; } - val = tmpval; break; case BNXT_ULP_FIELD_SRC_FIELD_BIT: - if (!ulp_operand_read(fld_src_oper, (uint8_t *)&idx, - sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed.\n", name); + if (!ulp_operand_read(field_opr, + (uint8_t *)&idx, sizeof(uint16_t))) { + BNXT_TF_DBG(ERR, "Field bit read failed\n"); return -EINVAL; } idx = tfp_be_to_cpu_16(idx); @@ -1372,70 +1147,294 @@ ulp_mapper_field_process(struct bnxt_ulp_mapper_parms *parms, idx); return -EINVAL; } - memset(tmpval, 0, sizeof(tmpval)); - if (ULP_INDEX_BITMAP_GET(parms->fld_bitmap->bits, bit)) - tmpval[0] = 1; - if (bitlen > ULP_BYTE_2_BITS(sizeof(tmpval))) { - BNXT_TF_DBG(ERR, "%s field size is incorrect\n", name); + if (ULP_INDEX_BITMAP_GET(parms->fld_bitmap->bits, bit)) { + *val = mapper_fld_one; + *value = 1; + } else { + *val = mapper_fld_zeros; + } + break; + case BNXT_ULP_FIELD_SRC_PORT_TABLE: + /* The port id is present in the comp field list */ + port_id = ULP_COMP_FLD_IDX_RD(parms, + BNXT_ULP_CF_IDX_DEV_PORT_ID); + /* get the port table enum */ + if (!ulp_operand_read(field_opr, + (uint8_t *)&idx, sizeof(uint16_t))) { + BNXT_TF_DBG(ERR, "Port table enum read failed\n"); return -EINVAL; } - if (!ulp_blob_push(blob, tmpval, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); + idx = tfp_be_to_cpu_16(idx); + if (ulp_mapper_field_port_db_process(parms, port_id, idx, + val)) { + BNXT_TF_DBG(ERR, "field port table failed\n"); return -EINVAL; } - val = tmpval; - break; case BNXT_ULP_FIELD_SRC_SKIP: /* do nothing */ break; case BNXT_ULP_FIELD_SRC_REJECT: return -EINVAL; - case BNXT_ULP_FIELD_SRC_SUB_HF: - if (!ulp_operand_read(fld_src_oper, - (uint8_t *)&idx, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); + default: + BNXT_TF_DBG(ERR, "invalid field opcode 0x%x\n", field_src); + return -EINVAL; + } + return 0; +} + +static int32_t ulp_mapper_field_buffer_eval(uint8_t *buffer, uint32_t bitlen, + uint64_t *output) +{ + uint16_t val_16; + uint32_t val_32; + uint64_t val_64; + uint32_t bytelen; + + bytelen = ULP_BITS_2_BYTE(bitlen); + if (bytelen == sizeof(uint8_t)) { + *output = *((uint8_t *)buffer); + } else if (bytelen == sizeof(uint16_t)) { + val_16 = *((uint16_t *)buffer); + *output = tfp_be_to_cpu_16(val_16); + } else if (bytelen == sizeof(uint32_t)) { + val_32 = *((uint32_t *)buffer); + *output = tfp_be_to_cpu_32(val_32); + } else if (bytelen == sizeof(val_64)) { + val_64 = *((uint64_t *)buffer); + *output = tfp_be_to_cpu_64(val_64); + } else { + *output = 0; + return -EINVAL; + } + return 0; +} + +static int32_t ulp_mapper_field_blob_write(enum bnxt_ulp_field_src fld_src, + struct ulp_blob *blob, + uint8_t *val, + uint32_t val_len, + uint8_t **out_val) +{ + if (fld_src == BNXT_ULP_FIELD_SRC_ZERO) { + if (ulp_blob_pad_push(blob, val_len) < 0) { + BNXT_TF_DBG(ERR, "too large for blob\n"); return -EINVAL; } - idx = tfp_be_to_cpu_16(idx); - /* get the index from the global field list */ - if (ulp_mapper_glb_field_tbl_get(parms, idx, &bit)) { - BNXT_TF_DBG(ERR, "invalid ulp_glb_field_tbl idx %d\n", - idx); + } else if (fld_src == BNXT_ULP_FIELD_SRC_ACT_PROP_SZ) { + if (ulp_blob_push_encap(blob, val, val_len) < 0) { + BNXT_TF_DBG(ERR, "encap blob push failed\n"); return -EINVAL; } - - /* get the offset next */ - if (!ulp_operand_read(&fld_src_oper[sizeof(uint16_t)], - (uint8_t *)&offset, sizeof(uint16_t))) { - BNXT_TF_DBG(ERR, "%s operand read failed\n", name); + } else { + if (!ulp_blob_push(blob, val, val_len)) { + BNXT_TF_DBG(ERR, "push of val1 failed\n"); return -EINVAL; } - offset = tfp_be_to_cpu_16(offset); - if ((offset + bitlen) > - ULP_BYTE_2_BITS(parms->hdr_field[bit].size) || - ULP_BITS_IS_BYTE_NOT_ALIGNED(offset)) { - BNXT_TF_DBG(ERR, "Hdr field[%s] oob\n", name); - return -EINVAL; + } + *out_val = val; + return 0; +} + +static int32_t +ulp_mapper_field_opc_process(struct bnxt_ulp_mapper_parms *parms, + enum tf_dir dir, + struct bnxt_ulp_mapper_field_info *fld, + struct ulp_blob *blob, + uint8_t is_key, + const char *name) +{ + uint16_t write_idx = blob->write_idx; + uint8_t *val = NULL, *val1, *val2, *val3; + uint32_t val_len = 0, val1_len = 0, val2_len = 0, val3_len = 0; + uint8_t process_src1 = 0, process_src2 = 0, process_src3 = 0; + uint8_t eval_src1 = 0, eval_src2 = 0, eval_src3 = 0; + uint64_t val_int = 0, val1_int = 0, val2_int = 0, val3_int = 0; + uint64_t value1 = 0, value2 = 0, value3 = 0; + int32_t rc = 0; + + /* prepare the field source and values */ + switch (fld->field_opc) { + case BNXT_ULP_FIELD_OPC_SRC1: + process_src1 = 1; + break; + case BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3: + process_src1 = 1; + break; + case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2_OR_SRC3: + case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3: + process_src3 = 1; + eval_src3 = 1; + process_src1 = 1; + process_src2 = 1; + eval_src1 = 1; + eval_src2 = 1; + break; + case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2: + case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2: + case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST: + case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2_POST: + case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2: + case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2: + process_src1 = 1; + process_src2 = 1; + eval_src1 = 1; + eval_src2 = 1; + break; + default: + break; + } + + /* process the src1 opcode */ + if (process_src1) { + if (ulp_mapper_field_src_process(parms, fld->field_src1, + fld->field_opr1, dir, is_key, + fld->field_bit_size, &val1, + &val1_len, &value1)) { + BNXT_TF_DBG(ERR, "fld src1 process failed\n"); + goto error; + } + if (eval_src1) { + if (ulp_mapper_field_buffer_eval(val1, val1_len, + &val1_int)) { + BNXT_TF_DBG(ERR, "fld src1 eval failed\n"); + goto error; + } } - offset = ULP_BITS_2_BYTE_NR(offset); + } - /* write the value into blob */ - if (is_key) - val = &parms->hdr_field[bit].spec[offset]; + /* for "if then clause" set the correct process */ + if (fld->field_opc == BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3) { + if (value1) + process_src2 = 1; else - val = &parms->hdr_field[bit].mask[offset]; + process_src3 = 1; + } - if (!ulp_blob_push(blob, val, bitlen)) { - BNXT_TF_DBG(ERR, "%s push to blob failed\n", name); - return -EINVAL; + /* process src2 opcode */ + if (process_src2) { + if (ulp_mapper_field_src_process(parms, fld->field_src2, + fld->field_opr2, dir, is_key, + fld->field_bit_size, &val2, + &val2_len, &value2)) { + BNXT_TF_DBG(ERR, "fld src2 process failed\n"); + goto error; + } + if (eval_src2) { + if (ulp_mapper_field_buffer_eval(val2, val2_len, + &val2_int)) { + BNXT_TF_DBG(ERR, "fld src2 eval failed\n"); + goto error; + } + } + } + + /* process src3 opcode */ + if (process_src3) { + if (ulp_mapper_field_src_process(parms, fld->field_src3, + fld->field_opr3, dir, is_key, + fld->field_bit_size, &val3, + &val3_len, &value3)) { + BNXT_TF_DBG(ERR, "fld src3 process failed\n"); + goto error; + } + if (eval_src3) { + if (ulp_mapper_field_buffer_eval(val3, val3_len, + &val3_int)) { + BNXT_TF_DBG(ERR, "fld src3 eval failed\n"); + goto error; + } + } + } + + val_len = fld->field_bit_size; + /* process the field opcodes */ + switch (fld->field_opc) { + case BNXT_ULP_FIELD_OPC_SRC1: + if (ulp_mapper_field_blob_write(fld->field_src1, + blob, val1, val1_len, &val)) + goto error; + val_len = val1_len; + break; + case BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3: + if (value1) { + if (ulp_mapper_field_blob_write(fld->field_src2, blob, + val2, val2_len, &val)) + goto error; + val_len = val2_len; + } else { + if (ulp_mapper_field_blob_write(fld->field_src3, blob, + val3, val3_len, &val)) + goto error; + val_len = val3_len; } break; + case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2: + case BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST: + val_int = val1_int + val2_int; + val_int = tfp_cpu_to_be_64(val_int); + val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size); + if (!val) { + BNXT_TF_DBG(ERR, "push to blob failed\n"); + goto error; + } + break; + case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2: + case BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2_POST: + val_int = val1_int - val2_int; + val_int = tfp_cpu_to_be_64(val_int); + val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size); + if (!val) { + BNXT_TF_DBG(ERR, "push to blob failed\n"); + goto error; + } + break; + case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2: + val_int = val1_int | val2_int; + val_int = tfp_cpu_to_be_64(val_int); + val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size); + if (!val) { + BNXT_TF_DBG(ERR, "push to blob failed\n"); + goto error; + } + break; + case BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2_OR_SRC3: + val_int = val1_int | val2_int | val3_int; + val_int = tfp_cpu_to_be_64(val_int); + val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size); + if (!val) { + BNXT_TF_DBG(ERR, "push to blob failed\n"); + goto error; + } + break; + case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2: + val_int = val1_int & val2_int; + val_int = tfp_cpu_to_be_64(val_int); + val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size); + if (!val) { + BNXT_TF_DBG(ERR, "push to blob failed\n"); + goto error; + } + break; + case BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3: + val_int = val1_int & (val2_int | val3_int); + val_int = tfp_cpu_to_be_64(val_int); + val = ulp_blob_push_64(blob, &val_int, fld->field_bit_size); + if (!val) { + BNXT_TF_DBG(ERR, "push to blob failed\n"); + goto error; + } + break; + case BNXT_ULP_FIELD_OPC_SKIP: + break; default: - BNXT_TF_DBG(ERR, "%s invalid field opcode 0x%x at %d\n", - name, fld_src, write_idx); - return -EINVAL; + break; } - return 0; + + return rc; +error: + BNXT_TF_DBG(ERR, "Error in %s:%s process %u:%u\n", name, + fld->description, (val) ? write_idx : 0, val_len); + return -EINVAL; } /* @@ -1474,8 +1473,8 @@ ulp_mapper_tbl_result_build(struct bnxt_ulp_mapper_parms *parms, ulp_blob_encap_swap_idx_set(data); /* Process the result fields */ - rc = ulp_mapper_field_process(parms, tbl->direction, - &dflds[i], data, 0, name); + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &dflds[i], data, 0, name); if (rc) { BNXT_TF_DBG(ERR, "data field failed\n"); return rc; @@ -1877,9 +1876,9 @@ ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms, */ for (i = 0; i < num_kflds; i++) { /* Setup the key */ - rc = ulp_mapper_field_process(parms, tbl->direction, - &kflds[i].field_info_spec, - key, 1, "TCAM Key"); + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + key, 1, "TCAM Key"); if (rc) { BNXT_TF_DBG(ERR, "Key field set failed %s\n", kflds[i].field_info_spec.description); @@ -1887,9 +1886,9 @@ ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms, } /* Setup the mask */ - rc = ulp_mapper_field_process(parms, tbl->direction, - &kflds[i].field_info_mask, - mask, 0, "TCAM Mask"); + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_mask, + mask, 0, "TCAM Mask"); if (rc) { BNXT_TF_DBG(ERR, "Mask field set failed %s\n", kflds[i].field_info_mask.description); @@ -2077,9 +2076,9 @@ ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms, /* create the key */ for (i = 0; i < num_kflds; i++) { /* Setup the key */ - rc = ulp_mapper_field_process(parms, tbl->direction, - &kflds[i].field_info_spec, - &key, 1, "EM Key"); + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + &key, 1, "EM Key"); if (rc) { BNXT_TF_DBG(ERR, "Key field set failed.\n"); return rc; @@ -2645,9 +2644,9 @@ ulp_mapper_gen_tbl_process(struct bnxt_ulp_mapper_parms *parms, } for (i = 0; i < num_kflds; i++) { /* Setup the key */ - rc = ulp_mapper_field_process(parms, tbl->direction, - &kflds[i].field_info_spec, - &key, 1, "Gen Tbl Key"); + rc = ulp_mapper_field_opc_process(parms, tbl->direction, + &kflds[i].field_info_spec, + &key, 1, "Gen Tbl Key"); if (rc) { BNXT_TF_DBG(ERR, "Failed to create key for Gen tbl rc=%d\n", @@ -3159,6 +3158,9 @@ ulp_mapper_cc_upd_opr_compute(struct bnxt_ulp_mapper_parms *parms, } *result = tfp_be_to_cpu_64(regval); break; + case BNXT_ULP_CC_UPD_SRC_CONST: + *result = cc_opr; + break; default: BNXT_TF_DBG(ERR, "invalid src code %u\n", cc_src); return -EINVAL; diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h index 5c8893c129..bdb1a640af 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_enum.h @@ -8,7 +8,7 @@ #ifndef ULP_TEMPLATE_DB_H_ #define ULP_TEMPLATE_DB_H_ -#define BNXT_ULP_REGFILE_MAX_SZ 38 +#define BNXT_ULP_REGFILE_MAX_SZ 40 #define BNXT_ULP_MAX_NUM_DEVICES 4 #define BNXT_ULP_LOG2_MAX_NUM_DEV 2 #define BNXT_ULP_GEN_TBL_MAX_SZ 10 @@ -29,7 +29,7 @@ #define BNXT_ULP_GLB_RESOURCE_TBL_MAX_SZ 33 #define BNXT_ULP_APP_GLB_RESOURCE_TBL_MAX_SZ 27 #define BNXT_ULP_RESOURCE_RESV_LIST_MAX_SZ 219 -#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 2 +#define BNXT_ULP_APP_CAP_TBL_MAX_SZ 6 #define BNXT_ULP_COND_GOTO_REJECT 1023 #define BNXT_ULP_COND_GOTO_RF 0x10000 #define BNXT_ULP_GLB_FIELD_TBL_SHIFT 7 @@ -37,16 +37,16 @@ #define BNXT_ULP_GLB_FIELD_TBL_SIZE 5595 #define ULP_WH_PLUS_CLASS_TMPL_LIST_SIZE 5 #define ULP_WH_PLUS_CLASS_TBL_LIST_SIZE 74 -#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 484 +#define ULP_WH_PLUS_CLASS_KEY_INFO_LIST_SIZE 495 #define ULP_WH_PLUS_CLASS_IDENT_LIST_SIZE 20 -#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 550 -#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 41 +#define ULP_WH_PLUS_CLASS_RESULT_FIELD_LIST_SIZE 546 +#define ULP_WH_PLUS_CLASS_COND_LIST_SIZE 43 #define ULP_THOR_CLASS_TMPL_LIST_SIZE 5 -#define ULP_THOR_CLASS_TBL_LIST_SIZE 26 -#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 90 -#define ULP_THOR_CLASS_IDENT_LIST_SIZE 3 -#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 138 -#define ULP_THOR_CLASS_COND_LIST_SIZE 6 +#define ULP_THOR_CLASS_TBL_LIST_SIZE 13 +#define ULP_THOR_CLASS_KEY_INFO_LIST_SIZE 0 +#define ULP_THOR_CLASS_IDENT_LIST_SIZE 0 +#define ULP_THOR_CLASS_RESULT_FIELD_LIST_SIZE 102 +#define ULP_THOR_CLASS_COND_LIST_SIZE 1 #define ULP_WH_PLUS_ACT_TMPL_LIST_SIZE 7 #define ULP_WH_PLUS_ACT_TBL_LIST_SIZE 35 #define ULP_WH_PLUS_ACT_KEY_INFO_LIST_SIZE 2 @@ -148,7 +148,8 @@ enum bnxt_ulp_cc_upd_src { BNXT_ULP_CC_UPD_SRC_REGFILE = 0, BNXT_ULP_CC_UPD_SRC_GLB_REGFILE = 1, BNXT_ULP_CC_UPD_SRC_COMP_FIELD = 2, - BNXT_ULP_CC_UPD_SRC_LAST = 3 + BNXT_ULP_CC_UPD_SRC_CONST = 3, + BNXT_ULP_CC_UPD_SRC_LAST = 4 }; enum bnxt_ulp_cf_idx { @@ -283,26 +284,19 @@ enum bnxt_ulp_fdb_type { BNXT_ULP_FDB_TYPE_LAST = 3 }; -enum bnxt_ulp_field_cond_src { - BNXT_ULP_FIELD_COND_SRC_TRUE = 0, - BNXT_ULP_FIELD_COND_SRC_CF = 1, - BNXT_ULP_FIELD_COND_SRC_RF = 2, - BNXT_ULP_FIELD_COND_SRC_ACT_BIT = 3, - BNXT_ULP_FIELD_COND_SRC_HDR_BIT = 4, - BNXT_ULP_FIELD_COND_SRC_FIELD_BIT = 5, - BNXT_ULP_FIELD_COND_SRC_FLOW_PAT_MATCH = 6, - BNXT_ULP_FIELD_COND_SRC_ACT_PAT_MATCH = 7, - BNXT_ULP_FIELD_COND_SRC_LAST = 8 -}; - enum bnxt_ulp_field_opc { - BNXT_ULP_FIELD_OPC_COND_OP = 0, - BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST = 1, - BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST = 2, - BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST = 3, - BNXT_ULP_FIELD_OPC_SRC1_MINUS_CONST_POST = 4, - BNXT_ULP_FIELD_OPC_PORT_TABLE = 5, - BNXT_ULP_FIELD_OPC_LAST = 6 + BNXT_ULP_FIELD_OPC_SRC1 = 0, + BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3 = 1, + BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2 = 2, + BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2 = 3, + BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST = 4, + BNXT_ULP_FIELD_OPC_SRC1_MINUS_SRC2_POST = 5, + BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2 = 6, + BNXT_ULP_FIELD_OPC_SRC1_OR_SRC2_OR_SRC3 = 7, + BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2 = 8, + BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3 = 9, + BNXT_ULP_FIELD_OPC_SKIP = 10, + BNXT_ULP_FIELD_OPC_LAST = 11 }; enum bnxt_ulp_field_src { @@ -321,7 +315,8 @@ enum bnxt_ulp_field_src { BNXT_ULP_FIELD_SRC_FIELD_BIT = 12, BNXT_ULP_FIELD_SRC_SKIP = 13, BNXT_ULP_FIELD_SRC_REJECT = 14, - BNXT_ULP_FIELD_SRC_LAST = 15 + BNXT_ULP_FIELD_SRC_PORT_TABLE = 15, + BNXT_ULP_FIELD_SRC_LAST = 16 }; enum bnxt_ulp_generic_tbl_lkup_type { @@ -346,11 +341,11 @@ enum bnxt_ulp_glb_rf_idx { BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR = 5, BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 = 6, BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 = 7, - BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0 = 8, - BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 = 9, - BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0 = 10, - BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 = 11, - BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 = 12, + BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 = 8, + BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0 = 9, + BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 = 10, + BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0 = 11, + BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 = 12, BNXT_ULP_GLB_RF_IDX_LAST = 13 }; @@ -461,7 +456,9 @@ enum bnxt_ulp_rf_idx { BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC = 35, BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR = 36, BNXT_ULP_RF_IDX_CC = 37, - BNXT_ULP_RF_IDX_LAST = 38 + BNXT_ULP_RF_IDX_CF_FLOW_SIG_ID = 38, + BNXT_ULP_RF_IDX_PHY_PORT_VPORT = 39, + BNXT_ULP_RF_IDX_LAST = 40 }; enum bnxt_ulp_tcam_tbl_opc { diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c index c8ab14a843..67bb8b116b 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_tbl.c @@ -3,7 +3,7 @@ * All rights reserved. */ -/* date: Mon Mar 8 17:37:39 2021 */ +/* date: Mon Mar 15 10:26:20 2021 */ #include "ulp_template_db_enum.h" #include "ulp_template_db_field.h" @@ -56,7 +56,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_SHARED_MIRROR", .result_num_entries = 16, - .result_num_bytes = 16, + .result_num_bytes = 8, .key_num_bytes = 0, .num_buckets = 0, .hash_tbl_entries = 0, @@ -66,7 +66,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = { BNXT_ULP_DIRECTION_EGRESS] = { .name = "EGRESS GENERIC_TABLE_SHARED_MIRROR", .result_num_entries = 16, - .result_num_bytes = 16, + .result_num_bytes = 8, .key_num_bytes = 0, .num_buckets = 0, .hash_tbl_entries = 0, @@ -77,7 +77,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = { .name = "INGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .result_num_entries = 256, .result_num_bytes = 8, - .key_num_bytes = 7, + .key_num_bytes = 9, .num_buckets = 8, .hash_tbl_entries = 1024, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE @@ -87,7 +87,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = { .name = "EGRESS GENERIC_TABLE_MAC_ADDR_CACHE", .result_num_entries = 256, .result_num_bytes = 8, - .key_num_bytes = 7, + .key_num_bytes = 9, .num_buckets = 8, .hash_tbl_entries = 1024, .result_byte_order = BNXT_ULP_BYTE_ORDER_LE @@ -96,7 +96,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = { BNXT_ULP_DIRECTION_INGRESS] = { .name = "INGRESS GENERIC_TABLE_PORT_TABLE", .result_num_entries = 1024, - .result_num_bytes = 18, + .result_num_bytes = 19, .key_num_bytes = 0, .num_buckets = 0, .hash_tbl_entries = 0, @@ -106,7 +106,7 @@ struct bnxt_ulp_generic_tbl_params ulp_generic_tbl_params[] = { BNXT_ULP_DIRECTION_EGRESS] = { .name = "EGRESS GENERIC_TABLE_PORT_TABLE", .result_num_entries = 1024, - .result_num_bytes = 18, + .result_num_bytes = 19, .key_num_bytes = 0, .num_buckets = 0, .hash_tbl_entries = 0, @@ -217,30 +217,62 @@ struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = { .em_key_align_bytes = 80, .wc_slice_width = 160, .wc_max_slices = 4, - .wc_mode_list = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f}, + .wc_mode_list = {0x0000000c, 0x0000000e, 0x0000000f, 0x0000000f}, .wc_mod_list_max_size = 4, .wc_ctl_size_bits = 32, .dev_tbls = ulp_template_thor_tbls } }; +/* Provides act_bitmask */ +struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = { + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 | + BNXT_ULP_DIRECTION_INGRESS] = { + .act_bitmask = BNXT_ULP_ACT_BIT_SHARED_SAMPLE + }, + [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 | + BNXT_ULP_DIRECTION_EGRESS] = { + .act_bitmask = BNXT_ULP_ACT_BIT_SHARED_SAMPLE + } +}; + /* List of device specific parameters */ struct bnxt_ulp_app_capabilities_info ulp_app_cap_info_list[] = { - [0] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .flags = 0 }, - [1] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .flags = 0 }, + { + .app_id = 1, + .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, + .flags = BNXT_ULP_APP_CAP_SHARED_EN + }, + { + .app_id = 1, + .device_id = BNXT_ULP_DEVICE_ID_THOR, + .flags = BNXT_ULP_APP_CAP_SHARED_EN + }, + { + .app_id = 2, + .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, + .flags = BNXT_ULP_APP_CAP_SHARED_EN + }, + { + .app_id = 2, + .device_id = BNXT_ULP_DEVICE_ID_THOR, + .flags = BNXT_ULP_APP_CAP_SHARED_EN + } }; /* List of device specific parameters */ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { - [0] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -248,7 +280,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0, .direction = TF_DIR_RX }, - [1] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -256,7 +288,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0, .direction = TF_DIR_RX }, - [2] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -264,7 +296,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1, .direction = TF_DIR_RX }, - [3] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -272,7 +304,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0, .direction = TF_DIR_RX }, - [4] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -280,7 +312,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0, .direction = TF_DIR_RX }, - [5] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -288,7 +320,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0, .direction = TF_DIR_RX }, - [6] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -296,7 +328,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0, .direction = TF_DIR_RX }, - [7] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -304,7 +336,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0, .direction = TF_DIR_RX }, - [8] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -312,7 +344,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0, .direction = TF_DIR_RX }, - [9] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -320,7 +352,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0, .direction = TF_DIR_RX }, - [10] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -328,7 +360,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0, .direction = TF_DIR_RX }, - [11] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -336,7 +368,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0, .direction = TF_DIR_TX }, - [12] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -344,7 +376,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0, .direction = TF_DIR_TX }, - [13] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -352,7 +384,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0, .direction = TF_DIR_TX }, - [14] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -360,7 +392,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0, .direction = TF_DIR_RX }, - [15] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -368,7 +400,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0, .direction = TF_DIR_RX }, - [16] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -376,7 +408,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0, .direction = TF_DIR_RX }, - [17] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -384,7 +416,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0, .direction = TF_DIR_RX }, - [18] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -392,7 +424,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0, .direction = TF_DIR_RX }, - [19] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -400,7 +432,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0, .direction = TF_DIR_RX }, - [20] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -408,7 +440,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0, .direction = TF_DIR_RX }, - [21] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -416,7 +448,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0, .direction = TF_DIR_RX }, - [22] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -424,7 +456,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_KEY_ID_0, .direction = TF_DIR_RX }, - [23] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -432,7 +464,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0, .direction = TF_DIR_RX }, - [24] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -440,7 +472,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0, .direction = TF_DIR_TX }, - [25] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -448,7 +480,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_APP_GLB_EM_PROFILE_ID_0, .direction = TF_DIR_TX }, - [26] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -460,7 +492,7 @@ struct bnxt_ulp_glb_resource_info ulp_app_glb_resource_tbl[] = { /* List of device specific parameters */ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { - [0] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -468,7 +500,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [1] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -476,7 +508,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [2] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -484,7 +516,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, .direction = TF_DIR_TX }, - [3] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -492,7 +524,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [4] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -500,7 +532,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [5] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -508,7 +540,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [6] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -516,7 +548,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR, .direction = TF_DIR_RX }, - [7] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -524,7 +556,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR, .direction = TF_DIR_TX }, - [8] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -532,7 +564,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [9] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -540,7 +572,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [10] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -548,7 +580,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, .direction = TF_DIR_TX }, - [11] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -556,7 +588,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [12] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -564,7 +596,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [13] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -572,7 +604,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, .direction = TF_DIR_TX }, - [14] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -580,7 +612,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [15] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -588,7 +620,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [16] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -596,7 +628,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [17] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -604,7 +636,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR, .direction = TF_DIR_RX }, - [18] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -612,7 +644,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR, .direction = TF_DIR_TX }, - [19] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -620,7 +652,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [20] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -628,7 +660,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [21] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -636,7 +668,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, .direction = TF_DIR_TX }, - [22] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -644,7 +676,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [23] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -652,7 +684,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [24] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -660,7 +692,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, .direction = TF_DIR_TX }, - [25] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -668,7 +700,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [26] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -676,7 +708,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [27] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -684,7 +716,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [28] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -692,7 +724,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR, .direction = TF_DIR_RX }, - [29] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -700,7 +732,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR, .direction = TF_DIR_TX }, - [30] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -708,7 +740,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_RX }, - [31] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, @@ -716,7 +748,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { .glb_regfile_index = BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID, .direction = TF_DIR_TX }, - [32] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, @@ -728,7 +760,7 @@ struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = { /* List of tf resources required to be reserved per app/device */ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { - [0] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -736,7 +768,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 422 }, - [1] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -744,7 +776,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 6 }, - [2] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -752,7 +784,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 192 }, - [3] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -760,7 +792,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 64 }, - [4] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -768,7 +800,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 192 }, - [5] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -776,7 +808,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 8192 }, - [6] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -784,7 +816,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 16384 }, - [7] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -792,7 +824,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, .count = 1023 }, - [8] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -800,7 +832,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, .count = 511 }, - [9] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -808,7 +840,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, .count = 63 }, - [10] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -816,7 +848,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC, .count = 255 }, - [11] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -824,7 +856,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [12] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -832,7 +864,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 422 }, - [13] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -840,7 +872,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 6 }, - [14] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -848,7 +880,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 960 }, - [15] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -856,7 +888,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 88 }, - [16] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -864,7 +896,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 13168 }, - [17] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -872,7 +904,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE, .count = 1 }, - [18] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -880,7 +912,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 292 }, - [19] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -888,7 +920,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 148 }, - [20] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -896,7 +928,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 192 }, - [21] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -904,7 +936,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 64 }, - [22] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -912,7 +944,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 192 }, - [23] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -920,7 +952,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 8192 }, - [24] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -928,7 +960,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 16384 }, - [25] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -936,7 +968,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, .count = 1023 }, - [26] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -944,7 +976,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 511 }, - [27] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -952,7 +984,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, .count = 223 }, - [28] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -960,7 +992,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, .count = 255 }, - [29] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -968,7 +1000,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 488 }, - [30] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -976,7 +1008,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6, .count = 511 }, - [31] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -984,7 +1016,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [32] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -992,7 +1024,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 292 }, - [33] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1000,7 +1032,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 144 }, - [34] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1008,7 +1040,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 960 }, - [35] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1016,7 +1048,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 928 }, - [36] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1024,7 +1056,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 15232 }, - [37] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1032,7 +1064,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE, .count = 1 }, - [38] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1040,7 +1072,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 26 }, - [39] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1048,7 +1080,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 6 }, - [40] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1056,7 +1088,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 32 }, - [41] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1064,7 +1096,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 32 }, - [42] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1072,7 +1104,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 32 }, - [43] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1080,7 +1112,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 1024 }, - [44] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1088,7 +1120,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 512 }, - [45] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1096,7 +1128,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 14 }, - [46] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1104,7 +1136,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .count = 32 }, - [47] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1112,7 +1144,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_WC_FKB, .count = 32 }, - [48] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1120,7 +1152,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 64 }, - [49] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1128,7 +1160,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 64 }, - [50] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1136,7 +1168,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 300 }, - [51] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1144,7 +1176,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 6 }, - [52] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1152,7 +1184,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 128 }, - [53] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1160,7 +1192,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 112 }, - [54] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1168,7 +1200,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 13200 }, - [55] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1176,7 +1208,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 26 }, - [56] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1184,7 +1216,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 26 }, - [57] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1192,7 +1224,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 32 }, - [58] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1200,7 +1232,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 63 }, - [59] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1208,7 +1240,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 32 }, - [60] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1216,7 +1248,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 1024 }, - [61] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1224,7 +1256,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 512 }, - [62] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1232,7 +1264,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 14 }, - [63] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1240,7 +1272,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .count = 32 }, - [64] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1248,7 +1280,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_WC_FKB, .count = 32 }, - [65] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1256,7 +1288,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 64 }, - [66] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1264,7 +1296,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 100 }, - [67] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1272,7 +1304,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [68] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1280,7 +1312,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 200 }, - [69] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1288,7 +1320,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 110 }, - [70] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1296,7 +1328,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 128 }, - [71] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1304,7 +1336,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 128 }, - [72] = { + { .app_id = 0, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1312,7 +1344,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 15232 }, - [73] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1320,7 +1352,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 422 }, - [74] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1328,7 +1360,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 6 }, - [75] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1336,7 +1368,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 192 }, - [76] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1344,7 +1376,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 64 }, - [77] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1352,7 +1384,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 192 }, - [78] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1360,7 +1392,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 8192 }, - [79] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1368,7 +1400,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 16384 }, - [80] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1376,7 +1408,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, .count = 1023 }, - [81] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1384,7 +1416,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, .count = 511 }, - [82] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1392,7 +1424,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, .count = 63 }, - [83] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1400,7 +1432,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC, .count = 255 }, - [84] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1408,7 +1440,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [85] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1416,7 +1448,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 422 }, - [86] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1424,7 +1456,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 6 }, - [87] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1432,7 +1464,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 960 }, - [88] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1440,7 +1472,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 88 }, - [89] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1448,7 +1480,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 13168 }, - [90] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1456,7 +1488,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE, .count = 1 }, - [91] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1464,7 +1496,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 292 }, - [92] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1472,7 +1504,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 148 }, - [93] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1480,7 +1512,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 192 }, - [94] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1488,7 +1520,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 64 }, - [95] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1496,7 +1528,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 192 }, - [96] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1504,7 +1536,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 8192 }, - [97] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1512,7 +1544,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 16384 }, - [98] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1520,7 +1552,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, .count = 1023 }, - [99] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1528,7 +1560,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 511 }, - [100] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1536,7 +1568,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, .count = 223 }, - [101] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1544,7 +1576,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, .count = 255 }, - [102] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1552,7 +1584,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 488 }, - [103] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1560,7 +1592,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6, .count = 511 }, - [104] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1568,7 +1600,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [105] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1576,7 +1608,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 292 }, - [106] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1584,7 +1616,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 144 }, - [107] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1592,7 +1624,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 960 }, - [108] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1600,7 +1632,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 928 }, - [109] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1608,7 +1640,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 15232 }, - [110] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -1616,7 +1648,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE, .count = 1 }, - [111] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1624,7 +1656,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 26 }, - [112] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1632,7 +1664,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 6 }, - [113] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1640,7 +1672,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 32 }, - [114] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1648,7 +1680,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 32 }, - [115] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1656,7 +1688,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 32 }, - [116] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1664,7 +1696,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 1024 }, - [117] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1672,7 +1704,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 512 }, - [118] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1680,7 +1712,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 14 }, - [119] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1688,7 +1720,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .count = 32 }, - [120] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1696,7 +1728,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_WC_FKB, .count = 32 }, - [121] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1704,7 +1736,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 64 }, - [122] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1712,7 +1744,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 64 }, - [123] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1720,7 +1752,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 300 }, - [124] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1728,7 +1760,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 6 }, - [125] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1736,7 +1768,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 128 }, - [126] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1744,7 +1776,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 112 }, - [127] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -1752,7 +1784,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 13200 }, - [128] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1760,7 +1792,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 26 }, - [129] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1768,7 +1800,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 26 }, - [130] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1776,7 +1808,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 32 }, - [131] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1784,7 +1816,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 63 }, - [132] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1792,7 +1824,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 32 }, - [133] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1800,7 +1832,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 1024 }, - [134] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1808,7 +1840,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 512 }, - [135] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1816,7 +1848,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 14 }, - [136] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1824,7 +1856,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .count = 32 }, - [137] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1832,7 +1864,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_WC_FKB, .count = 32 }, - [138] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1840,7 +1872,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 64 }, - [139] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1848,7 +1880,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 100 }, - [140] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1856,7 +1888,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [141] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1864,7 +1896,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 200 }, - [142] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1872,7 +1904,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 110 }, - [143] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1880,7 +1912,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 128 }, - [144] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1888,7 +1920,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 128 }, - [145] = { + { .app_id = 1, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -1896,7 +1928,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 15232 }, - [146] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1904,7 +1936,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 422 }, - [147] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1912,7 +1944,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 6 }, - [148] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1920,7 +1952,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 192 }, - [149] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1928,7 +1960,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 64 }, - [150] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1936,7 +1968,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 192 }, - [151] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1944,7 +1976,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 8192 }, - [152] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1952,7 +1984,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 16384 }, - [153] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1960,7 +1992,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, .count = 1023 }, - [154] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1968,7 +2000,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, .count = 511 }, - [155] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1976,7 +2008,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, .count = 63 }, - [156] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1984,7 +2016,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC, .count = 255 }, - [157] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -1992,7 +2024,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [158] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -2000,7 +2032,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 422 }, - [159] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -2008,7 +2040,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 6 }, - [160] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -2016,7 +2048,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 960 }, - [161] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -2024,7 +2056,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 88 }, - [162] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -2032,7 +2064,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 13168 }, - [163] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_RX, @@ -2040,7 +2072,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE, .count = 1 }, - [164] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2048,7 +2080,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 292 }, - [165] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2056,7 +2088,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 148 }, - [166] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2064,7 +2096,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 192 }, - [167] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2072,7 +2104,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 64 }, - [168] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2080,7 +2112,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 192 }, - [169] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2088,7 +2120,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 8192 }, - [170] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2096,7 +2128,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 16384 }, - [171] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2104,7 +2136,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4, .count = 1023 }, - [172] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2112,7 +2144,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 511 }, - [173] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2120,7 +2152,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B, .count = 223 }, - [174] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2128,7 +2160,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, .count = 255 }, - [175] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2136,7 +2168,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 488 }, - [176] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2144,7 +2176,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6, .count = 511 }, - [177] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2152,7 +2184,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [178] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2160,7 +2192,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 292 }, - [179] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2168,7 +2200,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 144 }, - [180] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2176,7 +2208,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 960 }, - [181] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2184,7 +2216,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 928 }, - [182] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2192,7 +2224,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 15232 }, - [183] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_WH_PLUS, .direction = TF_DIR_TX, @@ -2200,7 +2232,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_TBL_SCOPE, .count = 1 }, - [184] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2208,7 +2240,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 26 }, - [185] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2216,7 +2248,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 6 }, - [186] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2224,7 +2256,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 32 }, - [187] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2232,7 +2264,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 32 }, - [188] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2240,7 +2272,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 32 }, - [189] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2248,7 +2280,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 1024 }, - [190] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2256,7 +2288,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 512 }, - [191] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2264,7 +2296,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 14 }, - [192] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2272,7 +2304,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .count = 32 }, - [193] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2280,7 +2312,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_WC_FKB, .count = 32 }, - [194] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2288,7 +2320,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 64 }, - [195] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2296,7 +2328,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 64 }, - [196] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2304,7 +2336,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 300 }, - [197] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2312,7 +2344,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 6 }, - [198] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2320,7 +2352,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 128 }, - [199] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2328,7 +2360,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 112 }, - [200] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_RX, @@ -2336,7 +2368,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_EM_TBL_TYPE_EM_RECORD, .count = 13200 }, - [201] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2344,7 +2376,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_HIGH, .count = 26 }, - [202] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2352,7 +2384,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_L2_CTXT_LOW, .count = 26 }, - [203] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2360,7 +2392,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_WC_PROF, .count = 32 }, - [204] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2368,7 +2400,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_PROF_FUNC, .count = 63 }, - [205] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2376,7 +2408,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_IDENT_TYPE_EM_PROF, .count = 32 }, - [206] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2384,7 +2416,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .count = 1024 }, - [207] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2392,7 +2424,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_STATS_64, .count = 512 }, - [208] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2400,7 +2432,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 14 }, - [209] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2408,7 +2440,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_EM_FKB, .count = 32 }, - [210] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2416,7 +2448,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_WC_FKB, .count = 32 }, - [211] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2424,7 +2456,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B, .count = 64 }, - [212] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2432,7 +2464,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4, .count = 100 }, - [213] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2440,7 +2472,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TBL_TYPE_MIRROR_CONFIG, .count = 1 }, - [214] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2448,7 +2480,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, .count = 200 }, - [215] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2456,7 +2488,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW, .count = 110 }, - [216] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2464,7 +2496,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .count = 128 }, - [217] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2472,7 +2504,7 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM, .count = 128 }, - [218] = { + { .app_id = 2, .device_id = BNXT_ULP_DEVICE_ID_THOR, .direction = TF_DIR_TX, @@ -2482,18 +2514,6 @@ struct bnxt_ulp_resource_resv_info ulp_resource_resv_list[] = { } }; -/* Provides act_bitmask */ -struct bnxt_ulp_shared_act_info ulp_shared_act_info[] = { - [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 | - BNXT_ULP_DIRECTION_INGRESS] = { - .act_bitmask = BNXT_ULP_ACT_BIT_SHARED_SAMPLE - }, - [BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR << 1 | - BNXT_ULP_DIRECTION_EGRESS] = { - .act_bitmask = BNXT_ULP_ACT_BIT_SHARED_SAMPLE - } -}; - uint32_t ulp_act_prop_map_table[] = { [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] = BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ, diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c index e5a401e3f8..73df10a575 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_act.c @@ -12,211 +12,15 @@ /* Mapper templates for header act list */ struct bnxt_ulp_mapper_tmpl_info ulp_thor_act_tmpl_list[] = { - /* act_tid: 1, thor, ingress */ - [1] = { - .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 2, - .start_tbl_idx = 0, - .reject_info = { - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 0, - .cond_nums = 0 } - } }; struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = { - { /* act_tid: 1, thor, table: int_flow_counter_tbl.0 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = TF_TBL_TYPE_ACT_STATS_64, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, - .cond_start_idx = 0, - .cond_nums = 1 }, - .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 0, - .result_bit_size = 64, - .result_num_fields = 1 - }, - { /* act_tid: 1, thor, table: int_full_act_record.0 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 0, - .cond_false_goto = 0, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, - .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 1, - .result_bit_size = 128, - .result_num_fields = 17, - .encap_num_fields = 0 - } }; struct bnxt_ulp_mapper_cond_info ulp_thor_act_cond_list[] = { - /* cond_execute: act_tid: 1, int_flow_counter_tbl.0 */ - { - .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET, - .cond_operand = BNXT_ULP_ACT_BIT_COUNT - } }; struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = { - /* act_tid: 1, thor, table: int_flow_counter_tbl.0 */ - { - .description = "count", - .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - /* act_tid: 1, thor, table: int_full_act_record.0 */ - { - .description = "sp_rec_ptr", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "encap_ptr", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "mod_rec_ptr", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "rsvd1", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "rsvd0", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "decap_func", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "meter", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "stats_op", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "stats_ptr", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff} - }, - { - .description = "vnic_or_vport", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { - (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, - BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff} - }, - { - .description = "use_default", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "mirror", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "cnd_copy", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "vlan_dlt_rpt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "drop", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "hit", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "type", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } }; struct diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c index 4d3d1e24b4..d20e630980 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_thor_class.c @@ -3,7 +3,7 @@ * All rights reserved. */ -/* date: Fri Feb 12 13:05:14 2021 */ +/* date: Sun Mar 14 12:41:59 2021 */ #include "ulp_template_db_enum.h" #include "ulp_template_db_field.h" @@ -12,33 +12,34 @@ /* Mapper templates for header class list */ struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = { - /* class_tid: 1, thor, ingress */ - [1] = { + /* class_tid: 3, thor, ingress */ + [3] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 11, + .num_tbls = 7, .start_tbl_idx = 0, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, .cond_start_idx = 0, .cond_nums = 0 } }, - /* class_tid: 2, thor, ingress */ - [2] = { + /* class_tid: 4, thor, egress */ + [4] = { .device_name = BNXT_ULP_DEVICE_ID_THOR, - .num_tbls = 1, - .start_tbl_idx = 11, + .num_tbls = 6, + .start_tbl_idx = 7, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 } } }; struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { - { /* class_tid: 1, thor, table: mac_addr_cache.rd */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, + { /* class_tid: 3, thor, table: int_full_act_record.ing_0 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, @@ -46,5913 +47,943 @@ struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 0, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 0, - .blob_key_bit_size = 56, - .key_bit_size = 56, - .key_num_fields = 2, .result_start_idx = 0, - .result_bit_size = 62, - .result_num_fields = 4 + .result_bit_size = 128, + .result_num_fields = 17 }, - { /* class_tid: 1, thor, table: control.0 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + { /* class_tid: 3, thor, table: parif_def_arec_ptr.ing_0 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, + .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, - .cond_false_goto = 3, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_false_goto = 1, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 0, - .cond_nums = 1 }, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .byte_order = BNXT_ULP_BYTE_ORDER_LE + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, + .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .byte_order = BNXT_ULP_BYTE_ORDER_LE, + .result_start_idx = 17, + .result_bit_size = 32, + .result_num_fields = 1 }, - { /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, - .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH, + { /* class_tid: 3, thor, table: parif_def_err_arec_ptr.ing_0 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, + .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 1, + .cond_start_idx = 0, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .pri_opcode = BNXT_ULP_PRI_OPC_CONST, - .pri_operand = 0, + .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, + .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 2, - .blob_key_bit_size = 213, - .key_bit_size = 213, - .key_num_fields = 21, - .result_start_idx = 4, - .result_bit_size = 43, - .result_num_fields = 6, - .ident_start_idx = 0, - .ident_nums = 1 + .result_start_idx = 18, + .result_bit_size = 32, + .result_num_fields = 1 }, - { /* class_tid: 1, thor, table: mac_addr_cache.wr */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE, + { /* class_tid: 3, thor, table: control.egr_1 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_RX, + .execute_info = { + .cond_true_goto = 1, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 0, + .cond_nums = 1 }, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .byte_order = BNXT_ULP_BYTE_ORDER_LE + }, + { /* class_tid: 3, thor, table: int_full_act_record.egr_vfr */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, + .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 1, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 23, - .blob_key_bit_size = 56, - .key_bit_size = 56, - .key_num_fields = 2, - .result_start_idx = 10, - .result_bit_size = 62, - .result_num_fields = 4 + .result_start_idx = 19, + .result_bit_size = 128, + .result_num_fields = 17, + .encap_num_fields = 0 }, - { /* class_tid: 1, thor, table: profile_tcam_cache.rd */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, - .direction = TF_DIR_RX, + { /* class_tid: 3, thor, table: parif_def_arec_ptr.egr_0 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, + .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR, + .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 1, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, + .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, + .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 25, - .blob_key_bit_size = 14, - .key_bit_size = 14, - .key_num_fields = 3, - .ident_start_idx = 1, - .ident_nums = 5 - }, - { /* class_tid: 1, thor, table: control.1 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, - .direction = TF_DIR_RX, + .result_start_idx = 36, + .result_bit_size = 32, + .result_num_fields = 1 + }, + { /* class_tid: 3, thor, table: parif_def_err_arec_ptr.egr_0 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, + .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR, + .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 5, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR, + .cond_true_goto = 0, + .cond_false_goto = 0, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, .cond_start_idx = 1, - .cond_nums = 1 }, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .byte_order = BNXT_ULP_BYTE_ORDER_LE + .cond_nums = 0 }, + .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, + .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .byte_order = BNXT_ULP_BYTE_ORDER_LE, + .result_start_idx = 37, + .result_bit_size = 32, + .result_num_fields = 1 }, - { /* class_tid: 1, thor, table: fkb_select.wm */ + { /* class_tid: 4, thor, table: int_full_act_record.loopback */ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = TF_TBL_TYPE_WC_FKB, - .direction = TF_DIR_RX, + .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, + .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_WC_KEY_ID_0, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE, + .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 14, - .result_bit_size = 106, - .result_num_fields = 106 + .result_start_idx = 38, + .result_bit_size = 128, + .result_num_fields = 17, + .encap_num_fields = 0 }, - { /* class_tid: 1, thor, table: fkb_select.em */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, - .resource_type = TF_TBL_TYPE_EM_FKB, - .direction = TF_DIR_RX, + { /* class_tid: 4, thor, table: parif_def_arec_ptr.vf_egr */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, + .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR, + .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_EM_KEY_ID_0, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, + .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, + .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 120, - .result_bit_size = 106, - .result_num_fields = 106 - }, - { /* class_tid: 1, thor, table: profile_tcam.l3_l4 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, - .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, - .direction = TF_DIR_RX, + .result_start_idx = 55, + .result_bit_size = 32, + .result_num_fields = 1 + }, + { /* class_tid: 4, thor, table: parif_def_err_arec_ptr.vf_egr */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE, + .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR, + .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, - .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, - .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, - .fdb_operand = BNXT_ULP_RF_IDX_RID, - .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, + .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, + .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF, + .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 28, - .blob_key_bit_size = 94, - .key_bit_size = 94, - .key_num_fields = 43, - .result_start_idx = 226, - .result_bit_size = 33, - .result_num_fields = 8, - .ident_start_idx = 6, - .ident_nums = 2 + .result_start_idx = 56, + .result_bit_size = 32, + .result_num_fields = 1 }, - { /* class_tid: 1, thor, table: profile_tcam_cache.wr */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, + { /* class_tid: 4, thor, table: int_full_act_record.vf_ing */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM, + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, .direction = TF_DIR_RX, .execute_info = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, + .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 71, - .blob_key_bit_size = 14, - .key_bit_size = 14, - .key_num_fields = 3, - .result_start_idx = 234, - .result_bit_size = 82, - .result_num_fields = 7 + .result_start_idx = 57, + .result_bit_size = 128, + .result_num_fields = 17, + .encap_num_fields = 0 }, - { /* class_tid: 1, thor, table: em.ipv4 */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE, - .resource_type = TF_MEM_INTERNAL, - .direction = TF_DIR_RX, + { /* class_tid: 4, thor, table: vtag_encap_record.vfr_egr0 */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, + .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B, + .resource_sub_type = + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, + .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 0, - .cond_false_goto = 0, + .cond_true_goto = 1, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 }, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, + .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, + .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, - .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, - .byte_order = BNXT_ULP_BYTE_ORDER_BE, - .key_start_idx = 74, - .blob_key_bit_size = 0, - .key_bit_size = 0, - .key_num_fields = 114, - .result_start_idx = 241, + .byte_order = BNXT_ULP_BYTE_ORDER_LE, + .result_start_idx = 74, .result_bit_size = 0, - .result_num_fields = 6 + .result_num_fields = 0, + .encap_num_fields = 11 }, - { /* class_tid: 2, thor, table: int_full_act_record.0 */ + { /* class_tid: 4, thor, table: int_full_act_record.vfr_egr0 */ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL, - .direction = TF_DIR_RX, + BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION, + .direction = TF_DIR_TX, .execute_info = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 2, + .cond_start_idx = 1, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, - .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 247, + .result_start_idx = 85, .result_bit_size = 128, .result_num_fields = 17 } }; struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = { - /* cond_execute: class_tid: 1, control.0 */ + /* cond_execute: class_tid: 3, control.egr_1 */ { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS - }, - /* cond_execute: class_tid: 1, control.1 */ - { - .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, - .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS + .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET, + .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE } }; -struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { - /* class_tid: 1, thor, table: mac_addr_cache.rd */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} - }, - .field_info_spec = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} - } - }, - /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */ - { - .field_info_mask = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ivlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ivlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ovlan_tpid_sel", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_ovlan_vid", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "mac1_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} - }, - .field_info_spec = { - .description = "mac0_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} - } - }, - { - .field_info_mask = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tunnel_id", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "llc", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "roce", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "mpass_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } - }, - /* class_tid: 1, thor, table: mac_addr_cache.wr */ - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff} - } - }, - { - .field_info_mask = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} - }, - .field_info_spec = { - .description = "mac_addr", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} - } - }, - /* class_tid: 1, thor, table: profile_tcam_cache.rd */ - { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} - } - }, - { - .field_info_mask = { - .description = "hdr_sig_id", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "hdr_sig_id", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} - } - }, - /* class_tid: 1, thor, table: profile_tcam.l3_l4 */ - { - .field_info_mask = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_L4_HDR_TYPE_TCP}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L4_HDR_TYPE_UDP} - } - }, - { - .field_info_mask = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_L4_HDR_VALID_YES} - } - }, - { - .field_info_mask = { - .description = "ieh", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "ieh", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_L3_HDR_TYPE_IPV4}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_L3_HDR_TYPE_IPV6} - } - }, - { - .field_info_mask = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_L3_HDR_VALID_YES} - } - }, - { - .field_info_mask = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "l2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_L2_HDR_VALID_YES} - } - }, - { - .field_info_mask = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_flags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tun_hdr_err", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tun_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl4_hdr_is_udp_tcp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl4_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl4_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl4_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl3_ipv6_cmp_dst", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl3_ipv6_cmp_src", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl3_hdr_isIP", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl3_hdr_type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, - { - .field_info_mask = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl3_hdr_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } - }, +struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { + /* class_tid: 3, thor, table: int_full_act_record.ing_0 */ { - .field_info_mask = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "sp_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_two_vtags", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "encap_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_vtag_present", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "mod_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_uc_mc_bc", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "rsvd1", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "tl2_hdr_type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "rsvd0", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_hdr_valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "decap_func", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "hrec_next", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "hrec_next", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "meter", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} - } + .description = "stats_op", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "agg_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "agg_error", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "stats_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "metadata", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} }, { - .field_info_mask = { - .description = "pkt_type_0", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - .field_info_spec = { - .description = "pkt_type_0", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "use_default", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "pkt_type_1", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "pkt_type_1", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "mirror", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "valid", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - } + .description = "cond_copy", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, thor, table: profile_tcam_cache.wr */ { - .field_info_mask = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "recycle_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - } + .description = "vlan_del_rpt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} - } + .description = "drop", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .field_info_mask = { - .description = "hdr_sig_id", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "hdr_sig_id", - .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff} - } + .description = "hit", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, thor, table: em.ipv4 */ { - .field_info_mask = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} - } - }, - { - .field_info_mask = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - } - }, - { - .field_info_mask = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "spif", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "svif", - .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "lcos", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "lcos", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "meta", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "rcyc_cnt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "loopback", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_l2type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_l2type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_dt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_dt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_sa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_sa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_nvt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_nvt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ovp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_ovp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ovd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_ovd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ovt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_ovt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ivp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_ivp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ivd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_ivd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_ivt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl2_ivt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_l3type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_l3type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_sip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_sip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_dip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_dip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_fid.ipv4", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_fid.ipv4", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_fid.ipv6", - .field_bit_size = 20, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl3_fid.ipv6", - .field_bit_size = 20, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_nonext", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_nonext", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_esp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_esp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_auth", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_auth", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_dest", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_dest", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_rthdr", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_rthdr", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_hop", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_hop", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_ieh_1frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_ieh_1frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_df", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_df", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl3_l3err", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl3_l3err", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_l4type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl4_l4type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl4_src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl4_dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl4_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_seq", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tl4_seq", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_pa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl4_pa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_opt", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl4_opt", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_tcpts", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl4_tcpts", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tl4_err", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tl4_err", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tuntype", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tuntype", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tflags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tflags", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tids", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tctxts", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tctxts", - .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tctxt", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "tctxt", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "tqos", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "tqos", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "terr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "terr", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_l2type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_l2type", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l2_dmac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l2_smac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_dt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_dt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_sa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_sa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_nvt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_nvt", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ovp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_ovp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ovd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_ovd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l2_ovv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ovt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_ovt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ivp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_ivp", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ivd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_ivd", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l2_ivv", - .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_ivt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l2_ivt", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l2_etype", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_l3type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_l3type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} - }, - .field_info_spec = { - .description = "l3_sip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} - } - }, - { - .field_info_mask = { - .description = "l3_sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l3_sip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_sip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l3_sip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} - }, - .field_info_spec = { - .description = "l3_dip.ipv4", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} - } - }, - { - .field_info_mask = { - .description = "l3_dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l3_dip.ipv6", - .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_dip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l3_dip_selcmp.ipv6", - .field_bit_size = 72, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ttl", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_prot", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_IP_PROTO_TCP}, - .field_src2 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr2 = { - ULP_THOR_SYM_IP_PROTO_UDP} - } - }, - { - .field_info_mask = { - .description = "l3_fid.ipv4", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l3_fid.ipv4", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_fid.ipv6", - .field_bit_size = 20, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l3_fid.ipv6", - .field_bit_size = 20, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_qos", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_nonext", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_nonext", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_esp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_esp", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_auth", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_auth", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_dest", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_dest", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_rthdr", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_rthdr", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_hop", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_hop", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_ieh_1frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_ieh_1frag", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_df", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_df", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_l3err.ipv4", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_l3err.ipv4", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l3_l3err.ipv6", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l3_l3err.ipv6", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_l4type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_l4type", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff} - }, - .field_info_spec = { - .description = "l4_src", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff} - } - }, - { - .field_info_mask = { - .description = "l4_dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff} - }, - .field_info_spec = { - .description = "l4_dst", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, - ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, - (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { - (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_HF, - .field_opr2 = { - (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff} - } - }, - { - .field_info_mask = { - .description = "l4_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l4_flags", - .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_seq", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l4_seq", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_ack", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l4_ack", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_win", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l4_win", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_pa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_pa", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_opt", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_opt", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_tcpts", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_tcpts", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_tsval", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l4_tsval", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_txecr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff, - 0xff, - 0xff, - 0xff} - }, - .field_info_spec = { - .description = "l4_txecr", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - }, - { - .field_info_mask = { - .description = "l4_err", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "l4_err", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_SKIP - } - } -}; - -struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = { - /* class_tid: 1, thor, table: mac_addr_cache.rd */ - { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_cntxt_tcam_index", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "src_property_ptr", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */ - { - .description = "prof_func_id", - .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff} - }, - { - .description = "ctxt_meta_prof", + .description = "type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "def_ctxt_data", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (4 >> 8) & 0xff, - 4 & 0xff} - }, - { - .description = "ctxt_opcode", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW} - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "parif", - .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - /* class_tid: 1, thor, table: mac_addr_cache.wr */ - { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} - }, - { - .description = "l2_cntxt_tcam_index", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} - }, - { - .description = "l2_cntxt_id", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff} - }, - { - .description = "src_property_ptr", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - /* class_tid: 1, thor, table: fkb_select.wm */ - { - .description = "l2_cntxt_id.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "parif.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "spif.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "svif.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "lcos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "meta.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "rcyc_cnt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "loopback.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_l2type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_dt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_sa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_nvt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_l3type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_sip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_dip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_fid.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_nonext.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_esp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_auth.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_dest.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_rthdr.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_hop.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_1frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_df.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_l3err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_l4type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_flags.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_seq.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_pa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_opt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_tcpts.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tuntype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tflags.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tid.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tctxts.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tctxt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tqos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "terr.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_l2type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_dt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_sa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_nvt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ovt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ivp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ivd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_ivt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_l3type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l3_sip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l3_dip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l3_fid.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_nonext.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_esp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_auth.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_dest.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_rthdr.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_hop.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_ieh_1frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_df.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l3_l3err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_l4type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "l4_flags.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_seq.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_ack.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_win.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_pa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_opt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_tcpts.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_tsval.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_txecr.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "l4_err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - /* class_tid: 1, thor, table: fkb_select.em */ - { - .description = "l2_cntxt_id.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} - }, - { - .description = "parif.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "spif.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "svif.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "lcos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "meta.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "rcyc_cnt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "loopback.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_l2type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_dt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_sa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_nvt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ovt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_ivt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl2_etype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_l3type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_sip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_dip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_fid.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_nonext.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_esp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_auth.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_dest.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_rthdr.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_hop.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_ieh_1frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_df.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl3_l3err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_l4type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_flags.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_seq.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_pa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_opt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_tcpts.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tl4_err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tuntype.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tflags.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tids.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tid.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tctxts.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "tctxt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, + /* class_tid: 3, thor, table: parif_def_arec_ptr.ing_0 */ { - .description = "tqos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "act_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} }, + /* class_tid: 3, thor, table: parif_def_err_arec_ptr.ing_0 */ { - .description = "terr.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "act_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} }, + /* class_tid: 3, thor, table: int_full_act_record.egr_vfr */ { - .description = "l2_l2type.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "sp_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dmac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "encap_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_smac.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "mod_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_dt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "rsvd1", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_sa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "rsvd0", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_nvt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "decap_func", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "meter", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovd.en", + .description = "stats_op", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovv.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "stats_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ovt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff, + BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff} }, { - .description = "l2_ivp.en", + .description = "use_default", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivd.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "mirror", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivv.en", + .description = "cond_copy", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_ivt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "vlan_del_rpt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l2_etype.en", + .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_l3type.en", + .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_sip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} }, + /* class_tid: 3, thor, table: parif_def_arec_ptr.egr_0 */ { - .description = "l3_sip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "act_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} }, + /* class_tid: 3, thor, table: parif_def_err_arec_ptr.egr_0 */ { - .description = "l3_dip.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "act_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { - 1} + (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, + BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} }, + /* class_tid: 4, thor, table: int_full_act_record.loopback */ { - .description = "l3_dip_selcmp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "sp_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ttl.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "encap_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_prot.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .description = "mod_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_fid.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "rsvd1", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_qos.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "rsvd0", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_nonext.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "decap_func", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_esp.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "meter", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_auth.en", + .description = "stats_op", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_dest.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "stats_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_frag.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff, + ULP_THOR_SYM_LOOPBACK_PORT & 0xff} }, { - .description = "l3_ieh_rthdr.en", + .description = "use_default", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_hop.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "mirror", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_ieh_1frag.en", + .description = "cond_copy", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_df.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "vlan_del_rpt", + .field_bit_size = 2, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l3_l3err.en", + .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_l4type.en", + .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_src.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} }, + /* class_tid: 4, thor, table: parif_def_arec_ptr.vf_egr */ { - .description = "l4_dst.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .description = "act_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { - 1} + (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff} }, + /* class_tid: 4, thor, table: parif_def_err_arec_ptr.vf_egr */ { - .description = "l4_flags.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .description = "act_rec_ptr", + .field_bit_size = 32, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr1 = { + (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff} }, + /* class_tid: 4, thor, table: int_full_act_record.vf_ing */ { - .description = "l4_seq.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "sp_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_ack.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "encap_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_win.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "mod_rec_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_pa.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "rsvd1", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_opt.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "rsvd0", + .field_bit_size = 8, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_tcpts.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "decap_func", + .field_bit_size = 5, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_tsval.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "meter", + .field_bit_size = 10, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_txecr.en", + .description = "stats_op", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "l4_err.en", - .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "stats_ptr", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, thor, table: profile_tcam.l3_l4 */ { - .description = "wc_key_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "vnic_or_vport", + .field_bit_size = 11, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, + BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} + }, + { + .description = "use_default", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "wc_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "mirror", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "wc_search_en", + .description = "cond_copy", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "em_key_type", + .description = "vlan_del_rpt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "em_key_id", - .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff} - }, - { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} - }, - { - .description = "em_search_en", + .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 1} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "pl_byp_lkup_en", + .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, thor, table: profile_tcam_cache.wr */ { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, - BNXT_ULP_RF_IDX_RID & 0xff} + 1} }, + /* class_tid: 4, thor, table: vtag_encap_record.vfr_egr0 */ { - .description = "profile_tcam_index", - .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff} + .description = "ecv_tun_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "em_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} + .description = "ecv_l4_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "em_key_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_EM_KEY_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_EM_KEY_ID_0 & 0xff} + .description = "ecv_l3_type", + .field_bit_size = 3, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "wc_profile_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_PROFILE_ID_0 & 0xff} + .description = "ecv_l2_en", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "wc_key_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "ecv_vtag_type", + .field_bit_size = 4, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_RF_IDX_WC_KEY_ID_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_WC_KEY_ID_0 & 0xff} + ULP_THOR_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI} }, { - .description = "flow_sig_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff} + .description = "rsrvd", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, thor, table: em.ipv4 */ { - .description = "valid", + .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} }, { - .description = "strength", - .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "vtag_tpid", + .field_bit_size = 16, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - 3} + 0x81, + 0x00} }, { - .description = "arec_ptr_or_md", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .description = "vtag_vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff} + (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, + BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} }, { - .description = "opcode", - .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .description = "vtag_de", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "meta_prof", + .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "ctxt_data", - .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr1 = { + (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff, + BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff} }, - /* class_tid: 2, thor, table: int_full_act_record.0 */ + /* class_tid: 4, thor, table: int_full_act_record.vfr_egr0 */ { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_RF, + .field_opr1 = { + (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, + BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff} }, { .description = "mod_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rsvd1", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rsvd0", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_op", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "stats_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { - (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, - BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff} + (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff, + ULP_THOR_SYM_LOOPBACK_PORT & 0xff} }, { .description = "use_default", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "cnd_copy", + .description = "cond_copy", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { - .description = "vlan_dlt_rpt", + .description = "vlan_del_rpt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} } }; +struct +bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = { +}; + struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = { - /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */ - { - .description = "l2_cntxt_id", - .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH, - .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0, - .ident_bit_size = 10, - .ident_bit_pos = 29 - }, - /* class_tid: 1, thor, table: profile_tcam_cache.rd */ - { - .description = "em_key_id", - .regfile_idx = BNXT_ULP_RF_IDX_EM_KEY_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 50 - }, - { - .description = "em_profile_id", - .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 42 - }, - { - .description = "flow_sig_id", - .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID, - .ident_bit_size = 8, - .ident_bit_pos = 74 - }, - { - .description = "wc_key_id", - .regfile_idx = BNXT_ULP_RF_IDX_WC_KEY_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 66 - }, - { - .description = "wc_profile_id", - .regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 58 - }, - /* class_tid: 1, thor, table: profile_tcam.l3_l4 */ - { - .description = "wc_profile_id", - .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_WC_PROF, - .regfile_idx = BNXT_ULP_RF_IDX_WC_PROFILE_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 6 - }, - { - .description = "em_profile_id", - .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, - .ident_type = TF_IDENT_TYPE_EM_PROF, - .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0, - .ident_bit_size = 8, - .ident_bit_pos = 23 - } }; diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c index 1a4e610b56..1d21cd3e38 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_act.c @@ -3,7 +3,7 @@ * All rights reserved. */ -/* date: Tue Jan 26 15:51:49 2021 */ +/* date: Sun Mar 14 12:41:59 2021 */ #include "ulp_template_db_enum.h" #include "ulp_template_db_field.h" @@ -986,17 +986,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = { .field_info_mask = { .description = "shared_index", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "shared_index", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff, @@ -1008,17 +1006,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = { .field_info_mask = { .description = "shared_index", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "shared_index", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, @@ -1032,44 +1028,38 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "count", .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 1, wh_plus, table: int_vtag_encap_record.0 */ { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI} @@ -1077,15 +1067,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -1093,8 +1081,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff, @@ -1103,8 +1090,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff, @@ -1113,15 +1099,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff, @@ -1130,16 +1114,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "spare", .field_bit_size = 80, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 1, wh_plus, table: int_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -1148,29 +1130,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -1185,29 +1163,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, @@ -1216,8 +1190,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, @@ -1226,9 +1199,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, @@ -1237,17 +1210,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, @@ -1256,9 +1228,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, @@ -1267,38 +1239,34 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -1307,8 +1275,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -1317,9 +1284,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff, @@ -1328,18 +1295,17 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_DECAP_FUNC_THRU_TUN}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_DECAP_FUNC_THRU_TUN}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_DECAP_FUNC_NONE} }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, @@ -1348,8 +1314,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff, @@ -1364,16 +1329,15 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff, @@ -1382,17 +1346,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_RF, + .field_opr2 = { (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff, BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff, @@ -1407,23 +1370,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 1, wh_plus, table: ext_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -1432,29 +1392,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -1469,50 +1425,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, @@ -1521,9 +1470,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, @@ -1532,17 +1481,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, @@ -1551,9 +1499,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, @@ -1562,38 +1510,34 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -1602,8 +1546,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -1612,9 +1555,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff, @@ -1623,18 +1566,17 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_DECAP_FUNC_THRU_TUN}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_DECAP_FUNC_THRU_TUN}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_DECAP_FUNC_NONE} }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, @@ -1643,8 +1585,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff, @@ -1659,15 +1600,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff, @@ -1676,8 +1615,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff, @@ -1692,29 +1630,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -1722,72 +1656,62 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 2, wh_plus, table: mirror_tbl.alloc */ { .description = "act_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -1795,45 +1719,39 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "copy", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ign_drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 2, wh_plus, table: int_flow_counter_tbl.0 */ { .description = "count", .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 2, wh_plus, table: int_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -1842,29 +1760,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -1879,106 +1793,91 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, @@ -1987,25 +1886,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1} @@ -2013,30 +1906,26 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 2, wh_plus, table: ext_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -2045,29 +1934,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -2082,120 +1967,103 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, @@ -2204,8 +2072,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff, @@ -2220,18 +2087,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { 1} @@ -2239,36 +2101,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -2276,65 +2133,56 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 2, wh_plus, table: mirror_tbl.wr */ { .description = "act_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -2343,8 +2191,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -2352,37 +2199,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "copy", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ign_drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 2, wh_plus, table: shared_mirror_record.wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -2391,11 +2233,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "mirror_id", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_CONST_POST, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { (1 >> 8) & 0xff, @@ -2405,16 +2243,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "count", .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 3, wh_plus, table: act_modify_ipv4_src.0 */ { .description = "ipv4_addr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, @@ -2424,8 +2260,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ipv4_addr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, @@ -2435,29 +2270,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -2465,22 +2296,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -2488,44 +2316,38 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 80, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 3, wh_plus, table: int_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -2534,29 +2356,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -2571,29 +2389,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff, @@ -2602,8 +2416,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, @@ -2612,9 +2425,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, @@ -2623,17 +2436,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, @@ -2642,9 +2454,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, @@ -2653,38 +2465,34 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -2693,8 +2501,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -2703,9 +2510,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, @@ -2714,18 +2521,17 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_DECAP_FUNC_THRU_L2} }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, @@ -2734,51 +2540,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 3, wh_plus, table: ext_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -2787,29 +2586,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -2824,36 +2619,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff, @@ -2862,8 +2652,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -2871,8 +2660,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, @@ -2881,9 +2669,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, @@ -2892,17 +2680,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, @@ -2911,9 +2698,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, @@ -2922,38 +2709,34 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -2962,8 +2745,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -2972,9 +2754,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, @@ -2983,18 +2765,17 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_DECAP_FUNC_THRU_L2} }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff, @@ -3003,57 +2784,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -3061,101 +2834,87 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 4, wh_plus, table: int_flow_counter_tbl.0 */ { .description = "count", .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 4, wh_plus, table: int_vtag_encap_record.0 */ { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI} @@ -3163,15 +2922,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -3179,8 +2936,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff, @@ -3189,8 +2945,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff, @@ -3199,15 +2954,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff, @@ -3216,16 +2969,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "spare", .field_bit_size = 80, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 4, wh_plus, table: int_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -3234,29 +2985,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -3271,29 +3018,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, @@ -3302,57 +3045,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -3361,8 +3096,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -3371,15 +3105,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -3388,29 +3120,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff, @@ -3425,23 +3153,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 4, wh_plus, table: ext_full_act_record.no_tag */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -3450,29 +3175,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -3487,99 +3208,85 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -3588,8 +3295,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -3598,15 +3304,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -3615,29 +3319,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff, @@ -3652,29 +3352,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -3682,65 +3378,56 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 4, wh_plus, table: ext_full_act_record.one_tag */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -3749,29 +3436,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -3786,99 +3469,85 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -3887,8 +3556,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -3897,15 +3565,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -3914,8 +3580,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff, @@ -3930,22 +3595,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff, @@ -3960,36 +3622,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI} @@ -3997,15 +3654,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4013,8 +3668,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff, @@ -4023,8 +3677,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff, @@ -4033,15 +3686,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff, @@ -4050,24 +3701,21 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "spare", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 5, wh_plus, table: int_flow_counter_tbl.0 */ { .description = "count", .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 5, wh_plus, table: act_modify_ipv4_src.0 */ { .description = "ipv4_addr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff, @@ -4077,8 +3725,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ipv4_addr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff, @@ -4088,29 +3735,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -4118,22 +3761,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4141,44 +3781,38 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 80, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 5, wh_plus, table: int_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -4187,29 +3821,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -4224,29 +3854,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff, @@ -4255,8 +3881,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, @@ -4265,9 +3890,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, @@ -4276,17 +3901,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, @@ -4295,9 +3919,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, @@ -4306,38 +3930,34 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -4346,8 +3966,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -4356,9 +3975,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, @@ -4367,18 +3986,17 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_DECAP_FUNC_THRU_L2} }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -4387,51 +4005,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 5, wh_plus, table: ext_full_act_record.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -4440,29 +4051,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -4477,36 +4084,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff, @@ -4515,8 +4117,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4524,8 +4125,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff, @@ -4534,9 +4134,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff, @@ -4545,17 +4145,16 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff, @@ -4564,9 +4163,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_ACT_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff, @@ -4575,38 +4174,34 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff, ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff, (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, - .field_opr1 = { + .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP, + .field_opr2 = { (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff, BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff, @@ -4615,8 +4210,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff, @@ -4625,9 +4219,9 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff, @@ -4636,18 +4230,17 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_DECAP_FUNC_THRU_TL2}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_DECAP_FUNC_THRU_L2} }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -4656,57 +4249,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L2_EN_YES} @@ -4714,73 +4299,63 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 6, wh_plus, table: int_flow_counter_tbl.0 */ { .description = "count", .field_bit_size = 64, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 6, wh_plus, table: sp_smac_ipv4.0 */ { .description = "smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff, @@ -4789,8 +4364,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ipv4_src_addr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff, @@ -4799,16 +4373,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "reserved", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 6, wh_plus, table: sp_smac_ipv6.0 */ { .description = "smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff, @@ -4817,8 +4389,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ipv6_src_addr", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff, @@ -4827,16 +4398,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "reserved", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 6, wh_plus, table: int_tun_encap_record.0 */ { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_TUN_TYPE_VXLAN} @@ -4844,8 +4413,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM} @@ -4853,8 +4421,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff, @@ -4863,8 +4430,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4872,8 +4438,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff, @@ -4882,15 +4447,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4898,8 +4461,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_l2_dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff, @@ -4908,8 +4470,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_vtag", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff, @@ -4920,8 +4481,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_ip", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff, @@ -4932,8 +4492,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_udp", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff, @@ -4942,8 +4501,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_tun", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff, @@ -4955,8 +4513,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -4965,29 +4522,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -5002,29 +4555,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, @@ -5033,78 +4582,67 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -5113,51 +4651,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* act_tid: 6, wh_plus, table: ext_full_act_record_vxlan.0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff, @@ -5166,29 +4697,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT, .field_opr1 = { ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff, @@ -5203,120 +4730,103 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "flow_cntr_ext", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff, @@ -5325,36 +4835,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_TUN_TYPE_VXLAN} @@ -5362,8 +4867,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM} @@ -5371,8 +4875,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff, @@ -5381,8 +4884,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -5390,8 +4892,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff, @@ -5400,15 +4901,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -5416,8 +4915,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_l2_dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff, @@ -5426,8 +4924,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_vtag", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff, @@ -5438,8 +4935,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_ip", .field_bit_size = 0, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff, @@ -5450,8 +4946,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_udp", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff, @@ -5460,8 +4955,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = { { .description = "encap_tun", .field_bit_size = 80, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP, .field_opr1 = { (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff, diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c index 25b536a527..4e0cd66126 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c +++ b/drivers/net/bnxt/tf_ulp/ulp_template_db_wh_plus_class.c @@ -3,7 +3,7 @@ * All rights reserved. */ -/* date: Fri Jan 29 09:44:41 2021 */ +/* date: Mon Mar 15 10:26:20 2021 */ #include "ulp_template_db_enum.h" #include "ulp_template_db_field.h" @@ -25,21 +25,21 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = { /* class_tid: 2, wh_plus, egress */ [2] = { .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, - .num_tbls = 14, + .num_tbls = 15, .start_tbl_idx = 18, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 23, + .cond_start_idx = 24, .cond_nums = 1 } }, /* class_tid: 3, wh_plus, ingress */ [3] = { .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS, - .num_tbls = 23, - .start_tbl_idx = 32, + .num_tbls = 22, + .start_tbl_idx = 33, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 33, + .cond_start_idx = 35, .cond_nums = 0 } }, /* class_tid: 4, wh_plus, egress */ @@ -49,7 +49,7 @@ struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = { .start_tbl_idx = 55, .reject_info = { .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 } } }; @@ -94,9 +94,9 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, .key_start_idx = 1, - .blob_key_bit_size = 56, - .key_bit_size = 56, - .key_num_fields = 2, + .blob_key_bit_size = 70, + .key_bit_size = 70, + .key_num_fields = 5, .ident_start_idx = 1, .ident_nums = 1 }, @@ -130,7 +130,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 3, + .key_start_idx = 6, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, @@ -155,10 +155,10 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 16, - .blob_key_bit_size = 56, - .key_bit_size = 56, - .key_num_fields = 2, + .key_start_idx = 19, + .blob_key_bit_size = 70, + .key_bit_size = 70, + .key_num_fields = 5, .result_start_idx = 13, .result_bit_size = 62, .result_num_fields = 4 @@ -179,7 +179,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 18, + .key_start_idx = 24, .blob_key_bit_size = 14, .key_bit_size = 14, .key_num_fields = 3, @@ -213,8 +213,8 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cc_opc = BNXT_ULP_CC_UPD_OPC_EQ, .cc_src1 = BNXT_ULP_CC_UPD_SRC_REGFILE, .cc_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID, - .cc_src2 = BNXT_ULP_CC_UPD_SRC_COMP_FIELD, - .cc_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID, + .cc_src2 = BNXT_ULP_CC_UPD_SRC_REGFILE, + .cc_opr2 = BNXT_ULP_RF_IDX_CF_FLOW_SIG_ID, .cc_dst_opr = BNXT_ULP_RF_IDX_CC }, .byte_order = BNXT_ULP_BYTE_ORDER_LE }, @@ -235,7 +235,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 21, + .key_start_idx = 27, .blob_key_bit_size = 81, .key_bit_size = 81, .key_num_fields = 43, @@ -262,7 +262,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 64, + .key_start_idx = 70, .blob_key_bit_size = 81, .key_bit_size = 81, .key_num_fields = 43, @@ -272,7 +272,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .ident_start_idx = 7, .ident_nums = 1 }, - { /* class_tid: 1, wh_plus, table: profile_tcam.vxlan */ + { /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */ .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, .direction = TF_DIR_RX, @@ -281,7 +281,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, .cond_start_idx = 9, - .cond_nums = 1 }, + .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE, @@ -289,7 +289,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 107, + .key_start_idx = 113, .blob_key_bit_size = 81, .key_bit_size = 81, .key_num_fields = 43, @@ -309,13 +309,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 10, + .cond_start_idx = 11, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 150, + .key_start_idx = 156, .blob_key_bit_size = 14, .key_bit_size = 14, .key_num_fields = 3, @@ -331,13 +331,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 10, + .cond_start_idx = 11, .cond_nums = 3 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 153, + .key_start_idx = 159, .blob_key_bit_size = 176, .key_bit_size = 176, .key_num_fields = 10, @@ -353,13 +353,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 13, + .cond_start_idx = 14, .cond_nums = 3 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 163, + .key_start_idx = 169, .blob_key_bit_size = 448, .key_bit_size = 448, .key_num_fields = 10, @@ -375,13 +375,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 16, + .cond_start_idx = 17, .cond_nums = 3 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 173, + .key_start_idx = 179, .blob_key_bit_size = 416, .key_bit_size = 416, .key_num_fields = 11, @@ -397,13 +397,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 19, + .cond_start_idx = 20, .cond_nums = 3 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 184, + .key_start_idx = 190, .blob_key_bit_size = 448, .key_bit_size = 448, .key_num_fields = 11, @@ -419,13 +419,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 22, + .cond_start_idx = 23, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 195, + .key_start_idx = 201, .blob_key_bit_size = 200, .key_bit_size = 200, .key_num_fields = 11, @@ -441,13 +441,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 23, + .cond_start_idx = 24, .cond_nums = 0 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 206, + .key_start_idx = 212, .blob_key_bit_size = 448, .key_bit_size = 448, .key_num_fields = 11, @@ -464,13 +464,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 5, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 24, + .cond_start_idx = 25, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 217, + .key_start_idx = 223, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -486,16 +486,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 25, + .cond_start_idx = 26, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 218, - .blob_key_bit_size = 56, - .key_bit_size = 56, - .key_num_fields = 2, + .key_start_idx = 224, + .blob_key_bit_size = 70, + .key_bit_size = 70, + .key_num_fields = 5, .ident_start_idx = 10, .ident_nums = 1 }, @@ -506,7 +506,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 25, + .cond_start_idx = 26, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, @@ -520,7 +520,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 27, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -529,7 +529,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 220, + .key_start_idx = 229, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, @@ -548,16 +548,16 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 27, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 233, - .blob_key_bit_size = 56, - .key_bit_size = 56, - .key_num_fields = 2, + .key_start_idx = 242, + .blob_key_bit_size = 70, + .key_bit_size = 70, + .key_num_fields = 5, .result_start_idx = 140, .result_bit_size = 62, .result_num_fields = 4 @@ -571,32 +571,51 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 26, + .cond_start_idx = 27, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 235, + .key_start_idx = 247, .blob_key_bit_size = 14, .key_bit_size = 14, .key_num_fields = 3, .ident_start_idx = 12, .ident_nums = 3 }, - { /* class_tid: 2, wh_plus, table: control.1 */ + { /* class_tid: 2, wh_plus, table: control.gen_tbl_miss */ .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, .direction = TF_DIR_TX, .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 4, + .cond_true_goto = 2, + .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 26, + .cond_start_idx = 27, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, .byte_order = BNXT_ULP_BYTE_ORDER_LE }, + { /* class_tid: 2, wh_plus, table: control.conflict_check */ + .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE, + .direction = TF_DIR_TX, + .execute_info = { + .cond_true_goto = 4, + .cond_false_goto = 1023, + .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, + .cond_start_idx = 28, + .cond_nums = 1 }, + .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, + .cc_upd_info = { + .cc_opc = BNXT_ULP_CC_UPD_OPC_EQ, + .cc_src1 = BNXT_ULP_CC_UPD_SRC_REGFILE, + .cc_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID, + .cc_src2 = BNXT_ULP_CC_UPD_SRC_COMP_FIELD, + .cc_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID, + .cc_dst_opr = BNXT_ULP_RF_IDX_CC }, + .byte_order = BNXT_ULP_BYTE_ORDER_LE + }, { /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */ .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE, .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM, @@ -605,7 +624,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 2, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 27, + .cond_start_idx = 29, .cond_nums = 1 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -614,7 +633,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 238, + .key_start_idx = 250, .blob_key_bit_size = 81, .key_bit_size = 81, .key_num_fields = 43, @@ -632,7 +651,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 28, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0, @@ -641,7 +660,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 281, + .key_start_idx = 293, .blob_key_bit_size = 81, .key_bit_size = 81, .key_num_fields = 43, @@ -660,13 +679,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 28, + .cond_start_idx = 30, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 324, + .key_start_idx = 336, .blob_key_bit_size = 14, .key_bit_size = 14, .key_num_fields = 3, @@ -682,13 +701,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 28, + .cond_start_idx = 30, .cond_nums = 2 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 327, + .key_start_idx = 339, .blob_key_bit_size = 176, .key_bit_size = 176, .key_num_fields = 10, @@ -704,13 +723,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 30, + .cond_start_idx = 32, .cond_nums = 2 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 337, + .key_start_idx = 349, .blob_key_bit_size = 448, .key_bit_size = 448, .key_num_fields = 10, @@ -726,13 +745,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 32, + .cond_start_idx = 34, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 347, + .key_start_idx = 359, .blob_key_bit_size = 416, .key_bit_size = 416, .key_num_fields = 11, @@ -748,13 +767,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 33, + .cond_start_idx = 35, .cond_nums = 0 }, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 358, + .key_start_idx = 370, .blob_key_bit_size = 448, .key_bit_size = 448, .key_num_fields = 11, @@ -762,29 +781,6 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .result_bit_size = 64, .result_num_fields = 9 }, - { /* class_tid: 3, wh_plus, table: port_table.wr */ - .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE, - .resource_sub_type = - BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE, - .direction = TF_DIR_RX, - .execute_info = { - .cond_true_goto = 1, - .cond_false_goto = 1, - .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 33, - .cond_nums = 0 }, - .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, - .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, - .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, - .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 369, - .blob_key_bit_size = 8, - .key_bit_size = 8, - .key_num_fields = 1, - .result_start_idx = 219, - .result_bit_size = 144, - .result_num_fields = 4 - }, { /* class_tid: 3, wh_plus, table: int_full_act_record.ing_0 */ .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE, .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD, @@ -795,14 +791,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 33, + .cond_start_idx = 35, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 223, + .result_start_idx = 219, .result_bit_size = 128, .result_num_fields = 26 }, @@ -815,13 +811,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 33, + .cond_start_idx = 35, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 370, + .key_start_idx = 381, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -835,7 +831,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 33, + .cond_start_idx = 35, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, @@ -849,7 +845,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -860,11 +856,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 371, + .key_start_idx = 382, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 249, + .result_start_idx = 245, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 17, @@ -879,17 +875,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 384, + .key_start_idx = 395, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .result_start_idx = 262, + .result_start_idx = 258, .result_bit_size = 62, .result_num_fields = 4 }, @@ -901,13 +897,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 266, + .result_start_idx = 262, .result_bit_size = 32, .result_num_fields = 1 }, @@ -919,13 +915,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 267, + .result_start_idx = 263, .result_bit_size = 32, .result_num_fields = 1 }, @@ -937,13 +933,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 34, + .cond_start_idx = 36, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 268, + .result_start_idx = 264, .result_bit_size = 32, .result_num_fields = 1 }, @@ -954,7 +950,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 6, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 34, + .cond_start_idx = 36, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE @@ -969,14 +965,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 35, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 269, + .result_start_idx = 265, .result_bit_size = 128, .result_num_fields = 26, .encap_num_fields = 0 @@ -990,13 +986,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 35, + .cond_start_idx = 37, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 385, + .key_start_idx = 396, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -1010,7 +1006,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 35, + .cond_start_idx = 37, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, @@ -1024,7 +1020,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 36, + .cond_start_idx = 38, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1033,11 +1029,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 386, + .key_start_idx = 397, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 295, + .result_start_idx = 291, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 18, @@ -1052,17 +1048,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 36, + .cond_start_idx = 38, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 399, + .key_start_idx = 410, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .result_start_idx = 308, + .result_start_idx = 304, .result_bit_size = 62, .result_num_fields = 4 }, @@ -1075,13 +1071,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 36, + .cond_start_idx = 38, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 400, + .key_start_idx = 411, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -1095,7 +1091,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 36, + .cond_start_idx = 38, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, @@ -1109,7 +1105,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 37, + .cond_start_idx = 39, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1118,11 +1114,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 401, + .key_start_idx = 412, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 312, + .result_start_idx = 308, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 18, @@ -1137,17 +1133,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 37, + .cond_start_idx = 39, .cond_nums = 2 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 414, + .key_start_idx = 425, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .result_start_idx = 325, + .result_start_idx = 321, .result_bit_size = 62, .result_num_fields = 4 }, @@ -1161,14 +1157,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 329, + .result_start_idx = 325, .result_bit_size = 128, .result_num_fields = 26, .encap_num_fields = 0 @@ -1181,13 +1177,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 355, + .result_start_idx = 351, .result_bit_size = 32, .result_num_fields = 1 }, @@ -1199,13 +1195,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 356, + .result_start_idx = 352, .result_bit_size = 32, .result_num_fields = 1 }, @@ -1217,13 +1213,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD, .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 357, + .result_start_idx = 353, .result_bit_size = 32, .result_num_fields = 1 }, @@ -1237,14 +1233,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE, .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_NOP, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 358, + .result_start_idx = 354, .result_bit_size = 128, .result_num_fields = 26, .encap_num_fields = 0 @@ -1258,13 +1254,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 415, + .key_start_idx = 426, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -1278,7 +1274,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 39, + .cond_start_idx = 41, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, @@ -1292,7 +1288,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1301,11 +1297,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 416, + .key_start_idx = 427, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 384, + .result_start_idx = 380, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 19, @@ -1320,17 +1316,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 429, + .key_start_idx = 440, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .result_start_idx = 397, + .result_start_idx = 393, .result_bit_size = 62, .result_num_fields = 4 }, @@ -1342,13 +1338,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 401, + .result_start_idx = 397, .result_bit_size = 32, .result_num_fields = 1 }, @@ -1360,13 +1356,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 402, + .result_start_idx = 398, .result_bit_size = 32, .result_num_fields = 1 }, @@ -1378,13 +1374,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST, .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 403, + .result_start_idx = 399, .result_bit_size = 32, .result_num_fields = 1 }, @@ -1398,14 +1394,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 404, + .result_start_idx = 400, .result_bit_size = 128, .result_num_fields = 26, .encap_num_fields = 0 @@ -1418,7 +1414,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1428,11 +1424,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 430, + .key_start_idx = 441, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 430, + .result_start_idx = 426, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 20, @@ -1447,13 +1443,13 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 443, + .key_start_idx = 454, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, @@ -1467,7 +1463,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 3, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND, - .cond_start_idx = 40, + .cond_start_idx = 42, .cond_nums = 1 }, .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE, .fdb_operand = BNXT_ULP_RF_IDX_RID, @@ -1481,7 +1477,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1490,11 +1486,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .pri_opcode = BNXT_ULP_PRI_OPC_CONST, .pri_operand = 0, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 444, + .key_start_idx = 455, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 443, + .result_start_idx = 439, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 20, @@ -1509,17 +1505,17 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE, .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 457, + .key_start_idx = 468, .blob_key_bit_size = 8, .key_bit_size = 8, .key_num_fields = 1, - .result_start_idx = 456, + .result_start_idx = 452, .result_bit_size = 62, .result_num_fields = 4 }, @@ -1533,14 +1529,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 460, + .result_start_idx = 456, .result_bit_size = 0, .result_num_fields = 0, .encap_num_fields = 12 @@ -1555,14 +1551,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 472, + .result_start_idx = 468, .result_bit_size = 128, .result_num_fields = 26 }, @@ -1576,14 +1572,14 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR, .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID, .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .result_start_idx = 498, + .result_start_idx = 494, .result_bit_size = 128, .result_num_fields = 26 }, @@ -1595,7 +1591,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 1, .cond_false_goto = 1, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1605,11 +1601,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 458, + .key_start_idx = 469, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 524, + .result_start_idx = 520, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 20, @@ -1623,7 +1619,7 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .cond_true_goto = 0, .cond_false_goto = 0, .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE, - .cond_start_idx = 41, + .cond_start_idx = 43, .cond_nums = 0 }, .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE, .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0, @@ -1633,11 +1629,11 @@ struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = { .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP, .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO, .byte_order = BNXT_ULP_BYTE_ORDER_LE, - .key_start_idx = 471, + .key_start_idx = 482, .blob_key_bit_size = 167, .key_bit_size = 167, .key_num_fields = 13, - .result_start_idx = 537, + .result_start_idx = 533, .result_bit_size = 64, .result_num_fields = 13, .ident_start_idx = 20, @@ -1689,11 +1685,15 @@ struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, - /* cond_execute: class_tid: 1, profile_tcam.vxlan */ + /* cond_execute: class_tid: 1, profile_tcam.ipv4_vxlan */ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN }, + { + .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, + .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4 + }, /* cond_execute: class_tid: 1, em.ipv4 */ { .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET, @@ -1761,11 +1761,16 @@ struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, - /* cond_execute: class_tid: 2, control.1 */ + /* cond_execute: class_tid: 2, control.gen_tbl_miss */ { .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS }, + /* cond_execute: class_tid: 2, control.conflict_check */ + { + .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET, + .cond_operand = BNXT_ULP_RF_IDX_CC + }, /* cond_execute: class_tid: 2, profile_tcam.ipv4 */ { .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET, @@ -1838,8 +1843,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -1848,8 +1852,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -1861,8 +1864,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -1871,8 +1873,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -1880,11 +1881,85 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { } }, { + .field_info_mask = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} + } + }, + { + .field_info_mask = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { .field_info_mask = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -1893,8 +1968,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -1906,37 +1980,55 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff} + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff} + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -1944,8 +2036,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -1954,8 +2045,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -1966,8 +2056,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -1976,8 +2065,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -1988,15 +2076,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2004,15 +2090,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2020,15 +2104,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2036,15 +2118,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2052,17 +2132,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff, @@ -2073,15 +2151,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2089,15 +2165,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2105,15 +2179,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2121,8 +2193,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -2130,8 +2201,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -2142,8 +2212,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -2152,8 +2221,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -2161,11 +2229,85 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { } }, { + .field_info_mask = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} + } + }, + { + .field_info_mask = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { .field_info_mask = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -2174,8 +2316,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -2187,17 +2328,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2205,26 +2344,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -2233,17 +2371,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, @@ -2255,15 +2391,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2271,20 +2405,20 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4 & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, @@ -2293,11 +2427,11 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_L4_HDR_TYPE_TCP}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_L4_HDR_TYPE_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_L4_HDR_TYPE_UDP} } }, @@ -2305,8 +2439,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -2315,8 +2448,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2324,8 +2456,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -2334,8 +2465,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -2346,15 +2476,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2362,15 +2490,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2378,15 +2504,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2394,17 +2518,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2412,17 +2534,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2430,17 +2550,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L3_HDR_VALID_YES} @@ -2450,17 +2568,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2468,17 +2584,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, @@ -2489,17 +2603,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2507,17 +2619,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2525,17 +2635,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2543,17 +2651,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L2_HDR_VALID_YES} @@ -2563,15 +2669,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2579,15 +2683,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2595,15 +2697,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2611,17 +2711,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2629,15 +2727,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2645,15 +2741,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2661,15 +2755,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2677,17 +2769,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2695,15 +2785,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2711,15 +2799,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2727,15 +2813,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2743,15 +2827,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2759,15 +2841,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2775,17 +2855,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2793,15 +2871,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2809,15 +2885,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2825,15 +2899,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2841,15 +2913,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2857,17 +2927,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2875,15 +2943,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2891,15 +2957,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2907,26 +2971,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -2935,15 +2998,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2951,15 +3012,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2967,15 +3026,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2983,15 +3040,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -2999,8 +3054,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -3008,8 +3062,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -3020,15 +3073,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3036,20 +3087,20 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4 & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, @@ -3058,11 +3109,11 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_L4_HDR_TYPE_TCP}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_L4_HDR_TYPE_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_L4_HDR_TYPE_UDP} } }, @@ -3070,8 +3121,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -3080,8 +3130,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3089,8 +3138,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -3099,8 +3147,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -3111,15 +3158,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3127,15 +3172,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3143,15 +3186,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3159,17 +3200,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L3_HDR_TYPE_IPV6} @@ -3179,17 +3218,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3197,17 +3234,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L3_HDR_VALID_YES} @@ -3217,17 +3252,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3235,17 +3268,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, @@ -3256,17 +3287,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3274,17 +3303,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3292,17 +3319,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3310,17 +3335,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L2_HDR_VALID_YES} @@ -3330,15 +3353,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3346,15 +3367,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3362,15 +3381,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3378,17 +3395,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3396,15 +3411,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3412,15 +3425,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3428,15 +3439,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3444,17 +3453,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3462,15 +3469,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3478,15 +3483,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3494,15 +3497,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3510,15 +3511,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3526,15 +3525,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3542,17 +3539,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3560,15 +3555,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3576,15 +3569,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3592,15 +3583,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3608,15 +3597,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3624,17 +3611,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3642,15 +3627,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3658,15 +3641,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3674,26 +3655,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -3702,15 +3682,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3718,15 +3696,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3734,15 +3710,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3750,15 +3724,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3766,8 +3738,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -3775,27 +3746,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} } }, - /* class_tid: 1, wh_plus, table: profile_tcam.vxlan */ + /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */ { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3803,17 +3771,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L4_HDR_TYPE_UDP} @@ -3823,17 +3789,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3841,15 +3805,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3857,15 +3819,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3873,15 +3833,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3889,15 +3847,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3905,15 +3861,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3921,17 +3875,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3939,15 +3891,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3955,15 +3905,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3971,15 +3919,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -3987,15 +3933,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4003,15 +3947,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4019,15 +3961,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4035,15 +3975,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4051,15 +3989,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4067,17 +4003,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4085,15 +4019,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4101,17 +4033,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_TUN_HDR_VALID_YES} @@ -4121,15 +4051,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4137,15 +4065,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4153,15 +4079,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4169,17 +4093,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_TL4_HDR_VALID_YES} @@ -4189,15 +4111,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4205,15 +4125,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4221,15 +4139,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4237,15 +4153,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4253,15 +4169,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4269,17 +4183,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_TL3_HDR_VALID_YES} @@ -4289,15 +4201,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4305,15 +4215,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4321,17 +4229,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4339,15 +4245,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4355,17 +4259,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_TL2_HDR_VALID_YES} @@ -4375,15 +4277,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4391,15 +4291,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4407,17 +4305,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, @@ -4428,15 +4324,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4444,15 +4338,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4460,15 +4352,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4476,15 +4366,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4492,8 +4380,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4501,8 +4388,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -4513,17 +4399,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4531,26 +4415,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -4559,17 +4442,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, @@ -4581,15 +4462,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4597,15 +4476,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4613,9 +4490,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -4623,25 +4499,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -4649,136 +4524,108 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, .field_info_spec = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} } }, { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -4786,8 +4633,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -4798,17 +4644,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -4820,15 +4664,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 275, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 275, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4836,15 +4678,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -4852,9 +4692,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -4862,25 +4701,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -4888,136 +4726,108 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, .field_info_spec = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} } }, { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5025,8 +4835,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -5037,17 +4846,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -5059,15 +4866,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5075,15 +4880,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5091,9 +4894,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5101,25 +4903,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5127,142 +4928,113 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, .field_info_spec = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} } }, { .field_info_mask = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5270,9 +5042,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5280,8 +5051,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -5292,17 +5062,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -5314,15 +5082,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 35, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 35, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5330,15 +5096,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5346,9 +5110,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5356,25 +5119,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5382,142 +5144,113 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} }, .field_info_spec = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff} } }, { .field_info_mask = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5525,9 +5258,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5535,8 +5267,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -5547,17 +5278,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -5569,15 +5298,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5585,15 +5312,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5601,15 +5326,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5617,40 +5340,45 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { .description = "tl4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (4789 >> 8) & 0xff, + 4789 & 0xff} } }, { .field_info_mask = { .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 17} } }, { .field_info_mask = { .description = "tl3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, @@ -5659,8 +5387,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "tl3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, @@ -5671,15 +5398,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5687,15 +5412,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2.src", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2.src", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5703,15 +5426,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_id", .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_id", .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5719,9 +5440,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5729,8 +5449,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -5741,17 +5460,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -5763,15 +5480,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 251, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 251, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5779,15 +5494,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5795,31 +5508,33 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff, + 0xff} }, .field_info_spec = { .description = "tl4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + (4789 >> 8) & 0xff, + 4789 & 0xff} } }, { .field_info_mask = { .description = "tl4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5827,24 +5542,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} }, .field_info_spec = { .description = "tl3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 17} } }, { .field_info_mask = { .description = "tl3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, @@ -5853,8 +5569,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "tl3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, @@ -5865,15 +5580,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5881,15 +5594,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2.src", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2.src", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5897,15 +5608,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_id", .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_id", .field_bit_size = 24, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -5913,9 +5622,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -5923,8 +5631,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -5935,17 +5642,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -5957,8 +5662,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -5967,8 +5671,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -5980,8 +5683,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -5990,8 +5692,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -5999,11 +5700,85 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { } }, { + .field_info_mask = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} + } + }, + { + .field_info_mask = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { .field_info_mask = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -6012,8 +5787,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -6025,37 +5799,55 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff} + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_HF, - .field_opr1 = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff} + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6063,8 +5855,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -6073,8 +5864,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -6085,8 +5875,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -6095,8 +5884,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -6107,15 +5895,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6123,15 +5909,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6139,15 +5923,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6155,15 +5937,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6171,17 +5951,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff, @@ -6192,15 +5970,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6208,15 +5984,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6224,15 +5998,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6240,8 +6012,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -6249,8 +6020,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -6261,8 +6031,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -6271,8 +6040,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff, @@ -6280,11 +6048,85 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { } }, { + .field_info_mask = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "tun_hdr", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { + .field_info_mask = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, + .field_opr1 = { + 0xff} + }, + .field_info_spec = { + .description = "one_tag", + .field_bit_size = 1, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { + (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff} + } + }, + { + .field_info_mask = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + }, + .field_info_spec = { + .description = "vid", + .field_bit_size = 12, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff, + ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff, + (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_HF, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO + } + }, + { .field_info_mask = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -6293,8 +6135,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "mac_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -6306,17 +6147,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6324,26 +6163,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -6352,17 +6190,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, @@ -6374,15 +6210,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6390,20 +6224,20 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4 & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, @@ -6412,11 +6246,11 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_L4_HDR_TYPE_TCP}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_L4_HDR_TYPE_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_L4_HDR_TYPE_UDP} } }, @@ -6424,8 +6258,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -6434,8 +6267,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6443,8 +6275,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -6453,8 +6284,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -6465,15 +6295,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6481,15 +6309,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6497,15 +6323,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6513,17 +6337,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6531,17 +6353,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6549,17 +6369,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L3_HDR_VALID_YES} @@ -6569,17 +6387,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6587,17 +6403,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, @@ -6608,17 +6422,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6626,17 +6438,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6644,17 +6454,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6662,17 +6470,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L2_HDR_VALID_YES} @@ -6682,15 +6488,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6698,15 +6502,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6714,15 +6516,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6730,17 +6530,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6748,15 +6546,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6764,15 +6560,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6780,15 +6574,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6796,17 +6588,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6814,15 +6604,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6830,15 +6618,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6846,15 +6632,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6862,15 +6646,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6878,15 +6660,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6894,17 +6674,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6912,15 +6690,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6928,15 +6704,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6944,15 +6718,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6960,15 +6732,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6976,17 +6746,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -6994,15 +6762,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7010,15 +6776,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7026,26 +6790,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -7054,15 +6817,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7070,15 +6831,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7086,15 +6845,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7102,15 +6859,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7118,8 +6873,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -7127,8 +6881,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -7139,15 +6892,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7155,20 +6906,20 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4 & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_ONES, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src2 = BNXT_ULP_FIELD_SRC_ONES, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT, + .field_opr1 = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff, @@ -7177,11 +6928,11 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff, ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff, (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_L4_HDR_TYPE_TCP}, .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_L4_HDR_TYPE_TCP}, + .field_src3 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr3 = { ULP_WP_SYM_L4_HDR_TYPE_UDP} } }, @@ -7189,8 +6940,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -7199,8 +6949,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7208,8 +6957,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -7218,8 +6966,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, @@ -7230,15 +6977,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7246,15 +6991,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7262,15 +7005,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7278,17 +7019,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L3_HDR_TYPE_IPV6} @@ -7298,17 +7037,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7316,17 +7053,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L3_HDR_VALID_YES} @@ -7336,17 +7071,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7354,17 +7087,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff, @@ -7375,17 +7106,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7393,17 +7122,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7411,17 +7138,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7429,17 +7154,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_L2_HDR_VALID_YES} @@ -7449,15 +7172,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_flags", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7465,15 +7186,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7481,15 +7200,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_err", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7497,17 +7214,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7515,15 +7230,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_is_udp_tcp", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7531,15 +7244,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7547,15 +7258,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl4_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7563,17 +7272,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl4_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7581,15 +7288,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_dst", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7597,15 +7302,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_ipv6_cmp_src", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7613,15 +7316,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_isIP", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7629,15 +7330,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7645,15 +7344,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl3_hdr_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7661,17 +7358,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl3_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7679,15 +7374,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_two_vtags", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7695,15 +7388,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_vtag_present", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7711,15 +7402,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_uc_mc_bc", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7727,15 +7416,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_hdr_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7743,17 +7430,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tl2_hdr_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7761,15 +7446,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "hrec_next", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7777,15 +7460,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "reserved", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7793,26 +7474,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -7821,15 +7501,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "agg_error", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7837,15 +7515,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7853,15 +7529,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_0", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7869,15 +7543,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "pkt_type_1", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7885,8 +7557,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -7894,8 +7565,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -7906,17 +7576,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "recycle_cnt", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7924,26 +7592,25 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, - .field_opr1 = { - (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, - BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr2 = { + (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, + BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF, + .field_opr3 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff} } @@ -7952,17 +7619,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "hdr_sig_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff, @@ -7974,15 +7639,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -7990,15 +7653,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8006,9 +7667,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8016,25 +7676,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8042,136 +7701,108 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} }, .field_info_spec = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} } }, { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8179,8 +7810,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -8191,17 +7821,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -8213,15 +7841,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 275, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 275, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8229,15 +7855,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8245,9 +7869,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8255,25 +7878,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8281,136 +7903,108 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} }, .field_info_spec = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} } }, { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8418,8 +8012,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -8430,17 +8023,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -8452,15 +8043,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8468,15 +8057,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8484,9 +8071,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8494,25 +8080,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8520,112 +8105,93 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8633,39 +8199,28 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} }, .field_info_spec = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} } }, { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8673,8 +8228,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -8685,17 +8239,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -8707,15 +8259,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "spare", .field_bit_size = 35, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "spare", .field_bit_size = 35, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8723,15 +8273,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "local_cos", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8739,9 +8287,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8749,25 +8296,24 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.dst", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8775,112 +8321,93 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l4.src", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { - (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff, BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l3.prot", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_opr2 = { (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff} + BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_ZERO } }, { .field_info_mask = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} }, .field_info_spec = { .description = "l3.dst", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff} } }, { .field_info_mask = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} }, .field_info_spec = { .description = "l3.src", .field_bit_size = 128, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff} } }, { .field_info_mask = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2.smac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -8888,39 +8415,28 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} }, .field_info_spec = { .description = "l2.dmac", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_FIELD_BIT, - .field_cond_opr = { - (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_HF, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, - BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}, - .field_src2 = BNXT_ULP_FIELD_SRC_ZERO + BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff} } }, { .field_info_mask = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -8928,8 +8444,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -8940,61 +8455,35 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff} } }, - /* class_tid: 3, wh_plus, table: port_table.wr */ - { - .field_info_mask = { - .description = "dev.port_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - 0xff} - }, - .field_info_spec = { - .description = "dev.port_id", - .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff} - } - }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_rd */ { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, @@ -9006,15 +8495,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9022,15 +8509,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9038,15 +8523,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9054,17 +8537,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, @@ -9075,15 +8556,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9091,15 +8570,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9107,15 +8584,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9123,15 +8598,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9139,15 +8612,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9155,15 +8626,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9171,15 +8640,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9187,15 +8654,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9203,8 +8668,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9212,8 +8676,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9224,17 +8687,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff, @@ -9246,17 +8707,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -9268,15 +8727,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9284,15 +8741,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9300,15 +8755,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9316,17 +8769,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -9337,15 +8788,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9353,15 +8802,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9369,15 +8816,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9385,15 +8830,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9401,15 +8844,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9417,15 +8858,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9433,15 +8872,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9449,15 +8886,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9465,8 +8900,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9474,8 +8908,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9486,17 +8919,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -9508,17 +8939,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -9530,15 +8959,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9546,15 +8973,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9562,15 +8987,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9578,17 +9001,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -9599,15 +9020,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9615,15 +9034,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9631,15 +9048,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9647,15 +9062,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9663,15 +9076,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9679,15 +9090,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9695,15 +9104,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9711,15 +9118,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9727,8 +9132,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9736,8 +9140,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9748,17 +9151,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -9770,17 +9171,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, @@ -9792,15 +9191,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9808,15 +9205,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9824,15 +9219,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9840,17 +9233,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, @@ -9861,15 +9252,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9877,15 +9266,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9893,15 +9280,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9909,15 +9294,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9925,15 +9308,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9941,15 +9322,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9957,15 +9336,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9973,15 +9350,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -9989,8 +9364,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -9998,8 +9372,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10010,17 +9383,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, @@ -10032,15 +9403,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10048,15 +9417,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10064,15 +9431,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10080,17 +9445,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff, @@ -10101,15 +9464,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10117,15 +9478,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10133,15 +9492,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10149,15 +9506,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10165,15 +9520,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10181,15 +9534,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10197,15 +9548,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10213,15 +9562,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10229,8 +9576,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10238,8 +9584,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10250,17 +9595,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -10272,15 +9615,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10288,15 +9629,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10304,15 +9643,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10320,17 +9657,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -10341,15 +9676,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10357,15 +9690,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10373,15 +9704,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10389,15 +9718,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10405,15 +9732,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10421,15 +9746,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10437,15 +9760,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10453,15 +9774,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10469,8 +9788,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10478,8 +9796,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10490,17 +9807,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -10512,15 +9827,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10528,9 +9841,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -10538,8 +9850,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, @@ -10550,15 +9861,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10566,17 +9875,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -10587,15 +9894,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10603,15 +9908,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10619,15 +9922,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10635,15 +9936,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10651,17 +9950,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 2} @@ -10671,15 +9968,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10687,17 +9982,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_TUN_HDR_TYPE_NONE} @@ -10707,15 +10000,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10723,8 +10014,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10732,8 +10022,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10744,9 +10033,8 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff, 0xff} @@ -10754,8 +10042,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "l2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, @@ -10766,15 +10053,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "l2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10782,15 +10067,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac0_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10798,17 +10081,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "svif", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff, @@ -10819,15 +10100,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "sparif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10835,15 +10114,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ivlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10851,15 +10128,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_ovlan_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10867,15 +10142,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "mac1_addr", .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10883,17 +10156,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "l2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10903,15 +10174,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "tl2_num_vtags", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10919,17 +10188,15 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ONES, .field_opr1 = { 0xff} }, .field_info_spec = { .description = "tun_hdr_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_TUN_HDR_TYPE_NONE} @@ -10939,15 +10206,13 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, .field_info_spec = { .description = "key_type", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }, @@ -10955,8 +10220,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_mask = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10964,8 +10228,7 @@ struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = { .field_info_spec = { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -10978,8 +10241,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -10988,8 +10250,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, @@ -10998,15 +10259,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, @@ -11015,50 +10274,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11066,23 +10318,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 1, wh_plus, table: mac_addr_cache.wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -11091,18 +10340,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, - BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff} + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -11111,37 +10355,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */ { .description = "wc_key_id", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.0", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11149,8 +10388,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.1", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -11159,8 +10397,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.2", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, @@ -11169,8 +10406,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.3", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, @@ -11179,59 +10415,68 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.4", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff} }, { .description = "em_key_mask.5", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} }, { .description = "em_key_mask.6", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} }, { .description = "em_key_mask.7", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.8", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.9", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -11239,8 +10484,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -11249,8 +10493,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11258,37 +10501,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pl_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */ { .description = "wc_key_id", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.0", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11296,15 +10534,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.1", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.2", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff, @@ -11313,8 +10549,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.3", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, @@ -11323,8 +10558,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.4", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, @@ -11333,52 +10567,62 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.5", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff} }, { .description = "em_key_mask.6", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} }, { .description = "em_key_mask.7", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} }, { .description = "em_key_mask.8", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.9", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 7} @@ -11386,8 +10630,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -11396,8 +10639,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11405,37 +10647,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pl_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, - /* class_tid: 1, wh_plus, table: profile_tcam.vxlan */ + /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */ { .description = "wc_key_id", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.0", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11443,29 +10680,25 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.1", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.2", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.3", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.4", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11473,43 +10706,41 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.5", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, { .description = "em_key_mask.6", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_CONST, + .field_opr1 = { + 1} }, { .description = "em_key_mask.7", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.8", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.9", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 20} @@ -11517,8 +10748,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -11527,8 +10757,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11536,16 +10765,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pl_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -11554,8 +10781,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "profile_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff, @@ -11564,8 +10790,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -11574,15 +10799,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_sig_id", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff, @@ -11592,8 +10815,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -11602,43 +10824,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -11646,15 +10862,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11663,8 +10877,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -11673,22 +10886,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, @@ -11697,8 +10907,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (173 >> 8) & 0xff, @@ -11707,15 +10916,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -11723,15 +10930,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11740,8 +10945,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -11750,43 +10954,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -11794,15 +10992,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11811,8 +11007,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -11821,22 +11016,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, @@ -11845,8 +11037,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (413 >> 8) & 0xff, @@ -11855,15 +11046,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -11871,15 +11060,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11888,8 +11075,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -11898,43 +11084,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -11942,15 +11122,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -11959,8 +11137,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -11969,22 +11146,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, @@ -11993,8 +11167,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (197 >> 8) & 0xff, @@ -12003,15 +11176,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -12019,15 +11190,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12036,8 +11205,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -12046,8 +11214,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff, @@ -12056,66 +11223,59 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_CF, - .field_cond_opr = { + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3, + .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opr1 = { (BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP >> 8) & 0xff, BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP & 0xff}, - .field_src1 = BNXT_ULP_FIELD_SRC_CONST, - .field_opr1 = { - ULP_WP_SYM_LOOPBACK_PARIF}, - .field_src2 = BNXT_ULP_FIELD_SRC_CF, + .field_src2 = BNXT_ULP_FIELD_SRC_CONST, .field_opr2 = { + ULP_WP_SYM_LOOPBACK_PARIF}, + .field_src3 = BNXT_ULP_FIELD_SRC_CF, + .field_opr3 = { (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff, BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff} }, { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff, @@ -12124,8 +11284,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12133,23 +11292,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 2, wh_plus, table: mac_addr_cache.wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -12158,8 +11314,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, @@ -12168,8 +11323,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -12178,37 +11332,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */ { .description = "wc_key_id", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.0", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12216,8 +11365,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.1", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -12226,8 +11374,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.2", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff, @@ -12236,8 +11383,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.3", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff, @@ -12246,59 +11392,68 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.4", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff} }, { .description = "em_key_mask.5", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} }, { .description = "em_key_mask.6", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} }, { .description = "em_key_mask.7", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.8", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.9", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 4} @@ -12306,8 +11461,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -12316,8 +11470,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12325,37 +11478,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pl_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */ { .description = "wc_key_id", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "wc_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.0", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12363,8 +11511,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.1", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff, @@ -12373,15 +11520,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.2", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.3", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff, @@ -12390,8 +11535,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.4", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff, @@ -12400,52 +11544,62 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_key_mask.5", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, + .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L3_FB_PROTO_ID & 0xff} + (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff} }, { .description = "em_key_mask.6", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_SRC_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff} }, { .description = "em_key_mask.7", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { - (BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT >> 8) & 0xff, - BNXT_ULP_CF_IDX_O_L4_FB_DST_PORT & 0xff} + (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff, + BNXT_ULP_CF_IDX_O_L4 & 0xff}, + .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr2 = { + (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}, + .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT, + .field_opr3 = { + (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff, + BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff} }, { .description = "em_key_mask.8", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_mask.9", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "em_key_id", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 7} @@ -12453,8 +11607,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -12463,8 +11616,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_search_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12472,16 +11624,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pl_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 2, wh_plus, table: profile_tcam_cache.wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -12490,8 +11640,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "profile_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff, @@ -12500,8 +11649,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "em_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff, @@ -12510,15 +11658,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "wc_profile_id", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_sig_id", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff, @@ -12528,8 +11674,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -12538,43 +11683,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -12582,15 +11721,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12599,8 +11736,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -12609,22 +11745,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, @@ -12633,8 +11766,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (173 >> 8) & 0xff, @@ -12643,15 +11775,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -12659,15 +11789,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12676,8 +11804,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -12686,43 +11813,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -12730,15 +11851,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -12747,8 +11866,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 33, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -12757,22 +11875,19 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ext_flow_cntr", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_int", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "act_rec_size", .field_bit_size = 5, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff, @@ -12781,8 +11896,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "key_size", .field_bit_size = 9, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (413 >> 8) & 0xff, @@ -12791,15 +11905,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "strength", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 3} @@ -12807,200 +11919,136 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l1_cacheable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} }, - /* class_tid: 3, wh_plus, table: port_table.wr */ - { - .description = "rid", - .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_ZERO - }, - { - .description = "drv_func.mac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_PORT_TABLE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}, - .field_opr2 = { - (BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_MAC & 0xff} - }, - { - .description = "drv_func.parent.mac", - .field_bit_size = 48, - .field_opc = BNXT_ULP_FIELD_OPC_PORT_TABLE, - .field_src1 = BNXT_ULP_FIELD_SRC_CF, - .field_opr1 = { - (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, - BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}, - .field_opr2 = { - (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC >> 8) & 0xff, - BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_MAC & 0xff} - }, - { - .description = "default_arec_ptr", - .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, - .field_src1 = BNXT_ULP_FIELD_SRC_RF, - .field_opr1 = { - (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff, - BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff} - }, /* class_tid: 3, wh_plus, table: int_full_act_record.ing_0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, @@ -13009,51 +12057,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */ { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -13062,8 +12103,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, @@ -13072,15 +12112,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff, @@ -13089,50 +12127,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -13140,23 +12171,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -13165,8 +12193,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, @@ -13175,8 +12202,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -13185,16 +12211,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.ing_0 */ { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -13204,8 +12228,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -13215,8 +12238,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -13226,141 +12248,121 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff, @@ -13369,65 +12371,56 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */ { .description = "act_record_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -13435,8 +12428,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff, @@ -13445,36 +12437,31 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -13482,15 +12469,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -13498,23 +12483,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -13523,8 +12505,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, @@ -13533,23 +12514,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */ { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -13558,8 +12536,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, @@ -13568,15 +12545,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff, @@ -13585,50 +12560,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -13636,23 +12604,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -13661,8 +12626,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, @@ -13671,8 +12635,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -13681,149 +12644,128 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: int_full_act_record.egr_0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff, @@ -13832,51 +12774,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.egr_0 */ { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -13886,8 +12821,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -13897,8 +12831,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -13908,141 +12841,121 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff, @@ -14051,51 +12964,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */ { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -14104,8 +13010,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "prof_func_id", .field_bit_size = 7, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff, @@ -14114,15 +13019,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_LOOPBACK_PARIF} @@ -14130,50 +13033,43 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14181,23 +13077,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_wr */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -14206,8 +13099,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, @@ -14216,8 +13108,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff, @@ -14226,16 +13117,14 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: parif_def_lkup_arec_ptr.vf_egr */ { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, @@ -14245,8 +13134,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, @@ -14256,8 +13144,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "act_rec_ptr", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF, .field_opr1 = { (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff, @@ -14267,141 +13154,121 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff, @@ -14410,51 +13277,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */ { .description = "act_record_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -14463,15 +13323,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14479,57 +13337,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14537,37 +13387,32 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */ { .description = "act_record_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "reserved", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14575,43 +13420,37 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14619,15 +13458,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14635,23 +13472,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */ { .description = "rid", .field_bit_size = 32, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_RID >> 8) & 0xff, @@ -14660,8 +13494,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_tcam_index", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff, @@ -14670,51 +13503,44 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "l2_cntxt_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_property_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: int_vtag_encap_record.vfr_egr0 */ { .description = "ecv_tun_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l4_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l3_type", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_l2_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_vtag_type", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI} @@ -14722,15 +13548,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "ecv_custom_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "ecv_valid", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -14738,8 +13562,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "vtag_tpid", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 0x81, @@ -14748,8 +13571,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "vtag_vid", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff, @@ -14758,86 +13580,74 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "vtag_de", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vtag_pcp", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "spare", .field_bit_size = 80, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_egr0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff, @@ -14846,78 +13656,67 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff, @@ -14926,184 +13725,158 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_ing0 */ { .description = "flow_cntr_ptr", .field_bit_size = 14, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "age_enable", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "agg_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "rate_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "flow_cntr_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_key", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_mir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcpflags_match", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "encap_ptr", .field_bit_size = 11, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "dst_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_dst_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "src_ip_ptr", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tcp_src_port", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "meter_id", .field_bit_size = 10, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_rdir", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tl3_ttl_dec", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "decap_func", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "vnic_or_vport", .field_bit_size = 12, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CF, .field_opr1 = { (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff, @@ -15112,8 +13885,7 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pop_vlan", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -15121,44 +13893,38 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "meter", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "mirror", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "drop", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "hit", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "type", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */ { .description = "act_record_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -15167,15 +13933,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -15183,57 +13947,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -15241,23 +13997,20 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */ { .description = "act_record_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_RF, .field_opr1 = { (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff, @@ -15266,15 +14019,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "reserved", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "l2_byp_lkup_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -15282,57 +14033,49 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "parif", .field_bit_size = 4, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_pri", .field_bit_size = 8, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_pri", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "allowed_tpid", .field_bit_size = 6, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "default_tpid", .field_bit_size = 3, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "bd_act_en", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "sp_rec_ptr", .field_bit_size = 16, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "byp_sp_lkup", .field_bit_size = 1, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_CONST, .field_opr1 = { 1} @@ -15340,15 +14083,13 @@ struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = { { .description = "pri_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO }, { .description = "tpid_anti_spoof_ctl", .field_bit_size = 2, - .field_opc = BNXT_ULP_FIELD_OPC_COND_OP, - .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE, + .field_opc = BNXT_ULP_FIELD_OPC_SRC1, .field_src1 = BNXT_ULP_FIELD_SRC_ZERO } }; @@ -15414,7 +14155,7 @@ struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = { .ident_bit_size = 8, .ident_bit_pos = 28 }, - /* class_tid: 1, wh_plus, table: profile_tcam.vxlan */ + /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */ { .description = "em_profile_id", .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER, diff --git a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h index ee5fbdedaa..6d2b226026 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_template_struct.h +++ b/drivers/net/bnxt/tf_ulp/ulp_template_struct.h @@ -287,13 +287,12 @@ struct bnxt_ulp_mapper_field_info { uint8_t description[64]; uint16_t field_bit_size; enum bnxt_ulp_field_opc field_opc; - enum bnxt_ulp_field_cond_src field_cond_src; - uint8_t field_cond_opr[16]; enum bnxt_ulp_field_src field_src1; uint8_t field_opr1[16]; enum bnxt_ulp_field_src field_src2; uint8_t field_opr2[16]; - + enum bnxt_ulp_field_src field_src3; + uint8_t field_opr3[16]; }; struct bnxt_ulp_mapper_key_info { diff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.c b/drivers/net/bnxt/tf_ulp/ulp_utils.c index 329799ea6a..1649e157f2 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_utils.c +++ b/drivers/net/bnxt/tf_ulp/ulp_utils.c @@ -448,7 +448,7 @@ ulp_blob_push_32(struct ulp_blob *blob, * The offset of the data is updated after each push of data. * NULL returned on error, pointer pushed value otherwise. */ -uint32_t +int32_t ulp_blob_push_encap(struct ulp_blob *blob, uint8_t *data, uint32_t datalen) @@ -460,7 +460,7 @@ ulp_blob_push_encap(struct ulp_blob *blob, if (!blob || !data || datalen > (uint32_t)(blob->bitlen - blob->write_idx)) { BNXT_TF_DBG(ERR, "invalid argument\n"); - return 0; + return -1; } initial_size = ULP_BYTE_2_BITS(sizeof(uint64_t)) - @@ -479,7 +479,7 @@ ulp_blob_push_encap(struct ulp_blob *blob, } if (!ulp_blob_push(blob, val, size)) { BNXT_TF_DBG(ERR, "push field failed\n"); - return 0; + return -1; } val += ULP_BITS_2_BYTE(size); write_size -= size; diff --git a/drivers/net/bnxt/tf_ulp/ulp_utils.h b/drivers/net/bnxt/tf_ulp/ulp_utils.h index 5dd22cf8c3..209c8fa6a4 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_utils.h +++ b/drivers/net/bnxt/tf_ulp/ulp_utils.h @@ -272,7 +272,7 @@ ulp_blob_push_32(struct ulp_blob *blob, * The offset of the data is updated after each push of data. * NULL returned on error, pointer pushed value otherwise. */ -uint32_t +int32_t ulp_blob_push_encap(struct ulp_blob *blob, uint8_t *data, uint32_t datalen);