summaryrefslogtreecommitdiff
path: root/drivers/net/sfc/efx.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2010-06-30 05:06:28 +0000
committerDavid S. Miller <davem@davemloft.net>2010-06-30 14:10:04 -0700
commit765c9f46867c3253c02275cbb7a453f2eb56eda1 (patch)
tree42a2f70e2a9104c620849412d8f6ce91f30815f7 /drivers/net/sfc/efx.c
parenta5b6ee291e39e285e021cf251dbcf770c83cd74e (diff)
downloadlinux-3.10-765c9f46867c3253c02275cbb7a453f2eb56eda1.tar.gz
linux-3.10-765c9f46867c3253c02275cbb7a453f2eb56eda1.tar.bz2
linux-3.10-765c9f46867c3253c02275cbb7a453f2eb56eda1.zip
sfc: Add support for RX flow hash control
Allow ethtool to query the number of RX rings, the fields used in RX flow hashing and the hash indirection table. Allow ethtool to update the RX flow hash indirection table. Signed-off-by: Ben Hutchings <bhutchings@solarflare.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/efx.c')
-rw-r--r--drivers/net/sfc/efx.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c
index 2a90bf9df91..35b3f2922e5 100644
--- a/drivers/net/sfc/efx.c
+++ b/drivers/net/sfc/efx.c
@@ -1121,6 +1121,7 @@ static void efx_set_channels(struct efx_nic *efx)
static int efx_probe_nic(struct efx_nic *efx)
{
+ size_t i;
int rc;
netif_dbg(efx, probe, efx->net_dev, "creating NIC\n");
@@ -1136,6 +1137,8 @@ static int efx_probe_nic(struct efx_nic *efx)
if (efx->n_channels > 1)
get_random_bytes(&efx->rx_hash_key, sizeof(efx->rx_hash_key));
+ for (i = 0; i < ARRAY_SIZE(efx->rx_indir_table); i++)
+ efx->rx_indir_table[i] = i % efx->n_rx_channels;
efx_set_channels(efx);
efx->net_dev->real_num_tx_queues = efx->n_tx_channels;