BNXT_ULP_MARK_VALID)
#define ULP_MARK_DB_ENTRY_IS_INVALID(mark_info) (!((mark_info)->flags &\
BNXT_ULP_MARK_VALID))
+#define ULP_MARK_DB_ENTRY_IS_VFR_ID(mark_info) ((mark_info)->flags &\
+ BNXT_ULP_MARK_VFR_ID)
#define ULP_MARK_DB_ENTRY_IS_GLOBAL_HW_FID(mark_info) ((mark_info)->flags &\
BNXT_ULP_MARK_GLOBAL_HW_FID)
goto mem_error;
/* Need to allocate 2 * Num flows to account for hash type bit.*/
- mark_tbl->lfid_num_entries = dparms->lfid_entries;
+ mark_tbl->lfid_num_entries = dparms->mark_db_lfid_entries;
mark_tbl->lfid_tbl = rte_zmalloc("ulp_rx_em_flow_mark_table",
mark_tbl->lfid_num_entries *
sizeof(struct bnxt_lfid_mark_info),
goto mem_error;
/* Need to allocate 2 * Num flows to account for hash type bit */
- mark_tbl->gfid_num_entries = dparms->gfid_entries;
+ mark_tbl->gfid_num_entries = dparms->mark_db_gfid_entries;
mark_tbl->gfid_tbl = rte_zmalloc("ulp_rx_eem_flow_mark_table",
mark_tbl->gfid_num_entries *
sizeof(struct bnxt_gfid_mark_info),
*
* fid [in] The flow id that is returned by HW in BD
*
+ * vfr_flag [out].it indicatesif mark is vfr_id or mark id
+ *
* mark [out] The mark that is associated with the FID
*
*/
ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt,
bool is_gfid,
uint32_t fid,
+ uint32_t *vfr_flag,
uint32_t *mark)
{
struct bnxt_ulp_mark_tbl *mtbl;
BNXT_TF_DBG(DEBUG, "Get GFID[0x%0x] = 0x%0x\n",
idx, mtbl->gfid_tbl[idx].mark_id);
+ *vfr_flag = ULP_MARK_DB_ENTRY_IS_VFR_ID(&mtbl->gfid_tbl[idx]);
*mark = mtbl->gfid_tbl[idx].mark_id;
} else {
if (idx >= mtbl->lfid_num_entries ||
BNXT_TF_DBG(DEBUG, "Get LFID[0x%0x] = 0x%0x\n",
idx, mtbl->lfid_tbl[idx].mark_id);
+ *vfr_flag = ULP_MARK_DB_ENTRY_IS_VFR_ID(&mtbl->lfid_tbl[idx]);
*mark = mtbl->lfid_tbl[idx].mark_id;
}