src/dpdk/drivers/net/bnxt/tf_ulp/ulp_tun.c
static int32_t
ulp_post_process_outer_tun_flow(struct ulp_rte_parser_params *params,
			     struct bnxt_tun_cache_entry *tun_entry,
			     uint16_t tun_idx)
{
	enum bnxt_ulp_tun_flow_state flow_state;
	int ret;

	flow_state = tun_entry->tun_flow_info[params->port_id].state;
	ret = ulp_install_outer_tun_flow(params, tun_entry, tun_idx);
	if (ret == BNXT_TF_RC_ERROR) {
		PMD_DRV_LOG(ERR, "Failed to create outer tunnel flow.");
		return ret;
	}

	/* If flow_state == BNXT_ULP_FLOW_STATE_NORMAL before installing
	 * F1, that means F2 is not deferred. Hence, no need to install F2.
	 */
	if (flow_state != BNXT_ULP_FLOW_STATE_NORMAL)
		ulp_install_inner_tun_flow(tun_entry, params);

	return BNXT_TF_RC_FID;
}
/* This function either install outer tunnel flow & inner tunnel flow
 * or just the outer tunnel flow based on the flow state.
 */
This function either install outer tunnel flow & inner tunnel flow
or just the outer tunnel flow based on the flow state.
This function either install outer tunnel flow & inner tunnel flow or just the outer tunnel flow based on the flow state .
static int32_t
ulp_post_process_outer_tun_flow(struct ulp_rte_parser_params *params,
			     struct bnxt_tun_cache_entry *tun_entry,
			     uint16_t tun_idx)
{
	enum bnxt_ulp_tun_flow_state flow_state;
	int ret;
	flow_state = tun_entry->tun_flow_info[params->port_id].state;
	ret = ulp_install_outer_tun_flow(params, tun_entry, tun_idx);
	if (ret == BNXT_TF_RC_ERROR) {
		PMD_DRV_LOG(ERR, "Failed to create outer tunnel flow.");
		return ret;
	}
	if (flow_state != BNXT_ULP_FLOW_STATE_NORMAL)
		ulp_install_inner_tun_flow(tun_entry, params);
	return BNXT_TF_RC_FID;
}
static int32_t ulp_post_process_outer_tun_flow ( struct ulp_rte_parser_params * params , struct bnxt_tun_cache_entry * tun_entry , uint16_t tun_idx ) { enum bnxt_ulp_tun_flow_state flow_state ; int ret ; flow_state = tun_entry -> tun_flow_info [ params -> port_id ] . state ; ret = ulp_install_outer_tun_flow ( params , tun_entry , tun_idx ) ; if ( ret == BNXT_TF_RC_ERROR ) { PMD_DRV_LOG ( ERR , " " ) ; return ret ; } if ( flow_state != BNXT_ULP_FLOW_STATE_NORMAL ) ulp_install_inner_tun_flow ( tun_entry , params ) ; return BNXT_TF_RC_FID ; }
This function either install outer tunnel flow & inner tunnel flow
 or just the outer tunnel flow based on the flow state.
This function either install outer tunnel flow & inner tunnel flow or just the outer tunnel flow based on the flow state .
/* If flow_state == BNXT_ULP_FLOW_STATE_NORMAL before installing
	 * F1, that means F2 is not deferred. Hence, no need to install F2.
	 */