static void
 clean_encap_dests(struct mlx5e_priv *priv,
                  struct mlx5e_tc_flow *flow,
-                 struct mlx5_flow_attr *attr,
-                 bool *vf_tun)
+                 struct mlx5_flow_attr *attr)
 {
        struct mlx5_esw_flow_attr *esw_attr;
        int out_index;
                return;
 
        esw_attr = attr->esw_attr;
-       *vf_tun = false;
 
        for (out_index = 0; out_index < MLX5_MAX_FLOW_FWD_VPORTS; out_index++) {
                if (!(esw_attr->dests[out_index].flags & MLX5_ESW_DEST_ENCAP))
                        continue;
 
-               if (esw_attr->dests[out_index].flags &
-                   MLX5_ESW_DEST_CHAIN_WITH_SRC_PORT_CHANGE &&
-                   !esw_attr->dest_int_port)
-                       *vf_tun = true;
-
                mlx5e_detach_encap(priv, flow, attr, out_index);
                kfree(attr->parse_attr->tun_info[out_index]);
        }
        struct mlx5_eswitch *esw = priv->mdev->priv.eswitch;
        struct mlx5_flow_attr *attr = flow->attr;
        struct mlx5_esw_flow_attr *esw_attr;
-       bool vf_tun;
 
        esw_attr = attr->esw_attr;
        mlx5e_put_flow_tunnel_id(flow);
        if (flow->decap_route)
                mlx5e_detach_decap_route(priv, flow);
 
-       clean_encap_dests(priv, flow, attr, &vf_tun);
+       clean_encap_dests(priv, flow, attr);
 
        mlx5_tc_ct_match_del(get_ct_priv(priv), &flow->attr->ct_attr);
 
 mlx5_free_flow_attr(struct mlx5e_tc_flow *flow, struct mlx5_flow_attr *attr)
 {
        struct mlx5_core_dev *counter_dev = get_flow_counter_dev(flow);
-       bool vf_tun;
 
        if (!attr)
                return;
        if (attr->post_act_handle)
                mlx5e_tc_post_act_del(get_post_action(flow->priv), attr->post_act_handle);
 
-       clean_encap_dests(flow->priv, flow, attr, &vf_tun);
+       clean_encap_dests(flow->priv, flow, attr);
 
        if (attr->action & MLX5_FLOW_CONTEXT_ACTION_COUNT)
                mlx5_fc_destroy(counter_dev, attr->counter);