OpenCloudOS-Kernel/drivers/net/ethernet/sfc
Eyal Perry 892311f66f ethtool: Support for configurable RSS hash function
This patch extends the set/get_rxfh ethtool-options for getting or
setting the RSS hash function.

It modifies drivers implementation of set/get_rxfh accordingly.

This change also delegates the responsibility of checking whether a
modification to a certain RX flow hash parameter is supported to the
driver implementation of set_rxfh.

User-kernel API is done through the new hfunc bitmask field in the
ethtool_rxfh struct. A bit set in the hfunc field is corresponding to an
index in the new string-set ETH_SS_RSS_HASH_FUNCS.

Got approval from most of the relevant driver maintainers that their
driver is using Toeplitz, and for the few that didn't answered, also
assumed it is Toeplitz.

Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Ariel Elior <ariel.elior@qlogic.com>
Cc: Prashant Sreedharan <prashant@broadcom.com>
Cc: Michael Chan <mchan@broadcom.com>
Cc: Hariprasad S <hariprasad@chelsio.com>
Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Bruce Allan <bruce.w.allan@intel.com>
Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
Cc: Don Skidmore <donald.c.skidmore@intel.com>
Cc: Greg Rose <gregory.v.rose@intel.com>
Cc: Matthew Vick <matthew.vick@intel.com>
Cc: John Ronciak <john.ronciak@intel.com>
Cc: Mitch Williams <mitch.a.williams@intel.com>
Cc: Amir Vadai <amirv@mellanox.com>
Cc: Solarflare linux maintainers <linux-net-drivers@solarflare.com>
Cc: Shradha Shah <sshah@solarflare.com>
Cc: Shreyas Bhatewara <sbhatewara@vmware.com>
Cc: "VMware, Inc." <pv-drivers@vmware.com>
Cc: Ben Hutchings <ben@decadent.org.uk>
Signed-off-by: Eyal Perry <eyalpe@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-08 21:07:10 -05:00
..
Kconfig sfc: Minimal support for 40G link speed 2013-09-05 22:32:57 +01:00
Makefile sfc: Add support for Solarflare SFC9100 family 2013-08-29 19:19:29 +01:00
bitfield.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
ef10.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-06 22:01:18 -05:00
ef10_regs.h sfc: Remove unused definitions of EF10 user-mode DMA descriptors 2014-02-12 17:53:34 -05:00
efx.c sfc: use netdev_rss_key_fill() helper 2014-11-16 15:59:13 -05:00
efx.h sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
enum.h sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
ethtool.c ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
falcon.c sfc: Add NIC type operations to replace direct calls from efx.c into siena_sriov.c 2014-11-06 14:43:09 -05:00
falcon_boards.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
farch.c sfc: Add NIC type operations to replace direct calls from efx.c into siena_sriov.c 2014-11-06 14:43:09 -05:00
farch_regs.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
filter.h sfc: Use ether_addr_copy and eth_broadcast_addr 2014-03-10 13:53:37 -04:00
io.h sfc: PIO:Restrict to 64bit arch and use 64-bit writes. 2014-06-11 15:36:21 -07:00
mcdi.c sfc: Rename implementations in siena_sriov.c to have a 'siena' prefix 2014-11-06 14:43:08 -05:00
mcdi.h sfc:On MCDI timeout, issue an FLR (and mark MCDI to fail-fast) 2014-04-16 14:33:57 -04:00
mcdi_mon.c sfc: Add new sensor names 2013-12-12 22:06:54 +00:00
mcdi_pcol.h sfc: Update MCDI protocol definitions 2013-12-06 22:29:20 +00:00
mcdi_port.c sfc: Add 40G link capability decoding 2014-07-14 19:11:48 -07:00
mdio_10g.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
mdio_10g.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
mtd.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
net_driver.h sfc: Add NIC type operations to replace direct calls from efx.c into siena_sriov.c 2014-11-06 14:43:09 -05:00
nic.c sfc: fix calling of free_irq with already free vector 2014-05-12 14:56:45 -04:00
nic.h sfc: Add NIC type operations to replace direct calls from efx.c into siena_sriov.c 2014-11-06 14:43:09 -05:00
phy.h sfc: Remove extern from function prototypes 2013-09-24 12:52:53 -07:00
ptp.c ptp: drivers: set the number of programmable pins. 2014-03-21 14:21:14 -04:00
qt202x_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
rx.c sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
selftest.c sfc: Add support for busy polling 2014-07-22 19:55:20 -07:00
selftest.h sfc: Add MC BISTs to ethtool offline self test on EF10 2013-12-12 22:05:48 +00:00
siena.c sfc: Add NIC type operations to replace direct calls from efx.c into siena_sriov.c 2014-11-06 14:43:09 -05:00
siena_sriov.c sfc: Rename implementations in siena_sriov.c to have a 'siena' prefix 2014-11-06 14:43:08 -05:00
tenxpress.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
tx.c sfc: remove incorrect EFX_BUG_ON_PARANOID check 2014-10-22 12:51:16 -04:00
txc43128_phy.c sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
vfdi.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00
workarounds.h sfc: Update copyright banners 2013-08-29 23:34:51 +01:00