netlink: specs: define input-xfrm enum in the spec

Help YNL decode the values for input-xfrm by defining
the possible values in the spec. Don't define "no change"
as it's an IOCTL artifact with no use in Netlink.

With this change on mlx5 input-xfrm gets decoded:

 # ynl --family ethtool --dump rss-get
 [{'header': {'dev-index': 2, 'dev-name': 'eth0'},
   'hfunc': 1,
   'hkey': b'V\xa8\xf9\x9 ...',
   'indir': [0, 1, ... ],
   'input-xfrm': {'sym-or-xor'},                         <<<
   'flow-hash': {'ah4': {'ip-dst', 'ip-src'},
                 'ah6': {'ip-dst', 'ip-src'},
                 'esp4': {'ip-dst', 'ip-src'},
                 'esp6': {'ip-dst', 'ip-src'},
                 'ip4': {'ip-dst', 'ip-src'},
                 'ip6': {'ip-dst', 'ip-src'},
                 'tcp4': {'l4-b-0-1', 'ip-dst', 'l4-b-2-3', 'ip-src'},
                 'tcp6': {'l4-b-0-1', 'ip-dst', 'l4-b-2-3', 'ip-src'},
                 'udp4': {'l4-b-0-1', 'ip-dst', 'l4-b-2-3', 'ip-src'},
                 'udp6': {'l4-b-0-1', 'ip-dst', 'l4-b-2-3', 'ip-src'}}
 }]

Reviewed-by: Gal Pressman <gal@nvidia.com>
Link: https://patch.msgid.link/20250716000331.1378807-9-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Jakub Kicinski
2025-07-15 17:03:28 -07:00
parent 169b26207a
commit c1b27f0695
2 changed files with 24 additions and 3 deletions

View File

@@ -158,6 +158,26 @@ definitions:
-
name: pse-event-sw-pw-control-error
doc: PSE faced an error managing the power control from software
-
name: input-xfrm
doc: RSS hash function transformations.
type: flags
enum-name:
name-prefix: rxh-xfrm-
header: linux/ethtool.h
entries:
-
name: sym-xor
doc: >-
XOR the corresponding source and destination fields of each specified
protocol. Both copies of the XOR'ed fields are fed into the RSS and
RXHASH calculation. Note that this XORing reduces the input set
entropy and could be exploited to reduce the RSS queue spread.
-
name: sym-or-xor
doc: >-
Similar to SYM_XOR, except that one copy of the XOR'ed fields is
replaced by an OR of the same fields.
-
name: rxfh-fields
name-prefix: rxh-
@@ -1621,6 +1641,7 @@ attribute-sets:
-
name: input-xfrm
type: u32
enum: input-xfrm
-
name: start-context
type: u32