#include "ulp_ha_mgr.h"
#include "ulp_tun.h"
#include <rte_malloc.h>
-#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG
-#include "ulp_template_debug_proto.h"
-#endif
static int32_t
bnxt_ulp_flow_validate_args(const struct rte_flow_attr *attr,
mapper_cparms->act_tid = params->act_tmpl;
mapper_cparms->func_id = params->func_id;
mapper_cparms->hdr_bitmap = ¶ms->hdr_bitmap;
+ mapper_cparms->enc_hdr_bitmap = ¶ms->enc_hdr_bitmap;
mapper_cparms->hdr_field = params->hdr_field;
+ mapper_cparms->enc_field = params->enc_field;
mapper_cparms->comp_fld = params->comp_fld;
mapper_cparms->act = ¶ms->act_bitmap;
mapper_cparms->act_prop = ¶ms->act_prop;
ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_FLOW_SIG_ID,
params->flow_sig_id);
+ if (bnxt_ulp_cntxt_ptr2_ulp_flags_get(params->ulp_ctx, &ulp_flags))
+ return;
+
/* update the WC Priority flag */
- if (!bnxt_ulp_cntxt_ptr2_ulp_flags_get(params->ulp_ctx, &ulp_flags) &&
- ULP_HIGH_AVAIL_IS_ENABLED(ulp_flags)) {
+ if (ULP_HIGH_AVAIL_IS_ENABLED(ulp_flags)) {
enum ulp_ha_mgr_region region = ULP_HA_REGION_LOW;
int32_t rc;
BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG,
1);
}
+
+ /* Update the socket direct flag */
+ if (ULP_SOCKET_DIRECT_IS_ENABLED(ulp_flags))
+ ULP_COMP_FLD_IDX_WR(params, BNXT_ULP_CF_IDX_SOCKET_DIRECT, 1);
}
/* Function to create the rte flow. */
if (ret == BNXT_TF_RC_ERROR)
goto free_fid;
-#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG
-#ifdef RTE_LIBRTE_BNXT_TRUFLOW_DEBUG_PARSER
- /* Dump the rte flow pattern */
- ulp_parser_hdr_info_dump(¶ms);
- /* Dump the rte flow action */
- ulp_parser_act_info_dump(¶ms);
-#endif
-#endif
-
ret = ulp_matcher_pattern_match(¶ms, ¶ms.class_id);
if (ret != BNXT_TF_RC_SUCCESS)
goto free_fid;