diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2010-06-30 07:06:28 +0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-06-30 23:10:04 +0200 |
commit | 765c9f46867c3253c02275cbb7a453f2eb56eda1 (patch) | |
tree | 42a2f70e2a9104c620849412d8f6ce91f30815f7 /drivers/net/sfc/efx.c | |
parent | ethtool: Add support for control of RX flow hash indirection (diff) | |
download | linux-765c9f46867c3253c02275cbb7a453f2eb56eda1.tar.xz linux-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.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/sfc/efx.c b/drivers/net/sfc/efx.c index 2a90bf9df913..35b3f2922e5c 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; |