+ if (ret)
+ goto exit;
+
+ vnic = find_matching_vnic(bp, filter);
+ if (vnic) {
+ if (STAILQ_EMPTY(&vnic->filter)) {
+ rte_free(vnic->fw_grp_ids);
+ bnxt_hwrm_vnic_ctx_free(bp, vnic);
+ bnxt_hwrm_vnic_free(bp, vnic);
+ vnic->rx_queue_cnt = 0;
+ PMD_DRV_LOG(DEBUG, "Free VNIC\n");
+ }
+ }
+
+ if (filter->filter_type == HWRM_CFA_EM_FILTER)
+ bnxt_hwrm_clear_em_filter(bp, filter);
+ else if (filter->filter_type == HWRM_CFA_NTUPLE_FILTER)
+ bnxt_hwrm_clear_ntuple_filter(bp, filter);
+ else
+ bnxt_hwrm_clear_l2_filter(bp, filter);
+
+exit: