netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH net-next 00/14] net: provide common RSS key infrastructure
@ 2014-11-16 14:23 Eric Dumazet
  2014-11-16 14:23 ` [PATCH net-next 01/14] net: provide a per host RSS key generic infrastructure Eric Dumazet
                   ` (14 more replies)
  0 siblings, 15 replies; 27+ messages in thread
From: Eric Dumazet @ 2014-11-16 14:23 UTC (permalink / raw)
  To: David S. Miller
  Cc: netdev, Thomas Lendacky, Ariel Elior, Michael Chan,
	Prashant Sreedharan, Rasesh Mody, Sathya Perla, Subbu Seetharaman,
	Ajit Khaparde, Jesse Brandeburg, Jeff Kirsher, Amir Vadai,
	Shradha Shah, Shreyas Bhatewara, Eric Dumazet

RSS (Receive Side Scaling) uses a 40 bytes key to provide hash for incoming
packets to select appropriate incoming queue on NIC.

Hash algo (Toeplitz) is also well known and documented by Microsoft
(search for "Verifying the RSS Hash Calculation")

Problem is that some drivers use a well known key.
It makes very easy for attackers to target one particular RX queue,
knowing that number of RX queues is a power of two, or at least some
small number.

Other drivers use a random value per port, making difficult
tuning on bonding setups.

Lets add a common infrastructure, so that host gets an unique
RSS key, and drivers do not have to worry about this.

Eric Dumazet (14):
  net: provide a per host RSS key generic infrastructure
  amd-xgbe: use netdev_rss_key_fill() helper
  bnx2x: use netdev_rss_key_fill() helper
  tg3: use netdev_rss_key_fill() helper
  bna: use netdev_rss_key_fill() helper
  be2net:use netdev_rss_key_fill() helper
  e100e: use netdev_rss_key_fill() helper
  fm10k: use netdev_rss_key_fill() helper
  i40e: use netdev_rss_key_fill() helper
  igb: use netdev_rss_key_fill() helper
  ixgbe: use netdev_rss_key_fill() helper
  mlx4: use netdev_rss_key_fill() helper
  sfc: use netdev_rss_key_fill() helper
  vmxnet3: use netdev_rss_key_fill() helper

 Documentation/sysctl/net.txt                    | 22 ++++++++++++++++++++++
 drivers/net/ethernet/amd/xgbe/xgbe-main.c       |  2 +-
 drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c |  2 +-
 drivers/net/ethernet/broadcom/tg3.c             | 17 ++++++-----------
 drivers/net/ethernet/brocade/bna/bnad.c         |  2 +-
 drivers/net/ethernet/emulex/benet/be_main.c     | 10 +++++-----
 drivers/net/ethernet/intel/e1000e/netdev.c      |  9 +++------
 drivers/net/ethernet/intel/fm10k/fm10k_pci.c    | 10 +++-------
 drivers/net/ethernet/intel/i40e/i40e_main.c     | 10 +++-------
 drivers/net/ethernet/intel/i40evf/i40evf_main.c | 11 +++--------
 drivers/net/ethernet/intel/igb/igb_main.c       |  9 +++------
 drivers/net/ethernet/intel/ixgbe/ixgbe_main.c   |  7 +++----
 drivers/net/ethernet/mellanox/mlx4/en_ethtool.c |  9 ++++++++-
 drivers/net/ethernet/mellanox/mlx4/en_rx.c      |  6 +-----
 drivers/net/ethernet/sfc/efx.c                  |  2 +-
 drivers/net/vmxnet3/vmxnet3_drv.c               |  9 +--------
 include/linux/mlx4/qp.h                         |  4 +++-
 include/linux/netdevice.h                       |  6 ++++++
 net/core/ethtool.c                              | 11 +++++++++++
 net/core/sysctl_net_core.c                      | 19 +++++++++++++++++++
 20 files changed, 104 insertions(+), 73 deletions(-)

-- 
2.1.0.rc2.206.gedb03e5

^ permalink raw reply	[flat|nested] 27+ messages in thread

end of thread, other threads:[~2014-11-23 20:56 UTC | newest]

Thread overview: 27+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-16 14:23 [PATCH net-next 00/14] net: provide common RSS key infrastructure Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 01/14] net: provide a per host RSS key generic infrastructure Eric Dumazet
2014-11-17  6:46   ` Andi Kleen
2014-11-17  6:58     ` Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 02/14] amd-xgbe: use netdev_rss_key_fill() helper Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 03/14] bnx2x: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 04/14] tg3: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 05/14] bna: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 06/14] be2net:use " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 07/14] e100e: use " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 08/14] fm10k: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 09/14] i40e: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 10/14] igb: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 11/14] ixgbe: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 12/14] mlx4: " Eric Dumazet
2014-11-22 21:49   ` Ben Hutchings
2014-11-22 23:58     ` Eric Dumazet
2014-11-23  1:24       ` [PATCH net-next] mlx4: fix mlx4_en_set_rxfh() Eric Dumazet
2014-11-23 16:53         ` Amir Vadai
2014-11-23 17:05           ` Eric Dumazet
2014-11-23 20:56             ` Joe Perches
2014-11-23 18:49         ` David Miller
2014-11-23  4:07       ` [PATCH net-next 12/14] mlx4: use netdev_rss_key_fill() helper Ben Hutchings
2014-11-23  4:14         ` Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 13/14] sfc: " Eric Dumazet
2014-11-16 14:23 ` [PATCH net-next 14/14] vmxnet3: " Eric Dumazet
2014-11-16 21:03 ` [PATCH net-next 00/14] net: provide common RSS key infrastructure David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).