linux/drivers/net/ethernet/sfc
Edward Cree 9e43ad7a1e net: ethtool: only allow set_rxnfc with rss + ring_cookie if driver opts in
Ethtool ntuple filters with FLOW_RSS were originally defined as adding
 the base queue ID (ring_cookie) to the value from the indirection table,
 so that the same table could distribute over more than one set of queues
 when used by different filters.
However, some drivers / hardware ignore the ring_cookie, and simply use
 the indirection table entries as queue IDs directly.  Thus, for drivers
 which have not opted in by setting ethtool_ops.cap_rss_rxnfc_adds to
 declare that they support the original (addition) semantics, reject in
 ethtool_set_rxnfc any filter which combines FLOW_RSS and a nonzero ring.
(For a ring_cookie of zero, both behaviours are equivalent.)
Set the cap bit in sfc, as it is known to support this feature.

Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
Reviewed-by: Martin Habets <habetsm.xilinx@gmail.com>
Link: https://patch.msgid.link/cc3da0844083b0e301a33092a6299e4042b65221.1731499022.git.ecree.xilinx@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-11-14 19:53:41 -08:00
..
falcon net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
siena net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
bitfield.h sfc: offload left-hand side rules for conntrack 2023-08-09 11:14:38 +01:00
ef10_regs.h
ef10_sriov.c sfc: move table locking into filter_table_{probe,remove} methods 2022-07-29 21:22:06 -07:00
ef10_sriov.h sfc: Remove some NIC type indirections that are no longer needed 2023-07-28 09:54:17 +01:00
ef10.c net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
ef100_ethtool.c net: ethtool: only allow set_rxnfc with rss + ring_cookie if driver opts in 2024-11-14 19:53:41 -08:00
ef100_ethtool.h
ef100_netdev.c sfc: neighbour lookup for TC encap action offload 2023-06-10 00:11:49 -07:00
ef100_netdev.h
ef100_nic.c net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
ef100_nic.h sfc: add support for devlink port_function_hw_addr_get in ef100 2023-02-16 12:03:13 +01:00
ef100_regs.h
ef100_rep.c netdev_features: convert NETIF_F_LLTX to dev->lltx 2024-09-03 11:36:43 +02:00
ef100_rep.h sfc: add support for devlink port_function_hw_addr_get in ef100 2023-02-16 12:03:13 +01:00
ef100_rx.c sfc: add per-queue RX bytes stats 2024-10-06 16:02:23 +01:00
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
ef100.c sfc_ef100: Drop redundant pci_disable_pcie_error_reporting() 2023-03-08 23:34:39 -08:00
ef100.h
efx_channels.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2024-10-10 13:13:33 -07:00
efx_channels.h sfc: implement per-queue rx drop and overrun stats 2024-10-06 16:02:23 +01:00
efx_common.c sfc: Remove more unused functions 2024-11-05 17:35:11 -08:00
efx_common.h sfc: Remove more unused functions 2024-11-05 17:35:11 -08:00
efx_devlink.c sfc: support for devlink port requires MAE access 2023-06-29 11:10:27 -07:00
efx_devlink.h sfc: add devlink port support for ef100 2023-02-16 12:03:12 +01:00
efx.c sfc: Remove more unused functions 2024-11-05 17:35:11 -08:00
efx.h sfc: Remove more unused functions 2024-11-05 17:35:11 -08:00
enum.h
ethtool_common.c net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
ethtool_common.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
ethtool.c net: ethtool: only allow set_rxnfc with rss + ring_cookie if driver opts in 2024-11-14 19:53:41 -08: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
Kconfig sfc: add CONFIG_INET dependency for TC offload 2023-06-20 20:37:16 -07:00
mae_counter_format.h sfc: add extra RX channel to receive MAE counter updates on ef100 2022-11-16 09:07:02 +00:00
mae.c sfc: Remove unused efx_mae_mport_vf 2024-11-05 17:35:11 -08:00
mae.h sfc: Remove unused efx_mae_mport_vf 2024-11-05 17:35:11 -08:00
Makefile sfc: functions to register for conntrack zone offload 2023-08-09 11:14:37 +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 net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
mcdi_pcol_mae.h sfc: insert default MAE rules to connect VFs to representors 2022-07-29 21:22:06 -07:00
mcdi_pcol.h
mcdi_port_common.c sfc: Filter cleanups for Falcon and Siena 2023-07-28 09:54:17 +01:00
mcdi_port_common.h
mcdi_port.c
mcdi_port.h
mcdi.c sfc: Remove unused mcdi functions 2024-11-05 17:35:11 -08:00
mcdi.h sfc: Remove unused mcdi functions 2024-11-05 17:35:11 -08:00
mtd.c
net_driver.h net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
nic_common.h net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
nic.c net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
nic.h sfc: Add X4 PF support 2024-09-11 16:02:21 -07:00
ptp.c net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
ptp.h net: sfc: use ethtool string helpers 2024-11-09 09:10:37 -08:00
rx_common.c sfc: add per-queue RX bytes stats 2024-10-06 16:02:23 +01:00
rx_common.h sfc: use new rxfh_context API 2024-06-28 18:53:21 -07:00
rx.c sfc: add per-queue RX bytes stats 2024-10-06 16:02:23 +01: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_bindings.c sfc: neighbour lookup for TC encap action offload 2023-06-10 00:11:49 -07:00
tc_bindings.h sfc: do not try to call tc functions when CONFIG_SFC_SRIOV=n 2023-06-16 09:12:18 +01:00
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: Convert to use ERR_CAST() 2024-08-30 11:10:02 -07: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 sfc: do not try to call tc functions when CONFIG_SFC_SRIOV=n 2023-06-16 09:12:18 +01:00
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
tx_common.c sfc: implement per-queue TSO (hw_gso) stats 2024-10-06 16:02:23 +01:00
tx_common.h sfc: account XDP TXes in netdev base stats 2024-10-06 16:02:23 +01:00
tx_tso.c net: adopt skb_network_offset() and similar helpers 2024-03-04 08:47:06 +00:00
tx.c sfc: Remove more unused functions 2024-11-05 17:35:11 -08:00
tx.h sfc: Remove more unused functions 2024-11-05 17:35:11 -08:00
workarounds.h sfc: Remove EFX_REV_SIENA_A0 2023-07-28 09:54:17 +01:00