X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=drivers%2Fnet%2Fbnxt%2Ftf_ulp%2Fulp_mark_mgr.h;h=d9d82d4644eb0a63bbc5e5384e4c9132254d79da;hb=48fbc1be82b551e41c58e94de780fdd2ffaaeb78;hp=f0d15157903cc660531c29a72ffc490fc6684aa0;hpb=05a11d7dff9f1c6371ea2a5c697b7797272cb4e5;p=dpdk.git diff --git a/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h b/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h index f0d1515790..d9d82d4644 100644 --- a/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h +++ b/drivers/net/bnxt/tf_ulp/ulp_mark_mgr.h @@ -1,5 +1,5 @@ /* SPDX-License-Identifier: BSD-3-Clause - * Copyright(c) 2014-2019 Broadcom + * Copyright(c) 2014-2021 Broadcom * All rights reserved. */ @@ -8,23 +8,28 @@ #include "bnxt_ulp.h" -#define ULP_MARK_INVALID (0) +#define BNXT_ULP_MARK_VALID 0x1 +#define BNXT_ULP_MARK_VFR_ID 0x2 +#define BNXT_ULP_MARK_GLOBAL_HW_FID 0x4 +#define BNXT_ULP_MARK_LOCAL_HW_FID 0x8 + struct bnxt_lfid_mark_info { uint16_t mark_id; - bool valid; + uint16_t flags; }; struct bnxt_gfid_mark_info { uint32_t mark_id; - bool valid; + uint16_t flags; }; struct bnxt_ulp_mark_tbl { struct bnxt_lfid_mark_info *lfid_tbl; struct bnxt_gfid_mark_info *gfid_tbl; + uint32_t lfid_num_entries; + uint32_t gfid_num_entries; uint32_t gfid_mask; uint32_t gfid_type_bit; - uint32_t gfid_max; }; /* @@ -55,7 +60,7 @@ int32_t ulp_mark_db_deinit(struct bnxt_ulp_context *ctxt); /* - * Adds a Mark to the Mark Manager + * Get a Mark from the Mark Manager * * ctxt [in] The ulp context for the mark manager * @@ -63,12 +68,33 @@ ulp_mark_db_deinit(struct bnxt_ulp_context *ctxt); * * 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 + * + */ +int32_t +ulp_mark_db_mark_get(struct bnxt_ulp_context *ctxt, + bool is_gfid, + uint32_t fid, + uint32_t *vfr_flag, + uint32_t *mark); + +/* + * Adds a Mark to the Mark Manager + * + * ctxt [in] The ulp context for the mark manager + * + * mark_flag [in] mark flags. + * + * fid [in] The flow id that is returned by HW in BD + * * mark [in] The mark to be associated with the FID * */ int32_t ulp_mark_db_mark_add(struct bnxt_ulp_context *ctxt, - bool is_gfid, + uint32_t mark_flag, uint32_t gfid, uint32_t mark); @@ -77,17 +103,14 @@ ulp_mark_db_mark_add(struct bnxt_ulp_context *ctxt, * * ctxt [in] The ulp context for the mark manager * - * is_gfid [in] The type of fid (GFID or LFID) + * mark_flag [in] mark flags * * fid [in] The flow id that is returned by HW in BD * - * mark [in] The mark to be associated with the FID - * */ int32_t ulp_mark_db_mark_del(struct bnxt_ulp_context *ctxt, - bool is_gfid, - uint32_t gfid, - uint32_t mark); + uint32_t mark_flag, + uint32_t gfid); #endif /* _ULP_MARK_MGR_H_ */