From: Junfeng Guo Date: Mon, 13 Jul 2020 11:05:40 +0000 (+0800) Subject: net/ice/base: fix RSS removal for GTP-U X-Git-Url: http://git.droids-corp.org/?p=dpdk.git;a=commitdiff_plain;h=27dc00646f54c5fd885ecbd7498d3158ed2fc458 net/ice/base: fix RSS removal for GTP-U Previous logic in removing RSS for GTPU was added in incorrect lines. The adjustment in this patch will correct the code order so that RSS for GTPU can be removed successfully. We also delete the redundant print statement and cleanup the coding style in this patch. Fixes: bed9bb3139ef ("net/ice/base: fix GTP-U inner RSS IPv4 IPv6 co-exist") Cc: stable@dpdk.org Signed-off-by: Junfeng Guo Reviewed-by: Ferruh Yigit --- diff --git a/drivers/net/ice/base/ice_flow.c b/drivers/net/ice/base/ice_flow.c index d1b8a0534a..9a17d956b4 100644 --- a/drivers/net/ice/base/ice_flow.c +++ b/drivers/net/ice/base/ice_flow.c @@ -3559,10 +3559,8 @@ ice_add_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds, /* don't do RSS for GTPU outer */ if (segs_cnt == ICE_RSS_OUTER_HEADERS && - (segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU)) { - printf("ignore gtpu\n"); + segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU) return ICE_SUCCESS; - } /* Search for a flow profile that has matching headers, hash fields * and has the input VSI associated to it. If found, no further @@ -3714,16 +3712,16 @@ ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds, if (!segs) return ICE_ERR_NO_MEMORY; - if (segs_cnt == ICE_RSS_OUTER_HEADERS && - segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU) - return ICE_SUCCESS; - /* Construct the packet segment info from the hashed fields */ status = ice_flow_set_rss_seg_info(&segs[segs_cnt - 1], hashed_flds, addl_hdrs); if (status) goto out; + if (segs_cnt == ICE_RSS_OUTER_HEADERS && + segs[segs_cnt - 1].hdrs & ICE_FLOW_SEG_HDR_GTPU) + return ICE_SUCCESS; + prof = ice_flow_find_prof_conds(hw, blk, ICE_FLOW_RX, segs, segs_cnt, vsi_handle, ICE_FLOW_FIND_PROF_CHK_FLDS);