diff options
author | Jakub Kicinski <kuba@kernel.org> | 2025-07-17 16:14:01 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2025-07-17 16:14:01 -0700 |
commit | 7f7f3e1bedf70bfe611b72bf38ff037566ce560d (patch) | |
tree | f0380a53907ea35aa9367aa85ce367be71665df1 /net/ethtool/common.c | |
parent | 870bc1aaa0f95e1827c1cc089e183e8749dca6da (diff) | |
parent | 00e6c61c5a0a8277e0cb3e1ec9fdaf79a5928819 (diff) |
Merge branch 'ethtool-rss-support-rss_set-via-netlink'
Jakub Kicinski says:
====================
ethtool: rss: support RSS_SET via Netlink
Support configuring RSS settings via Netlink.
Creating and removing contexts remains for the following series.
v2: https://lore.kernel.org/20250714222729.743282-1-kuba@kernel.org
v1: https://lore.kernel.org/20250711015303.3688717-1-kuba@kernel.org
====================
Link: https://patch.msgid.link/20250716000331.1378807-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ethtool/common.c')
-rw-r--r-- | net/ethtool/common.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/net/ethtool/common.c b/net/ethtool/common.c index 459cf25e763e..4dcb4194f3ce 100644 --- a/net/ethtool/common.c +++ b/net/ethtool/common.c @@ -806,6 +806,21 @@ out_free: return rc; } +/* Check if fields configured for flow hash are symmetric - if src is included + * so is dst and vice versa. + */ +int ethtool_rxfh_config_is_sym(u64 rxfh) +{ + bool sym; + + sym = rxfh == (rxfh & (RXH_IP_SRC | RXH_IP_DST | + RXH_L4_B_0_1 | RXH_L4_B_2_3)); + sym &= !!(rxfh & RXH_IP_SRC) == !!(rxfh & RXH_IP_DST); + sym &= !!(rxfh & RXH_L4_B_0_1) == !!(rxfh & RXH_L4_B_2_3); + + return sym; +} + int ethtool_check_ops(const struct ethtool_ops *ops) { if (WARN_ON(ops->set_coalesce && !ops->supported_coalesce_params)) |