[PATCH] net/ice: fix rss simple_xor hash function
Mandal, Anurag
anurag.mandal at intel.com
Mon Mar 9 12:17:32 CET 2026
> -----Original Message-----
> From: Burakov, Anatoly <anatoly.burakov at intel.com>
> Sent: 09 March 2026 15:49
> To: Mandal, Anurag <anurag.mandal at intel.com>; dev at dpdk.org
> Cc: Richardson, Bruce <bruce.richardson at intel.com>;
> alex.chapman at arm.com; stable at dpdk.org
> 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: stable at dpdk.org
> >
> > Signed-off-by: Anurag Mandal <anurag.mandal at intel.com>
> > ---
>
> 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
More information about the dev
mailing list