> -----Original Message-----
> From: Burakov, Anatoly <[email protected]>
> Sent: 09 March 2026 15:49
> To: Mandal, Anurag <[email protected]>; [email protected]
> Cc: Richardson, Bruce <[email protected]>;
> [email protected]; [email protected]
> Subject: Re: [PATCH] net/ice: fix rss simple_xor hash function
> 
> On 3/9/2026 3:32 AM, Anurag Mandal wrote:
> > RSS Simple XOR hash function is supported by the NIC as per datasheet
> > & also in ICE Linux Ethernet kernel driver but the same is not enabled
> > in ICE PMD even though code support is already present.
> >
> > This patch fixes the issue by removing the simple_xor check & adding
> > proper error log for empty argument.
> >
> > Bugzilla ID: 1518
> > Fixes: 0b952714e9c1 ("net/ice: refactor PF hash flow")
> > Cc: [email protected]
> >
> > Signed-off-by: Anurag Mandal <[email protected]>
> > ---
> 
> Hi,
> 
> >   drivers/net/intel/ice/ice_hash.c | 9 ++++-----
> >   1 file changed, 4 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/net/intel/ice/ice_hash.c
> > b/drivers/net/intel/ice/ice_hash.c
> > index 77829e607b..d57b5ee0e4 100644
> > --- a/drivers/net/intel/ice/ice_hash.c
> > +++ b/drivers/net/intel/ice/ice_hash.c
> > @@ -1109,12 +1109,11 @@ ice_hash_parse_action(struct
> ice_pattern_match_item *pattern_match_item,
> >                     rss_type = rss->types;
> >
> >                     /* Check hash function and save it to rss_meta. */
> > -                   if (pattern_match_item->pattern_list !=
> > -                       pattern_empty && rss->func ==
> > -                       RTE_ETH_HASH_FUNCTION_SIMPLE_XOR) {
> > -                           return rte_flow_error_set(error, ENOTSUP,
> > +                   if (pattern_match_item->pattern_list ==
> > +                       pattern_empty) {
> > +                           return rte_flow_error_set(error, EINVAL,
> >                                     RTE_FLOW_ERROR_TYPE_ACTION,
> action,
> > -                                   "Not supported flow");
> > +                                   "Invalid empty argument");
> 
> I think this changes existing semantics a little too far.
> 
> The original code disallowed simple XOR only for cases where pattern wasn't
> empty (if it was, we allowed it - i.e. if it was a global RSS configuration). 
> The fix
> disallows empty patterns altogether, whereas what it should've done instead
> is remove this check, and instead modify the second check to look for empty
> patterns (because otherwise we would go through further checks down the
> line for non-empty patterns).
> 
> >                     } else if (rss->func ==
> >                                RTE_ETH_HASH_FUNCTION_SIMPLE_XOR){
> >                             rss_meta->hash_function =
> 
> 
> --
> Thanks,
> Anatoly

Hi Anatoly,

Thank you for your comments.
I understand the current change disallows all empty patterns altogether and 
that should be rectified.
My doubt  is should be allow both empty and non empty patterns to apply for 
simple_xor like symmetric Toeplitz ? 

Thanks,
Anurag M

Reply via email to