Merge branch 'ethtool-rssh-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/bwh/net-next
Ben Hutchings says: ==================== Pull request: Fixes for new ethtool RSS commands This addresses several problems I previously identified with the new ETHTOOL_{G,S}RSSH commands: 1. Missing validation of reserved parameters 2. Vague documentation 3. Use of unnamed magic number 4. No consolidation with existing driver operations I don't currently have access to suitable network hardware, but have tested these changes with a dummy driver that can support various combinations of operations and sizes, together with (a) Debian's ethtool 3.13 (b) ethtool 3.14 with the submitted patch to use ETHTOOL_{G,S}RSSH and minor adjustment for fixes 1 and 3. v2: Update RSS operations in vmxnet3 too ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -2830,7 +2830,7 @@ static u32 igb_get_rxfh_indir_size(struct net_device *netdev)
|
||||
return IGB_RETA_SIZE;
|
||||
}
|
||||
|
||||
static int igb_get_rxfh_indir(struct net_device *netdev, u32 *indir)
|
||||
static int igb_get_rxfh(struct net_device *netdev, u32 *indir, u8 *key)
|
||||
{
|
||||
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||
int i;
|
||||
@@ -2876,7 +2876,8 @@ void igb_write_rss_indir_tbl(struct igb_adapter *adapter)
|
||||
}
|
||||
}
|
||||
|
||||
static int igb_set_rxfh_indir(struct net_device *netdev, const u32 *indir)
|
||||
static int igb_set_rxfh(struct net_device *netdev, const u32 *indir,
|
||||
const u8 *key)
|
||||
{
|
||||
struct igb_adapter *adapter = netdev_priv(netdev);
|
||||
struct e1000_hw *hw = &adapter->hw;
|
||||
@@ -3025,8 +3026,8 @@ static const struct ethtool_ops igb_ethtool_ops = {
|
||||
.get_module_info = igb_get_module_info,
|
||||
.get_module_eeprom = igb_get_module_eeprom,
|
||||
.get_rxfh_indir_size = igb_get_rxfh_indir_size,
|
||||
.get_rxfh_indir = igb_get_rxfh_indir,
|
||||
.set_rxfh_indir = igb_set_rxfh_indir,
|
||||
.get_rxfh = igb_get_rxfh,
|
||||
.set_rxfh = igb_set_rxfh,
|
||||
.get_channels = igb_get_channels,
|
||||
.set_channels = igb_set_channels,
|
||||
.begin = igb_ethtool_begin,
|
||||
|
Reference in New Issue
Block a user