net/ice/base: fix segment in remove existing RSS rule
Before this patch, RSS tunneled rules can not be destroyed at runtime.
This is because it can not find the existing matching profile for tunnels.
segs[0] should always be zero and all matched, segs[1] for inner part.
It only construct one segment.
This patch modifies construct segment in ice_rem_rss_cfg_sync() to
match ice_add_rss_cfg_sync().
Fixes: b7d34ccc47
("net/ice/base: packet encapsulation for RSS")
Signed-off-by: Zhirun Yan <zhirun.yan@intel.com>
Signed-off-by: Paul M Stillwell Jr <paul.m.stillwell.jr@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Qiming Yang <qiming.yang@intel.com>
This commit is contained in:
parent
7818106ce6
commit
0dc55879ce
@ -2185,12 +2185,14 @@ ice_rem_rss_cfg_sync(struct ice_hw *hw, u16 vsi_handle, u64 hashed_flds,
|
||||
struct ice_flow_prof *prof;
|
||||
enum ice_status status;
|
||||
|
||||
segs = (struct ice_flow_seg_info *)ice_malloc(hw, sizeof(*segs));
|
||||
segs = (struct ice_flow_seg_info *)ice_calloc(hw, segs_cnt,
|
||||
sizeof(*segs));
|
||||
if (!segs)
|
||||
return ICE_ERR_NO_MEMORY;
|
||||
|
||||
/* Construct the packet segment info from the hashed fields */
|
||||
status = ice_flow_set_rss_seg_info(segs, hashed_flds, addl_hdrs);
|
||||
status = ice_flow_set_rss_seg_info(&segs[segs_cnt - 1], hashed_flds,
|
||||
addl_hdrs);
|
||||
if (status)
|
||||
goto out;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user