aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/ethtool.h
diff options
context:
space:
mode:
authorBen Hutchings <ben@decadent.org.uk>2014-05-18 20:25:59 -0400
committerBen Hutchings <ben@decadent.org.uk>2014-05-18 20:28:40 -0400
commit678e30df2e5664619e06fcfea5490a476826d8fe (patch)
tree382c6613dfd5cb91e6fcab80d53b4cd7c18cb195 /include/linux/ethtool.h
parent38c891a49dec43dbb1575cc40d10dbd49c4961ab (diff)
ethtool: Expand documentation of ethtool_ops::{get,set}_rxfh()
Some corner-cases are not explained properly. Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
Diffstat (limited to 'include/linux/ethtool.h')
-rw-r--r--include/linux/ethtool.h17
1 files changed, 9 insertions, 8 deletions
diff --git a/include/linux/ethtool.h b/include/linux/ethtool.h
index 212f537fc686..886e127d51a6 100644
--- a/include/linux/ethtool.h
+++ b/include/linux/ethtool.h
@@ -162,15 +162,16 @@ static inline u32 ethtool_rxfh_indir_default(u32 index, u32 n_rx_rings)
162 * 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 163 * @get_rxfh: Get the contents of the RX flow hash indirection table and hash
164 * key. 164 * key.
165 * Will not be called if @get_rxfh_indir_size and @get_rxfh_key_size 165 * Will only be called if one or both of @get_rxfh_indir_size and
166 * returns zero. 166 * @get_rxfh_key_size are implemented and return non-zero.
167 * Returns a negative error code or zero. 167 * Returns a negative error code or zero.
168 * @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.
169 * 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 170 * @set_rxfh: Set the contents of the RX flow hash indirection table and/or
171 * hash key. 171 * hash key. Either or both arguments may be %NULL if that attribute
172 * Will not be called if @get_rxfh_indir_size and @get_rxfh_key_size 172 * is not to be changed.
173 * returns zero. 173 * Will only be called if one or both of @get_rxfh_indir_size and
174 * @get_rxfh_key_size are implemented and return non-zero.
174 * Returns a negative error code or zero. 175 * Returns a negative error code or zero.
175 * @get_channels: Get number of channels. 176 * @get_channels: Get number of channels.
176 * @set_channels: Set number of channels. Returns a negative error code or 177 * @set_channels: Set number of channels. Returns a negative error code or
@@ -244,8 +245,8 @@ struct ethtool_ops {
244 int (*reset)(struct net_device *, u32 *); 245 int (*reset)(struct net_device *, u32 *);
245 u32 (*get_rxfh_key_size)(struct net_device *); 246 u32 (*get_rxfh_key_size)(struct net_device *);
246 u32 (*get_rxfh_indir_size)(struct net_device *); 247 u32 (*get_rxfh_indir_size)(struct net_device *);
247 int (*get_rxfh)(struct net_device *, u32 *, u8 *); 248 int (*get_rxfh)(struct net_device *, u32 *indir, u8 *key);
248 int (*set_rxfh)(struct net_device *, u32 *, u8 *); 249 int (*set_rxfh)(struct net_device *, u32 *indir, u8 *key);
249 int (*get_rxfh_indir)(struct net_device *, u32 *); 250 int (*get_rxfh_indir)(struct net_device *, u32 *);
250 int (*set_rxfh_indir)(struct net_device *, const u32 *); 251 int (*set_rxfh_indir)(struct net_device *, const u32 *);
251 void (*get_channels)(struct net_device *, struct ethtool_channels *); 252 void (*get_channels)(struct net_device *, struct ethtool_channels *);