[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1416147798-16561-1-git-send-email-edumazet@google.com>
Date: Sun, 16 Nov 2014 06:23:04 -0800
From: Eric Dumazet <edumazet@...gle.com>
To: "David S. Miller" <davem@...emloft.net>
Cc: netdev@...r.kernel.org, Thomas Lendacky <Thomas.Lendacky@....com>,
Ariel Elior <ariel.elior@...gic.com>,
Michael Chan <mchan@...adcom.com>,
Prashant Sreedharan <prashant@...adcom.com>,
Rasesh Mody <rasesh.mody@...gic.com>,
Sathya Perla <sathya.perla@...lex.com>,
Subbu Seetharaman <subbu.seetharaman@...lex.com>,
Ajit Khaparde <ajit.khaparde@...lex.com>,
Jesse Brandeburg <jesse.brandeburg@...el.com>,
Jeff Kirsher <jeffrey.t.kirsher@...el.com>,
Amir Vadai <amirv@...lanox.com>,
Shradha Shah <sshah@...arflare.com>,
Shreyas Bhatewara <sbhatewara@...are.com>,
Eric Dumazet <edumazet@...gle.com>
Subject: [PATCH net-next 00/14] net: provide common RSS key infrastructure
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
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists