Re: [RFC PATCH v2 10/10] ixgbe: Add support for set_channels ethtool operation
From: Alexander Duyck <hidden>
Date: 2013-01-17 00:35:48
On 01/16/2013 08:19 AM, Ben Hutchings wrote:
On Thu, 2013-01-10 at 10:58 -0800, Alexander Duyck wrote:quoted
This change adds support for the ethtool set_channels operation. Since the ixgbe driver has to support DCB as well as the other modes the assumption I made here is that the number of channels in DCB modes refers to the number of queues per traffic class, not the number of queues total. Signed-off-by: Alexander Duyck <redacted>In DCB mode are there separate IRQs for the different classes? [...]quoted
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c@@ -2775,6 +2775,45 @@ static void ixgbe_get_channels(struct net_device *dev, ch->combined_count = adapter->ring_feature[RING_F_FDIR].indices; } +static int ixgbe_set_channels(struct net_device *dev, + struct ethtool_channels *ch) +{ + struct ixgbe_adapter *adapter = netdev_priv(dev); + unsigned int count = ch->combined_count; + + /* verify they are not requesting separate vectors */ + if (ch->rx_count || ch->tx_count) + return -EINVAL; + + /* ignore other_count since it is not changeable */[...] Please do return an error if the command specifies a change to other_count. Ben.
I will update the patch to return an error if other_count is not equal to NON_Q_VECTORS. Thanks, Alex