*
* Returns array of Key fields, or NULL on error.
*/
-static struct bnxt_ulp_mapper_class_key_field_info *
+static struct bnxt_ulp_mapper_key_field_info *
ulp_mapper_key_fields_get(struct bnxt_ulp_mapper_parms *mparms,
struct bnxt_ulp_mapper_tbl_info *tbl,
uint32_t *num_flds)
static int32_t
ulp_mapper_keymask_field_process(struct bnxt_ulp_mapper_parms *parms,
enum tf_dir dir,
- struct bnxt_ulp_mapper_class_key_field_info *f,
+ struct bnxt_ulp_mapper_key_field_info *f,
struct ulp_blob *blob,
uint8_t is_key,
const char *name)
uint8_t *operand;
struct ulp_regfile *regfile = parms->regfile;
uint8_t *val = NULL;
- struct bnxt_ulp_mapper_class_key_field_info *fld = f;
+ struct bnxt_ulp_mapper_key_field_info *fld = f;
uint32_t field_size;
if (is_key) {
ulp_mapper_tcam_tbl_process(struct bnxt_ulp_mapper_parms *parms,
struct bnxt_ulp_mapper_tbl_info *tbl)
{
- struct bnxt_ulp_mapper_class_key_field_info *kflds;
+ struct bnxt_ulp_mapper_key_field_info *kflds;
struct ulp_blob key, mask, data, update_data;
uint32_t i, num_kflds;
struct tf *tfp;
ulp_mapper_em_tbl_process(struct bnxt_ulp_mapper_parms *parms,
struct bnxt_ulp_mapper_tbl_info *tbl)
{
- struct bnxt_ulp_mapper_class_key_field_info *kflds;
+ struct bnxt_ulp_mapper_key_field_info *kflds;
struct bnxt_ulp_mapper_result_field_info *dflds;
struct ulp_blob key, data;
uint32_t i, num_kflds, num_dflds;
ulp_mapper_cache_tbl_process(struct bnxt_ulp_mapper_parms *parms,
struct bnxt_ulp_mapper_tbl_info *tbl)
{
- struct bnxt_ulp_mapper_class_key_field_info *kflds;
+ struct bnxt_ulp_mapper_key_field_info *kflds;
struct bnxt_ulp_mapper_cache_entry *cache_entry;
struct bnxt_ulp_mapper_ident_info *idents;
uint32_t i, num_kflds = 0, num_idents = 0;
#include "ulp_template_struct.h"
#include "ulp_rte_parser.h"
-struct bnxt_ulp_mapper_tbl_list_info ulp_act_stingray_tmpl_list[] = {
+struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_act_tmpl_list[] = {
[1] = {
.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
.num_tbls = 6,
}
};
-struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[] = {
+struct bnxt_ulp_mapper_tbl_info ulp_stingray_act_tbl_list[] = {
{
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_STATS_64,
}
};
-struct bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[] = {
+struct bnxt_ulp_mapper_result_field_info ulp_stingray_act_result_field_list[] = {
{
.field_bit_size = 64,
.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
#include "ulp_template_struct.h"
#include "ulp_rte_parser.h"
-struct bnxt_ulp_mapper_tbl_list_info ulp_class_stingray_tmpl_list[] = {
+struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_class_tmpl_list[] = {
[1] = {
.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
.num_tbls = 6,
}
};
-struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[] = {
+struct bnxt_ulp_mapper_tbl_info ulp_stingray_class_tbl_list[] = {
{
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
}
};
-struct bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[] = {
+struct bnxt_ulp_mapper_key_field_info ulp_stingray_class_key_field_list[] = {
{
.field_bit_size = 12,
.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
}
};
-struct bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[] = {
+struct bnxt_ulp_mapper_result_field_info ulp_stingray_class_result_field_list[] = {
{
.field_bit_size = 14,
.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
}
};
-struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[] = {
+struct bnxt_ulp_mapper_ident_info ulp_stingray_class_ident_list[] = {
{
.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
const struct ulp_template_device_tbls ulp_template_stingray_tbls[] = {
[BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
- .tmpl_list = ulp_class_stingray_tmpl_list,
- .tbl_list = ulp_class_stingray_tbl_list,
- .key_field_list = ulp_class_stingray_key_field_list,
- .result_field_list = ulp_class_stingray_result_field_list,
- .ident_list = ulp_class_stingray_ident_list
+ .tmpl_list = ulp_stingray_class_tmpl_list,
+ .tbl_list = ulp_stingray_class_tbl_list,
+ .key_field_list = ulp_stingray_class_key_field_list,
+ .result_field_list = ulp_stingray_class_result_field_list,
+ .ident_list = ulp_stingray_class_ident_list
},
[BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
- .tmpl_list = ulp_act_stingray_tmpl_list,
- .tbl_list = ulp_act_stingray_tbl_list,
- .result_field_list = ulp_act_stingray_result_field_list
+ .tmpl_list = ulp_stingray_act_tmpl_list,
+ .tbl_list = ulp_stingray_act_tbl_list,
+ .result_field_list = ulp_stingray_act_result_field_list
}
};
const struct ulp_template_device_tbls ulp_template_wh_plus_tbls[] = {
[BNXT_ULP_TEMPLATE_TYPE_CLASS] = {
- .tmpl_list = ulp_class_wh_plus_tmpl_list,
- .tbl_list = ulp_class_wh_plus_tbl_list,
- .key_field_list = ulp_class_wh_plus_key_field_list,
- .result_field_list = ulp_class_wh_plus_result_field_list,
- .ident_list = ulp_class_wh_plus_ident_list
+ .tmpl_list = ulp_wh_plus_class_tmpl_list,
+ .tbl_list = ulp_wh_plus_class_tbl_list,
+ .key_field_list = ulp_wh_plus_class_key_field_list,
+ .result_field_list = ulp_wh_plus_class_result_field_list,
+ .ident_list = ulp_wh_plus_class_ident_list
},
[BNXT_ULP_TEMPLATE_TYPE_ACTION] = {
- .tmpl_list = ulp_act_wh_plus_tmpl_list,
- .tbl_list = ulp_act_wh_plus_tbl_list,
- .result_field_list = ulp_act_wh_plus_result_field_list
+ .tmpl_list = ulp_wh_plus_act_tmpl_list,
+ .tbl_list = ulp_wh_plus_act_tbl_list,
+ .result_field_list = ulp_wh_plus_act_result_field_list
}
};
.mark_db_lfid_entries = 65536,
.mark_db_gfid_entries = 65536,
.flow_count_db_entries = 16384,
+ .fdb_parent_flow_entries = 2,
.num_resources_per_flow = 8,
.num_phy_ports = 2,
.ext_cntr_table_type = 0,
.mark_db_lfid_entries = 65536,
.mark_db_gfid_entries = 65536,
.flow_count_db_entries = 16384,
- .fdb_parent_flow_entries = 2,
.num_resources_per_flow = 8,
.num_phy_ports = 2,
.ext_cntr_table_type = 0,
#include "ulp_template_struct.h"
-extern struct bnxt_ulp_mapper_tbl_list_info ulp_class_wh_plus_tmpl_list[];
+extern struct bnxt_ulp_mapper_tbl_list_info ulp_wh_plus_class_tmpl_list[];
-extern struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[];
+extern struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[];
extern struct
-bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[];
+bnxt_ulp_mapper_key_field_info ulp_wh_plus_class_key_field_list[];
extern struct
-bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[];
+bnxt_ulp_mapper_result_field_info ulp_wh_plus_class_result_field_list[];
-extern struct bnxt_ulp_mapper_ident_info ulp_class_wh_plus_ident_list[];
+extern struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[];
-extern struct bnxt_ulp_mapper_tbl_list_info ulp_act_wh_plus_tmpl_list[];
+extern struct bnxt_ulp_mapper_tbl_list_info ulp_wh_plus_act_tmpl_list[];
-extern struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[];
+extern struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_act_tbl_list[];
extern struct
-bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[];
+bnxt_ulp_mapper_result_field_info ulp_wh_plus_act_result_field_list[];
-extern struct bnxt_ulp_mapper_tbl_list_info ulp_class_stingray_tmpl_list[];
+extern struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_class_tmpl_list[];
-extern struct bnxt_ulp_mapper_tbl_info ulp_class_stingray_tbl_list[];
+extern struct bnxt_ulp_mapper_tbl_info ulp_stingray_class_tbl_list[];
extern struct
-bnxt_ulp_mapper_class_key_field_info ulp_class_stingray_key_field_list[];
+bnxt_ulp_mapper_key_field_info ulp_stingray_class_key_field_list[];
extern struct
-bnxt_ulp_mapper_result_field_info ulp_class_stingray_result_field_list[];
+bnxt_ulp_mapper_result_field_info ulp_stingray_class_result_field_list[];
-extern struct bnxt_ulp_mapper_ident_info ulp_class_stingray_ident_list[];
+extern struct bnxt_ulp_mapper_ident_info ulp_stingray_class_ident_list[];
-extern struct bnxt_ulp_mapper_tbl_list_info ulp_act_stingray_tmpl_list[];
+extern struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_act_tmpl_list[];
-extern struct bnxt_ulp_mapper_tbl_info ulp_act_stingray_tbl_list[];
+extern struct bnxt_ulp_mapper_tbl_info ulp_stingray_act_tbl_list[];
extern struct
-bnxt_ulp_mapper_result_field_info ulp_act_stingray_result_field_list[];
+bnxt_ulp_mapper_result_field_info ulp_stingray_act_result_field_list[];
#endif
#include "ulp_template_struct.h"
#include "ulp_rte_parser.h"
-struct bnxt_ulp_mapper_tbl_list_info ulp_act_wh_plus_tmpl_list[] = {
+struct bnxt_ulp_mapper_tbl_list_info ulp_wh_plus_act_tmpl_list[] = {
[1] = {
.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
.num_tbls = 6,
}
};
-struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {
+struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_act_tbl_list[] = {
{
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_ACT_STATS_64,
}
};
-struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {
+struct bnxt_ulp_mapper_result_field_info ulp_wh_plus_act_result_field_list[] = {
{
.field_bit_size = 64,
.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
#include "ulp_template_struct.h"
#include "ulp_rte_parser.h"
-struct bnxt_ulp_mapper_tbl_list_info ulp_class_wh_plus_tmpl_list[] = {
+struct bnxt_ulp_mapper_tbl_list_info ulp_wh_plus_class_tmpl_list[] = {
[1] = {
.device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
.num_tbls = 6,
}
};
-struct bnxt_ulp_mapper_tbl_info ulp_class_wh_plus_tbl_list[] = {
+struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
{
.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
}
};
-struct bnxt_ulp_mapper_class_key_field_info ulp_class_wh_plus_key_field_list[] = {
+struct bnxt_ulp_mapper_key_field_info ulp_wh_plus_class_key_field_list[] = {
{
.field_bit_size = 8,
.mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
}
};
-struct bnxt_ulp_mapper_result_field_info ulp_class_wh_plus_result_field_list[] = {
+struct bnxt_ulp_mapper_result_field_info ulp_wh_plus_class_result_field_list[] = {
{
.field_bit_size = 14,
.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
}
};
-struct bnxt_ulp_mapper_ident_info ulp_class_wh_plus_ident_list[] = {
+struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {
{
.resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
.ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
struct ulp_template_device_tbls {
struct bnxt_ulp_mapper_tbl_list_info *tmpl_list;
struct bnxt_ulp_mapper_tbl_info *tbl_list;
- struct bnxt_ulp_mapper_class_key_field_info *key_field_list;
+ struct bnxt_ulp_mapper_key_field_info *key_field_list;
struct bnxt_ulp_mapper_result_field_info *result_field_list;
struct bnxt_ulp_mapper_ident_info *ident_list;
};
uint32_t index_operand;
};
-struct bnxt_ulp_mapper_class_key_field_info {
+struct bnxt_ulp_mapper_key_field_info {
uint8_t description[64];
enum bnxt_ulp_mapper_opc mask_opcode;
enum bnxt_ulp_mapper_opc spec_opcode;