On 04/07, Qi Zhang wrote:
>Update a switch rule' action from "to VSI" to "to VSI List"
>should only happen when the same rule has been programmed with
>a different fwd destination. This is already handled by below
>code block:
>
>m_entry = ice_find_adv_rule_entry(...)
>if (m_entry) {
>       ...
>       ice_adv_add_update_vsi_list(...)
>}
>
>The following ice_update_pkt_fwd_rule is unnecessary and should be
>removed due to:
>1) If a switch rule's action is still to VSI, which means, it is
>   the first time be issued,  we don't need to update it "to VSI
>   List."
>2) Actually the implementation does not match the comment, it still
>   update the rule with "to VSI" action.
>
>Fixes: fed0c5ca5f19 ("net/ice/base: support programming a new switch recipe")
>Cc: sta...@dpdk.org
>
>Signed-off-by: Qi Zhang <qi.z.zh...@intel.com>
>---
> drivers/net/ice/base/ice_switch.c | 18 +-----------------
> 1 file changed, 1 insertion(+), 17 deletions(-)
>
>diff --git a/drivers/net/ice/base/ice_switch.c 
>b/drivers/net/ice/base/ice_switch.c
>index b5aa5abd9..07f8efd65 100644
>--- a/drivers/net/ice/base/ice_switch.c
>+++ b/drivers/net/ice/base/ice_switch.c
>@@ -6695,24 +6695,8 @@ ice_add_adv_rule(struct ice_hw *hw, struct 
>ice_adv_lkup_elem *lkups,
>       sw->recp_list[rid].adv_rule = true;
>       rule_head = &sw->recp_list[rid].filt_rules;
> 
>-      if (rinfo->sw_act.fltr_act == ICE_FWD_TO_VSI) {
>-              struct ice_fltr_info tmp_fltr;
>-
>-              ice_memset(&tmp_fltr, 0, sizeof(tmp_fltr), ICE_NONDMA_MEM);
>-              tmp_fltr.fltr_rule_id =
>-                      LE16_TO_CPU(s_rule->pdata.lkup_tx_rx.index);
>-              tmp_fltr.fltr_act = ICE_FWD_TO_VSI;
>-              tmp_fltr.fwd_id.hw_vsi_id =
>-                      ice_get_hw_vsi_num(hw, vsi_handle);
>-              tmp_fltr.vsi_handle = vsi_handle;
>-              /* Update the previous switch rule of "forward to VSI" to
>-               * "fwd to VSI list"
>-               */
>-              status = ice_update_pkt_fwd_rule(hw, &tmp_fltr);
>-              if (status)
>-                      goto err_ice_add_adv_rule;
>+      if (rinfo->sw_act.fltr_act == ICE_FWD_TO_VSI)
>               adv_fltr->vsi_count = 1;
>-      }
> 
>       /* Add rule entry to book keeping list */
>       LIST_ADD(&adv_fltr->list_entry, rule_head);
>-- 
>2.13.6
>

Acked-by: Xiaolong Ye <xiaolong...@intel.com>

Applied to dpdk-next-net-intel, Thanks.

Reply via email to