linux/drivers/net/ethernet/sfc
Jakub Kicinski ec6e57beaf ethtool: rss: don't report key if device doesn't support it
marvell/otx2 and mvpp2 do not support setting different
keys for different RSS contexts. Contexts have separate
indirection tables but key is shared with all other contexts.
This is likely fine, indirection table is the most important
piece.

Don't report the key-related parameters from such drivers.
This prevents driver-errors, e.g. otx2 always writes
the main key, even when user asks to change per-context key.
The second reason is that without this change tracking
the keys by the core gets complicated. Even if the driver
correctly reject setting key with rss_context != 0,
change of the main key would have to be reflected in
the XArray for all additional contexts.

Since the additional contexts don't have their own keys
not including the attributes (in Netlink speak) seems
intuitive. ethtool CLI seems to deal with it just fine.

Having to set the flag in majority of the drivers is
a bit tedious but not reporting the key is a safer
default.

Reviewed-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Joe Damato <jdamato@fastly.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2024-08-12 14:16:24 +01:00
..
falcon Merge branch 'net-make-timestamping-selectable' 2024-07-15 08:02:30 -07:00
siena net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
Kconfig sfc: add CONFIG_INET dependency for TC offload 2023-06-20 20:37:16 -07:00
Makefile sfc: functions to register for conntrack zone offload 2023-08-09 11:14:37 +01:00
bitfield.h sfc: offload left-hand side rules for conntrack 2023-08-09 11:14:38 +01:00
ef10.c sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
ef10_regs.h
ef10_sriov.c
ef10_sriov.h sfc: Remove some NIC type indirections that are no longer needed 2023-07-28 09:54:17 +01:00
ef100.c
ef100.h
ef100_ethtool.c ethtool: rss: don't report key if device doesn't support it 2024-08-12 14:16:24 +01:00
ef100_ethtool.h
ef100_netdev.c
ef100_netdev.h
ef100_nic.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-18 12:44:56 -07:00
ef100_nic.h
ef100_regs.h
ef100_rep.c
ef100_rep.h
ef100_rx.c
ef100_rx.h
ef100_sriov.c
ef100_sriov.h
ef100_tx.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
ef100_tx.h sfc: use budget for TX completions 2023-06-17 00:06:55 -07:00
efx.c sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
efx.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
efx_channels.c net: Tree wide: Replace xdp_do_flush_map() with xdp_do_flush(). 2023-10-03 07:34:51 -07:00
efx_channels.h
efx_common.c sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
efx_common.h
efx_devlink.c sfc: support for devlink port requires MAE access 2023-06-29 11:10:27 -07:00
efx_devlink.h
enum.h
ethtool.c ethtool: rss: don't report key if device doesn't support it 2024-08-12 14:16:24 +01:00
ethtool_common.c sfc: remove get_rxfh_context dead code 2024-06-28 18:53:21 -07:00
ethtool_common.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
filter.h sfc: Miscellaneous comment removals 2023-07-28 09:54:18 +01:00
io.h - Some swap cleanups from Ma Wupeng ("fix WARN_ON in add_to_avail_list") 2023-08-29 14:25:26 -07:00
mae.c sfc: support offloading ct(nat) action in RHS rules 2023-10-15 14:25:03 +01:00
mae.h sfc: introduce ethernet pedit set action infrastructure 2023-08-27 06:56:54 +01:00
mae_counter_format.h
mcdi.c sfc: replace deprecated strncpy with strscpy 2023-10-13 17:24:39 -07:00
mcdi.h sfc: offload left-hand side rules for conntrack 2023-08-09 11:14:38 +01:00
mcdi_filters.c sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
mcdi_filters.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
mcdi_functions.c sfc: Remove struct efx_special_buffer 2023-07-28 09:54:17 +01:00
mcdi_functions.h
mcdi_mon.c
mcdi_pcol.h
mcdi_pcol_mae.h
mcdi_port.c
mcdi_port.h
mcdi_port_common.c sfc: Filter cleanups for Falcon and Siena 2023-07-28 09:54:17 +01:00
mcdi_port_common.h
mtd.c
net_driver.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
nic.c sfc: Cleanups in io.h 2023-07-28 09:54:18 +01:00
nic.h sfc: Remove siena_nic_data and stats 2023-07-28 09:54:17 +01:00
nic_common.h sfc: Miscellaneous comment removals 2023-07-28 09:54:18 +01:00
ptp.c net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
ptp.h net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
rx.c sfc: check for zero length in EF10 RX prefix 2023-09-01 08:14:57 +01:00
rx_common.c sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
rx_common.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
selftest.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-24 10:51:39 -07:00
selftest.h
sriov.c
sriov.h
tc.c sfc: use flow_rule_is_supp_enc_control_flags() 2024-06-12 17:56:00 -07:00
tc.h sfc: support offloading ct(nat) action in RHS rules 2023-10-15 14:25:03 +01:00
tc_bindings.c
tc_bindings.h
tc_conntrack.c sfc: parse mangle actions (NAT) in conntrack entries 2023-10-15 14:25:03 +01:00
tc_conntrack.h sfc: handle non-zero chain_index on TC rules 2023-08-09 11:14:38 +01:00
tc_counters.c sfc: handle error pointers returned by rhashtable_lookup_get_insert_fast() 2023-09-21 10:37:16 +02:00
tc_counters.h sfc: offload conntrack flow entries (match only) from CT zones 2023-08-09 11:14:38 +01:00
tc_encap_actions.c sfc: handle error pointers returned by rhashtable_lookup_get_insert_fast() 2023-09-21 10:37:16 +02:00
tc_encap_actions.h
tx.c sfc: Remove support for siena high priority queue 2023-07-28 09:54:17 +01:00
tx.h
tx_common.c net: adopt skb_network_offset() and similar helpers 2024-03-04 08:47:06 +00:00
tx_common.h sfc: use budget for TX completions 2023-06-17 00:06:55 -07:00
tx_tso.c net: adopt skb_network_offset() and similar helpers 2024-03-04 08:47:06 +00:00
workarounds.h sfc: Remove EFX_REV_SIENA_A0 2023-07-28 09:54:17 +01:00