diff options
author | Venkata Duvvuru <VenkatKumar.Duvvuru@Emulex.Com> | 2014-04-21 06:07:59 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-04-22 21:27:57 -0400 |
commit | 3de0b592394d17b2c41a261a6a493a521213f299 (patch) | |
tree | 34dbd689895d3c808fc25feb3c881a6f378236fe /include/linux/ethtool.h | |
parent | 862aa49164812e8da2d5b96323ed2b680f255e71 (diff) |
ethtool: Support for configurable RSS hash key
This ethtool patch primarily copies the ioctl command data structures
from/to the User space and invokes the driver hook.
Signed-off-by: Venkat Duvvuru <VenkatKumar.Duvvuru@Emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ethtool.h')
-rw-r--r-- | include/linux/ethtool.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h index 0a114d05f68d..212f537fc686 100644 --- a/include/linux/ethtool.h +++ b/include/linux/ethtool.h | |||
@@ -154,13 +154,23 @@ static inline u32 ethtool_rxfh_indir_default(u32 index, u32 n_rx_rings) | |||
154 | * @reset: Reset (part of) the device, as specified by a bitmask of | 154 | * @reset: Reset (part of) the device, as specified by a bitmask of |
155 | * flags from &enum ethtool_reset_flags. Returns a negative | 155 | * flags from &enum ethtool_reset_flags. Returns a negative |
156 | * error code or zero. | 156 | * error code or zero. |
157 | * @get_rxfh_key_size: Get the size of the RX flow hash key. | ||
158 | * Returns zero if not supported for this specific device. | ||
157 | * @get_rxfh_indir_size: Get the size of the RX flow hash indirection table. | 159 | * @get_rxfh_indir_size: Get the size of the RX flow hash indirection table. |
158 | * Returns zero if not supported for this specific device. | 160 | * Returns zero if not supported for this specific device. |
159 | * @get_rxfh_indir: Get the contents of the RX flow hash indirection table. | 161 | * @get_rxfh_indir: Get the contents of the RX flow hash indirection table. |
160 | * Will not be called if @get_rxfh_indir_size returns zero. | 162 | * Will not be called if @get_rxfh_indir_size returns zero. |
163 | * @get_rxfh: Get the contents of the RX flow hash indirection table and hash | ||
164 | * key. | ||
165 | * Will not be called if @get_rxfh_indir_size and @get_rxfh_key_size | ||
166 | * returns zero. | ||
161 | * Returns a negative error code or zero. | 167 | * Returns a negative error code or zero. |
162 | * @set_rxfh_indir: Set the contents of the RX flow hash indirection table. | 168 | * @set_rxfh_indir: Set the contents of the RX flow hash indirection table. |
163 | * Will not be called if @get_rxfh_indir_size returns zero. | 169 | * Will not be called if @get_rxfh_indir_size returns zero. |
170 | * @set_rxfh: Set the contents of the RX flow hash indirection table and | ||
171 | * hash key. | ||
172 | * Will not be called if @get_rxfh_indir_size and @get_rxfh_key_size | ||
173 | * returns zero. | ||
164 | * Returns a negative error code or zero. | 174 | * Returns a negative error code or zero. |
165 | * @get_channels: Get number of channels. | 175 | * @get_channels: Get number of channels. |
166 | * @set_channels: Set number of channels. Returns a negative error code or | 176 | * @set_channels: Set number of channels. Returns a negative error code or |
@@ -232,7 +242,10 @@ struct ethtool_ops { | |||
232 | int (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *); | 242 | int (*set_rxnfc)(struct net_device *, struct ethtool_rxnfc *); |
233 | int (*flash_device)(struct net_device *, struct ethtool_flash *); | 243 | int (*flash_device)(struct net_device *, struct ethtool_flash *); |
234 | int (*reset)(struct net_device *, u32 *); | 244 | int (*reset)(struct net_device *, u32 *); |
245 | u32 (*get_rxfh_key_size)(struct net_device *); | ||
235 | u32 (*get_rxfh_indir_size)(struct net_device *); | 246 | u32 (*get_rxfh_indir_size)(struct net_device *); |
247 | int (*get_rxfh)(struct net_device *, u32 *, u8 *); | ||
248 | int (*set_rxfh)(struct net_device *, u32 *, u8 *); | ||
236 | int (*get_rxfh_indir)(struct net_device *, u32 *); | 249 | int (*get_rxfh_indir)(struct net_device *, u32 *); |
237 | int (*set_rxfh_indir)(struct net_device *, const u32 *); | 250 | int (*set_rxfh_indir)(struct net_device *, const u32 *); |
238 | void (*get_channels)(struct net_device *, struct ethtool_channels *); | 251 | void (*get_channels)(struct net_device *, struct ethtool_channels *); |