@@ -239,6 +239,7 @@ Userspace to kernel:
239239 ``ETHTOOL_MSG_PHY_GET `` get Ethernet PHY information
240240 ``ETHTOOL_MSG_TSCONFIG_GET `` get hw timestamping configuration
241241 ``ETHTOOL_MSG_TSCONFIG_SET `` set hw timestamping configuration
242+ ``ETHTOOL_MSG_RSS_SET `` set RSS settings
242243 ===================================== =================================
243244
244245Kernel to userspace:
@@ -292,6 +293,7 @@ Kernel to userspace:
292293 ``ETHTOOL_MSG_TSCONFIG_GET_REPLY `` hw timestamping configuration
293294 ``ETHTOOL_MSG_TSCONFIG_SET_REPLY `` new hw timestamping configuration
294295 ``ETHTOOL_MSG_PSE_NTF `` PSE events notification
296+ ``ETHTOOL_MSG_RSS_NTF `` RSS settings notification
295297 ======================================== =================================
296298
297299``GET `` requests are sent by userspace applications to retrieve device
@@ -1989,6 +1991,29 @@ hfunc. Current supported options are symmetric-xor and symmetric-or-xor.
19891991ETHTOOL_A_RSS_FLOW_HASH carries per-flow type bitmask of which header
19901992fields are included in the hash calculation.
19911993
1994+ RSS_SET
1995+ =======
1996+
1997+ Request contents:
1998+
1999+ ===================================== ====== ==============================
2000+ ``ETHTOOL_A_RSS_HEADER `` nested request header
2001+ ``ETHTOOL_A_RSS_CONTEXT `` u32 context number
2002+ ``ETHTOOL_A_RSS_HFUNC `` u32 RSS hash func
2003+ ``ETHTOOL_A_RSS_INDIR `` binary Indir table bytes
2004+ ``ETHTOOL_A_RSS_HKEY `` binary Hash key bytes
2005+ ``ETHTOOL_A_RSS_INPUT_XFRM `` u32 RSS input data transformation
2006+ ``ETHTOOL_A_RSS_FLOW_HASH `` nested Header fields included in hash
2007+ ===================================== ====== ==============================
2008+
2009+ ``ETHTOOL_A_RSS_INDIR `` is the minimal RSS table the user expects. Kernel and
2010+ the device driver may replicate the table if its smaller than smallest table
2011+ size supported by the device. For example if user requests ``[0, 1] `` but the
2012+ device needs at least 8 entries - the real table in use will end up being
2013+ ``[0, 1, 0, 1, 0, 1, 0, 1] ``. Most devices require the table size to be power
2014+ of 2, so tables which size is not a power of 2 will likely be rejected.
2015+ Using table of size 0 will reset the indirection table to the default.
2016+
19922017PLCA_GET_CFG
19932018============
19942019
@@ -2440,7 +2465,7 @@ are netlink only.
24402465 ``ETHTOOL_GPFLAGS `` ``ETHTOOL_MSG_PRIVFLAGS_GET ``
24412466 ``ETHTOOL_SPFLAGS `` ``ETHTOOL_MSG_PRIVFLAGS_SET ``
24422467 ``ETHTOOL_GRXFH `` ``ETHTOOL_MSG_RSS_GET ``
2443- ``ETHTOOL_SRXFH `` n/a
2468+ ``ETHTOOL_SRXFH `` `` ETHTOOL_MSG_RSS_SET ``
24442469 ``ETHTOOL_GGRO `` ``ETHTOOL_MSG_FEATURES_GET ``
24452470 ``ETHTOOL_SGRO `` ``ETHTOOL_MSG_FEATURES_SET ``
24462471 ``ETHTOOL_GRXRINGS `` n/a
@@ -2455,7 +2480,7 @@ are netlink only.
24552480 ``ETHTOOL_GRXNTUPLE `` n/a
24562481 ``ETHTOOL_GSSET_INFO `` ``ETHTOOL_MSG_STRSET_GET ``
24572482 ``ETHTOOL_GRXFHINDIR `` ``ETHTOOL_MSG_RSS_GET ``
2458- ``ETHTOOL_SRXFHINDIR `` n/a
2483+ ``ETHTOOL_SRXFHINDIR `` `` ETHTOOL_MSG_RSS_SET ``
24592484 ``ETHTOOL_GFEATURES `` ``ETHTOOL_MSG_FEATURES_GET ``
24602485 ``ETHTOOL_SFEATURES `` ``ETHTOOL_MSG_FEATURES_SET ``
24612486 ``ETHTOOL_GCHANNELS `` ``ETHTOOL_MSG_CHANNELS_GET ``
0 commit comments