Merge branch 'support-symmetric-xor-rss-hash'
authorJakub Kicinski <kuba@kernel.org>
Thu, 14 Dec 2023 06:07:19 +0000 (22:07 -0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 14 Dec 2023 06:07:19 +0000 (22:07 -0800)
commit04c04725c1d0a71a3f30033a794738b49d1f2111
tree251e28d838a8e2f53931ecfa3a3384b50c53e308
parentc3f687d8dfeb33cffbb8f47c30002babfc4895d2
parent4a3de3fb0eb6897488dd510006abd9673f1fb34c
Merge branch 'support-symmetric-xor-rss-hash'

Ahmed Zaki says:

====================
Support symmetric-xor RSS hash

Patches 1 and 2 modify the get/set_rxh ethtool API to take a pointer to
struct of parameters instead of individual params. This will allow future
changes to the uAPI-shared struct ethtool_rxfh without changing the
drivers' API.

Patch 3 adds the support at the Kernel level, allowing the user to set a
symmetric-xor RSS hash for a netdevice via:

    # ethtool -X eth0 hfunc toeplitz symmetric-xor

and clears the flag via:

    # ethtool -X eth0 hfunc toeplitz

The "symmetric-xor" is set in a new "input_xfrm" field in struct
ethtool_rxfh. Support for the new "symmetric-xor" flag will be later sent
to the "ethtool" user-space tool.

Patch 4 fixes a long standing bug with the ice hash function register
values. The bug has been benign for now since only (asymmetric) Toeplitz
hash (Zero) has been used.

Patches 5 and 6 lay some groundwork refactoring. While the first is
mainly cosmetic, the second is needed since there is no more room in the
previous 64-bit RSS profile ID for the symmetric attribute introduced in
the next patch.

Finally, patches 7 and 8 add the symmetric-xor support for the ice
(E800 PFs) and the iAVF drivers.
====================

Link: https://lore.kernel.org/r/20231213003321.605376-1-ahmed.zaki@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>