diff options
author | Ajit Khaparde <ajit.khaparde@emulex.com> | 2011-04-06 18:07:43 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-04-07 22:04:44 (GMT) |
commit | 4b97291429bf59c09a969184a7d2ebde7287e7eb (patch) | |
tree | 21314d74a38638dde44cacce29dba2c84e445b92 /drivers/net/benet/be_ethtool.c | |
parent | c1e48efc701b79ee4367c9a1a4e8bbc7c3586e02 (diff) | |
download | linux-fsl-qoriq-4b97291429bf59c09a969184a7d2ebde7287e7eb.tar.xz |
be2net: add rxhash support
Add rxhash support,
Based on initial work by Eric Dumazet.
Cc: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: Ajit Khaparde <ajit.khaparde@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/benet/be_ethtool.c')
-rw-r--r-- | drivers/net/benet/be_ethtool.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/benet/be_ethtool.c b/drivers/net/benet/be_ethtool.c index a665697..1565c81 100644 --- a/drivers/net/benet/be_ethtool.c +++ b/drivers/net/benet/be_ethtool.c @@ -735,6 +735,18 @@ be_read_eeprom(struct net_device *netdev, struct ethtool_eeprom *eeprom, return status; } +static int be_set_flags(struct net_device *netdev, u32 data) +{ + struct be_adapter *adapter = netdev_priv(netdev); + int rc = -1; + + if (be_multi_rxq(adapter)) + rc = ethtool_op_set_flags(netdev, data, ETH_FLAG_RXHASH | + ETH_FLAG_TXVLAN | ETH_FLAG_RXVLAN); + + return rc; +} + const struct ethtool_ops be_ethtool_ops = { .get_settings = be_get_settings, .get_drvinfo = be_get_drvinfo, @@ -764,4 +776,5 @@ const struct ethtool_ops be_ethtool_ops = { .get_regs = be_get_regs, .flash_device = be_do_flash, .self_test = be_self_test, + .set_flags = be_set_flags, }; |