Lines Matching refs:rxfh

1157 	/* indicate whether rxfh was set to default */
1175 struct ethtool_rxfh rxfh;
1191 if (copy_from_user(&rxfh, useraddr, sizeof(rxfh)))
1193 user_indir_size = rxfh.indir_size;
1194 user_key_size = rxfh.key_size;
1197 if (rxfh.rsvd8[0] || rxfh.rsvd8[1] || rxfh.rsvd8[2] || rxfh.rsvd32)
1200 if (rxfh.rss_context && !ops->get_rxfh_context)
1203 rxfh.indir_size = dev_indir_size;
1204 rxfh.key_size = dev_key_size;
1205 if (copy_to_user(useraddr, &rxfh, sizeof(rxfh)))
1224 if (rxfh.rss_context)
1227 rxfh.rss_context);
1234 &dev_hfunc, sizeof(rxfh.hfunc))) {
1253 struct ethtool_rxfh rxfh;
1269 if (copy_from_user(&rxfh, useraddr, sizeof(rxfh)))
1273 if (rxfh.rsvd8[0] || rxfh.rsvd8[1] || rxfh.rsvd8[2] || rxfh.rsvd32)
1276 if (rxfh.rss_context && !ops->set_rxfh_context)
1282 if ((rxfh.indir_size &&
1283 rxfh.indir_size != ETH_RXFH_INDIR_NO_CHANGE &&
1284 rxfh.indir_size != dev_indir_size) ||
1285 (rxfh.key_size && (rxfh.key_size != dev_key_size)) ||
1286 (rxfh.indir_size == ETH_RXFH_INDIR_NO_CHANGE &&
1287 rxfh.key_size == 0 && rxfh.hfunc == ETH_RSS_HASH_NO_CHANGE))
1290 if (rxfh.indir_size != ETH_RXFH_INDIR_NO_CHANGE)
1293 rss_config = kzalloc(indir_bytes + rxfh.key_size, GFP_USER);
1302 /* rxfh.indir_size == 0 means reset the indir table to default (master
1304 * rxfh.indir_size == ETH_RXFH_INDIR_NO_CHANGE means leave it unchanged.
1306 if (rxfh.indir_size &&
1307 rxfh.indir_size != ETH_RXFH_INDIR_NO_CHANGE) {
1312 rxfh.indir_size);
1315 } else if (rxfh.indir_size == 0) {
1316 if (rxfh.rss_context == 0) {
1325 if (rxfh.key_size) {
1329 rxfh.key_size)) {
1335 if (rxfh.rss_context)
1336 ret = ops->set_rxfh_context(dev, indir, hkey, rxfh.hfunc,
1337 &rxfh.rss_context, delete);
1339 ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc);
1344 &rxfh.rss_context, sizeof(rxfh.rss_context)))
1347 if (!rxfh.rss_context) {
1348 /* indicate whether rxfh was set to default */
1349 if (rxfh.indir_size == 0)
1351 else if (rxfh.indir_size != ETH_RXFH_INDIR_NO_CHANGE)