The tx packets were dropped when creating drop any rule for ingress direction only. Added a direction lookup flag to fix the issue.
Signed-off-by: Jeff Shaw <jeffrey.b.s...@intel.com> Signed-off-by: Shaiq Wani <shaiq.w...@intel.com> --- drivers/net/intel/ice/base/ice_switch.c | 8 ++++---- drivers/net/intel/ice/ice_switch_filter.c | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/drivers/net/intel/ice/base/ice_switch.c b/drivers/net/intel/ice/base/ice_switch.c index 777fc88d01..9b2c4536e0 100644 --- a/drivers/net/intel/ice/base/ice_switch.c +++ b/drivers/net/intel/ice/base/ice_switch.c @@ -8273,10 +8273,6 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups, */ ice_get_compat_fv_bitmap(hw, rinfo, fv_bitmap); - status = ice_get_sw_fv_list(hw, lkup_exts, fv_bitmap, &rm->fv_list); - if (status) - goto err_unroll; - /* Create any special protocol/offset pairs, such as looking at tunnel * bits by extracting metadata */ @@ -8284,6 +8280,10 @@ ice_add_adv_recipe(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups, if (status) goto err_free_lkup_exts; + status = ice_get_sw_fv_list(hw, lkup_exts, fv_bitmap, &rm->fv_list); + if (status) + goto err_unroll; + /* Group match words into recipes using preferred recipe grouping * criteria. */ diff --git a/drivers/net/intel/ice/ice_switch_filter.c b/drivers/net/intel/ice/ice_switch_filter.c index 28bc775a2c..358387ad8f 100644 --- a/drivers/net/intel/ice/ice_switch_filter.c +++ b/drivers/net/intel/ice/ice_switch_filter.c @@ -1594,6 +1594,7 @@ ice_switch_parse_dcf_action(struct ice_dcf_adapter *ad, return -rte_errno; case RTE_FLOW_ACTION_TYPE_DROP: + rule_info->add_dir_lkup = 1; rule_info->sw_act.fltr_act = ICE_DROP_PACKET; break; @@ -1676,6 +1677,7 @@ ice_switch_parse_action(struct ice_pf *pf, break; case RTE_FLOW_ACTION_TYPE_DROP: + rule_info->add_dir_lkup = 1; rule_info->sw_act.fltr_act = ICE_DROP_PACKET; break; -- 2.34.1