+
+/*
+ * Release all resources in the Mark Manager for this ulp context
+ *
+ * ctxt [in] The ulp context for the mark manager
+ *
+ */
+int32_t
+ulp_mark_db_deinit(struct bnxt_ulp_context *ctxt)
+{
+ struct bnxt_ulp_mark_tbl *mtbl;
+
+ mtbl = bnxt_ulp_cntxt_ptr2_mark_db_get(ctxt);
+
+ if (mtbl) {
+ rte_free(mtbl->gfid_tbl);
+ rte_free(mtbl->lfid_tbl);
+ rte_free(mtbl);
+
+ /* Safe to ignore on deinit */
+ (void)bnxt_ulp_cntxt_ptr2_mark_db_set(ctxt, NULL);
+ }
+
+ return 0;
+}
+
+/*
+ * Adds a Mark to the Mark Manager
+ *
+ * ctxt [in] The ulp context for the mark manager
+ *
+ * is_gfid [in] The type of fid (GFID or LFID)
+ *
+ * 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 gfid,
+ uint32_t mark)
+{
+ return ulp_mark_db_mark_set(ctxt, is_gfid, gfid, mark);
+}
+
+/*
+ * Removes a Mark from the Mark Manager
+ *
+ * ctxt [in] The ulp context for the mark manager
+ *
+ * is_gfid [in] The type of fid (GFID or LFID)
+ *
+ * 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 __rte_unused)
+{
+ return ulp_mark_db_mark_set(ctxt, is_gfid, gfid, ULP_MARK_INVALID);
+}