| /linux/net/ethtool/ |
| H A D | rss.c | 153 struct ethtool_rxfh_param rxfh = {}; in rss_prepare_get() local 165 rxfh.indir_size = data->indir_size; in rss_prepare_get() 166 rxfh.indir = data->indir_table; in rss_prepare_get() 167 rxfh.key_size = data->hkey_size; in rss_prepare_get() 168 rxfh.key = data->hkey; in rss_prepare_get() 170 ret = ops->get_rxfh(dev, &rxfh); in rss_prepare_get() 174 data->hfunc = rxfh.hfunc; in rss_prepare_get() 175 data->input_xfrm = rxfh.input_xfrm; in rss_prepare_get() 620 struct rss_reply_data *data, struct ethtool_rxfh_param *rxfh, in rss_set_prep_indir() 646 if (rxfh in rss_set_prep_indir() 619 rss_set_prep_indir(struct net_device * dev,struct genl_info * info,struct rss_reply_data * data,struct ethtool_rxfh_param * rxfh,bool * reset,bool * mod) rss_set_prep_indir() argument 699 rss_set_prep_hkey(struct net_device * dev,struct genl_info * info,struct rss_reply_data * data,struct ethtool_rxfh_param * rxfh,bool * mod) rss_set_prep_hkey() argument 804 rss_set_ctx_update(struct ethtool_rxfh_context * ctx,struct nlattr ** tb,struct rss_reply_data * data,struct ethtool_rxfh_param * rxfh) rss_set_ctx_update() argument 832 struct ethtool_rxfh_param rxfh = {}; ethnl_rss_set() local 1000 struct ethtool_rxfh_param rxfh = {}; ethnl_rss_create_doit() local [all...] |
| H A D | ioctl.c | 926 * ETHTOOL_{G,S}RXFH with only the cmd, flow_type and data in ethtool_rxnfc_copy_struct() 1044 static int ethtool_check_xfrm_rxfh(u32 input_xfrm, u64 rxfh) in ethtool_check_flow_types() 1052 !ethtool_rxfh_config_is_sym(rxfh)) in ethtool_check_flow_types() 1111 struct ethtool_rxfh_param rxfh = {}; 1113 rc = ops->get_rxfh(dev, &rxfh); in ethtool_get_rxfh_fields() 1117 rc = ethtool_check_xfrm_rxfh(rxfh.input_xfrm, info.data); in ethtool_get_rxfh_fields() 1301 struct ethtool_rxfh_param rxfh = {}; in ethtool_set_rxfh_indir() 1308 rxfh.indir_size = dev->ethtool_ops->get_rxfh_indir_size(dev); in ethtool_set_rxfh_indir() 1309 if (rxfh.indir_size == 0) in ethtool_set_rxfh_indir() 1318 &rxfh in ethtool_set_rxfh_indir() 1022 ethtool_check_xfrm_rxfh(u32 input_xfrm,u64 rxfh) ethtool_check_xfrm_rxfh() argument 1086 struct ethtool_rxfh_param rxfh = {}; ethtool_set_rxfh_fields() local 1253 struct ethtool_rxfh_param rxfh = {}; ethtool_get_rxfh_indir() local 1377 struct ethtool_rxfh rxfh; ethtool_get_rxfh() local 1487 struct ethtool_rxfh rxfh; ethtool_set_rxfh() local [all...] |
| H A D | common.c | 705 struct ethtool_rxfh_param rxfh = {}; in ethtool_get_max_rxfh_channel() local 726 rxfh.indir = kcalloc(dev_size, sizeof(rxfh.indir[0]), GFP_USER); in ethtool_get_max_rxfh_channel() 727 if (!rxfh.indir) in ethtool_get_max_rxfh_channel() 731 ret = dev->ethtool_ops->get_rxfh(dev, &rxfh); in ethtool_get_max_rxfh_channel() 739 current_max = max(current_max, rxfh.indir[dev_size]); in ethtool_get_max_rxfh_channel() 742 kfree(rxfh.indir); in ethtool_get_max_rxfh_channel() 866 int ethtool_rxfh_config_is_sym(u64 rxfh) in ethtool_rxfh_config_is_sym() argument 870 sym = rxfh == (rxfh & (RXH_IP_SRC | RXH_IP_DST | in ethtool_rxfh_config_is_sym() 872 sym &= !!(rxfh & RXH_IP_SRC) == !!(rxfh & RXH_IP_DST); in ethtool_rxfh_config_is_sym() 873 sym &= !!(rxfh & RXH_L4_B_0_1) == !!(rxfh & RXH_L4_B_2_3); in ethtool_rxfh_config_is_sym()
|
| /linux/drivers/net/ethernet/microsoft/mana/ |
| H A D | mana_ethtool.c | 303 struct ethtool_rxfh_param *rxfh) in mana_get_rxfh() argument 308 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in mana_get_rxfh() 310 if (rxfh->indir) { in mana_get_rxfh() 312 rxfh->indir[i] = apc->indir_table[i]; in mana_get_rxfh() 315 if (rxfh->key) in mana_get_rxfh() 316 memcpy(rxfh->key, apc->hashkey, MANA_HASH_KEY_SIZE); in mana_get_rxfh() 322 struct ethtool_rxfh_param *rxfh, in mana_set_rxfh() argument 334 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in mana_set_rxfh() 335 rxfh->hfunc != ETH_RSS_HASH_TOP) in mana_set_rxfh() 342 if (rxfh->indir) { in mana_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/google/gve/ |
| H A D | gve_ethtool.c | 859 struct ethtool_rxfh_param *rxfh) in gve_get_rss_config_cache() argument 863 rxfh->hfunc = ETH_RSS_HASH_TOP; in gve_get_rss_config_cache() 865 if (rxfh->key) { in gve_get_rss_config_cache() 866 rxfh->key_size = priv->rss_key_size; in gve_get_rss_config_cache() 867 memcpy(rxfh->key, rss_config->hash_key, priv->rss_key_size); in gve_get_rss_config_cache() 870 if (rxfh->indir) { in gve_get_rss_config_cache() 871 rxfh->indir_size = priv->rss_lut_size; in gve_get_rss_config_cache() 872 memcpy(rxfh->indir, rss_config->hash_lut, in gve_get_rss_config_cache() 873 priv->rss_lut_size * sizeof(*rxfh->indir)); in gve_get_rss_config_cache() 877 static int gve_get_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh) in gve_get_rxfh() argument [all …]
|
| H A D | gve_adminq.c | 1365 int gve_adminq_configure_rss(struct gve_priv *priv, struct ethtool_rxfh_param *rxfh) in gve_adminq_configure_rss() argument 1377 switch (rxfh->hfunc) { in gve_adminq_configure_rss() 1387 if (rxfh->indir) { in gve_adminq_configure_rss() 1388 if (rxfh->indir_size != priv->rss_lut_size) in gve_adminq_configure_rss() 1391 hash_lut_to_config = rxfh->indir; in gve_adminq_configure_rss() 1407 if (rxfh->key) { in gve_adminq_configure_rss() 1408 if (rxfh->key_size != priv->rss_key_size) { in gve_adminq_configure_rss() 1413 hash_key_to_config = rxfh->key; in gve_adminq_configure_rss() 1542 struct ethtool_rxfh_param *rxfh) in gve_adminq_process_rss_query() argument 1551 hash_lut_length = priv->rss_lut_size * sizeof(*rxfh->indir); in gve_adminq_process_rss_query() [all …]
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | ethtool_common.c | 1161 struct ethtool_rxfh_param *rxfh) in efx_ethtool_get_rxfh() argument 1166 if (rxfh->rss_context) /* core should never call us for these */ in efx_ethtool_get_rxfh() 1173 rxfh->hfunc = ETH_RSS_HASH_TOP; in efx_ethtool_get_rxfh() 1174 if (rxfh->indir) in efx_ethtool_get_rxfh() 1175 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_ethtool_get_rxfh() 1177 if (rxfh->key) in efx_ethtool_get_rxfh() 1178 memcpy(rxfh->key, efx->rss_context.rx_hash_key, in efx_ethtool_get_rxfh() 1185 const struct ethtool_rxfh_param *rxfh, in efx_ethtool_modify_rxfh_context() argument 1190 const u32 *indir = rxfh->indir; in efx_ethtool_modify_rxfh_context() 1191 const u8 *key = rxfh->key; in efx_ethtool_modify_rxfh_context() [all …]
|
| H A D | ethtool_common.h | 48 struct ethtool_rxfh_param *rxfh); 50 struct ethtool_rxfh_param *rxfh, 56 const struct ethtool_rxfh_param *rxfh, 60 const struct ethtool_rxfh_param *rxfh,
|
| /linux/drivers/net/ethernet/aquantia/atlantic/ |
| H A D | aq_ethtool.c | 446 struct ethtool_rxfh_param *rxfh) in aq_ethtool_get_rss() argument 454 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in aq_ethtool_get_rss() 455 if (rxfh->indir) { in aq_ethtool_get_rss() 457 rxfh->indir[i] = cfg->aq_rss.indirection_table[i]; in aq_ethtool_get_rss() 459 if (rxfh->key) in aq_ethtool_get_rss() 460 memcpy(rxfh->key, cfg->aq_rss.hash_secret_key, in aq_ethtool_get_rss() 467 struct ethtool_rxfh_param *rxfh, in aq_ethtool_set_rss() argument 480 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in aq_ethtool_set_rss() 481 rxfh->hfunc != ETH_RSS_HASH_TOP) in aq_ethtool_set_rss() 484 if (rxfh->indir) in aq_ethtool_set_rss() [all …]
|
| /linux/drivers/net/ethernet/cavium/thunder/ |
| H A D | nicvf_ethtool.c | 647 struct ethtool_rxfh_param *rxfh) in nicvf_get_rxfh() argument 653 if (rxfh->indir) { in nicvf_get_rxfh() 655 rxfh->indir[idx] = rss->ind_tbl[idx]; in nicvf_get_rxfh() 658 if (rxfh->key) in nicvf_get_rxfh() 659 memcpy(rxfh->key, rss->key, RSS_HASH_KEY_SIZE * sizeof(u64)); in nicvf_get_rxfh() 661 rxfh->hfunc = ETH_RSS_HASH_TOP; in nicvf_get_rxfh() 667 struct ethtool_rxfh_param *rxfh, in nicvf_set_rxfh() argument 674 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in nicvf_set_rxfh() 675 rxfh->hfunc != ETH_RSS_HASH_TOP) in nicvf_set_rxfh() 684 if (rxfh->indir) { in nicvf_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/microchip/ |
| H A D | lan743x_ethtool.c | 957 struct ethtool_rxfh_param *rxfh) in lan743x_ethtool_get_rxfh() argument 961 if (rxfh->indir) { in lan743x_ethtool_get_rxfh() 970 rxfh->indir[byte_index + 0] = in lan743x_ethtool_get_rxfh() 972 rxfh->indir[byte_index + 1] = in lan743x_ethtool_get_rxfh() 974 rxfh->indir[byte_index + 2] = in lan743x_ethtool_get_rxfh() 976 rxfh->indir[byte_index + 3] = in lan743x_ethtool_get_rxfh() 980 if (rxfh->key) { in lan743x_ethtool_get_rxfh() 990 rxfh->key[byte_index + 0] = in lan743x_ethtool_get_rxfh() 992 rxfh->key[byte_index + 1] = in lan743x_ethtool_get_rxfh() 994 rxfh->key[byte_index + 2] = in lan743x_ethtool_get_rxfh() [all …]
|
| /linux/drivers/net/ethernet/cisco/enic/ |
| H A D | enic_ethtool.c | 616 struct ethtool_rxfh_param *rxfh) in enic_get_rxfh() argument 620 if (rxfh->key) in enic_get_rxfh() 621 memcpy(rxfh->key, enic->rss_key, ENIC_RSS_LEN); in enic_get_rxfh() 623 rxfh->hfunc = ETH_RSS_HASH_TOP; in enic_get_rxfh() 629 struct ethtool_rxfh_param *rxfh, in enic_set_rxfh() argument 634 if (rxfh->indir || in enic_set_rxfh() 635 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in enic_set_rxfh() 636 rxfh->hfunc != ETH_RSS_HASH_TOP)) in enic_set_rxfh() 639 if (rxfh->key) in enic_set_rxfh() 640 memcpy(enic->rss_key, rxfh->key, ENIC_RSS_LEN); in enic_set_rxfh()
|
| /linux/drivers/net/ethernet/meta/fbnic/ |
| H A D | fbnic_ethtool.c | 1289 fbnic_get_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh) in fbnic_get_rxfh() argument 1294 rxfh->hfunc = ETH_RSS_HASH_TOP; in fbnic_get_rxfh() 1296 if (rxfh->key) { in fbnic_get_rxfh() 1300 rxfh->key[i] = rss_key >> 24; in fbnic_get_rxfh() 1304 if (rxfh->indir) { in fbnic_get_rxfh() 1306 rxfh->indir[i] = fbn->indir_tbl[0][i]; in fbnic_get_rxfh() 1329 fbnic_set_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh, in fbnic_set_rxfh() argument 1335 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in fbnic_set_rxfh() 1336 rxfh->hfunc != ETH_RSS_HASH_TOP) in fbnic_set_rxfh() 1339 if (rxfh->key) { in fbnic_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/intel/iavf/ |
| H A D | iavf_ethtool.c | 1688 * @rxfh: pointer to param struct (indir, key, hfunc) 1693 struct ethtool_rxfh_param *rxfh) in iavf_get_rxfh() argument 1698 rxfh->hfunc = ETH_RSS_HASH_TOP; in iavf_get_rxfh() 1700 rxfh->input_xfrm |= RXH_XFRM_SYM_XOR; in iavf_get_rxfh() 1702 if (rxfh->key) in iavf_get_rxfh() 1703 memcpy(rxfh->key, adapter->rss_key, adapter->rss_key_size); in iavf_get_rxfh() 1705 if (rxfh->indir) in iavf_get_rxfh() 1708 rxfh->indir[i] = (u32)adapter->rss_lut[i]; in iavf_get_rxfh() 1716 * @rxfh: pointer to param struct (indir, key, hfunc) 1723 struct ethtool_rxfh_param *rxfh, in iavf_set_rxfh() argument [all …]
|
| /linux/drivers/net/ethernet/hisilicon/hns/ |
| H A D | hns_ethtool.c | 1188 hns_get_rss(struct net_device *netdev, struct ethtool_rxfh_param *rxfh) in hns_get_rss() argument 1201 if (!rxfh->indir) in hns_get_rss() 1205 rxfh->indir, rxfh->key, &rxfh->hfunc); in hns_get_rss() 1209 hns_set_rss(struct net_device *netdev, struct ethtool_rxfh_param *rxfh, in hns_set_rss() argument 1223 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in hns_set_rss() 1224 rxfh->hfunc != ETH_RSS_HASH_TOP) { in hns_set_rss() 1230 rxfh->indir, rxfh->key, rxfh->hfunc); in hns_set_rss()
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | ethtool_common.c | 1152 struct ethtool_rxfh_param *rxfh) in efx_siena_ethtool_get_rxfh() argument 1161 rxfh->hfunc = ETH_RSS_HASH_TOP; in efx_siena_ethtool_get_rxfh() 1162 if (rxfh->indir) in efx_siena_ethtool_get_rxfh() 1163 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_siena_ethtool_get_rxfh() 1165 if (rxfh->key) in efx_siena_ethtool_get_rxfh() 1166 memcpy(rxfh->key, efx->rss_context.rx_hash_key, in efx_siena_ethtool_get_rxfh() 1172 struct ethtool_rxfh_param *rxfh, in efx_siena_ethtool_set_rxfh() argument 1176 u32 *indir = rxfh->indir; in efx_siena_ethtool_set_rxfh() 1177 u8 *key = rxfh->key; in efx_siena_ethtool_set_rxfh() 1180 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in efx_siena_ethtool_set_rxfh() [all …]
|
| H A D | ethtool_common.h | 45 struct ethtool_rxfh_param *rxfh); 47 struct ethtool_rxfh_param *rxfh,
|
| /linux/drivers/net/ethernet/emulex/benet/ |
| H A D | be_ethtool.c | 1268 struct ethtool_rxfh_param *rxfh) in be_get_rxfh() argument 1274 if (rxfh->indir) { in be_get_rxfh() 1276 rxfh->indir[i] = rss->rss_queue[i]; in be_get_rxfh() 1279 if (rxfh->key) in be_get_rxfh() 1280 memcpy(rxfh->key, rss->rss_hkey, RSS_HASH_KEY_LEN); in be_get_rxfh() 1282 rxfh->hfunc = ETH_RSS_HASH_TOP; in be_get_rxfh() 1288 struct ethtool_rxfh_param *rxfh, in be_set_rxfh() argument 1293 u8 *hkey = rxfh->key; in be_set_rxfh() 1297 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in be_set_rxfh() 1298 rxfh->hfunc != ETH_RSS_HASH_TOP) in be_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_ethtool.c | 1123 struct ethtool_rxfh_param *rxfh) in hinic_get_rxfh() argument 1138 rxfh->hfunc = hash_engine_type ? ETH_RSS_HASH_TOP : ETH_RSS_HASH_XOR; in hinic_get_rxfh() 1140 if (rxfh->indir) { in hinic_get_rxfh() 1143 rxfh->indir); in hinic_get_rxfh() 1148 if (rxfh->key) in hinic_get_rxfh() 1151 rxfh->key); in hinic_get_rxfh() 1157 struct ethtool_rxfh_param *rxfh, in hinic_set_rxfh() argument 1166 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE) { in hinic_set_rxfh() 1167 if (rxfh->hfunc != ETH_RSS_HASH_TOP && in hinic_set_rxfh() 1168 rxfh->hfunc != ETH_RSS_HASH_XOR) in hinic_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/sfc/falcon/ |
| H A D | ethtool.c | 1263 struct ethtool_rxfh_param *rxfh) in ef4_ethtool_get_rxfh() argument 1267 rxfh->hfunc = ETH_RSS_HASH_TOP; in ef4_ethtool_get_rxfh() 1268 if (rxfh->indir) in ef4_ethtool_get_rxfh() 1269 memcpy(rxfh->indir, efx->rx_indir_table, in ef4_ethtool_get_rxfh() 1275 struct ethtool_rxfh_param *rxfh, in ef4_ethtool_set_rxfh() argument 1281 if (rxfh->key || in ef4_ethtool_set_rxfh() 1282 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in ef4_ethtool_set_rxfh() 1283 rxfh->hfunc != ETH_RSS_HASH_TOP)) in ef4_ethtool_set_rxfh() 1285 if (!rxfh->indir) in ef4_ethtool_set_rxfh() 1288 return efx->type->rx_push_rss_config(efx, true, rxfh->indir); in ef4_ethtool_set_rxfh()
|
| /linux/drivers/net/vmxnet3/ |
| H A D | vmxnet3_ethtool.c | 1114 vmxnet3_get_rss(struct net_device *netdev, struct ethtool_rxfh_param *rxfh) in vmxnet3_get_rss() argument 1120 rxfh->hfunc = ETH_RSS_HASH_TOP; in vmxnet3_get_rss() 1121 if (!rxfh->indir) in vmxnet3_get_rss() 1126 rxfh->indir[n] = rssConf->indTable[n]; in vmxnet3_get_rss() 1132 vmxnet3_set_rss(struct net_device *netdev, struct ethtool_rxfh_param *rxfh, in vmxnet3_set_rss() argument 1141 if (rxfh->key || in vmxnet3_set_rss() 1142 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in vmxnet3_set_rss() 1143 rxfh->hfunc != ETH_RSS_HASH_TOP)) in vmxnet3_set_rss() 1145 if (!rxfh->indir) in vmxnet3_set_rss() 1148 rssConf->indTable[i] = rxfh->indir[i]; in vmxnet3_set_rss()
|
| /linux/drivers/net/ethernet/qlogic/qede/ |
| H A D | qede_ethtool.c | 1370 struct ethtool_rxfh_param *rxfh) in qede_get_rxfh() argument 1375 rxfh->hfunc = ETH_RSS_HASH_TOP; in qede_get_rxfh() 1377 if (!rxfh->indir) in qede_get_rxfh() 1381 rxfh->indir[i] = edev->rss_ind_table[i]; in qede_get_rxfh() 1383 if (rxfh->key) in qede_get_rxfh() 1384 memcpy(rxfh->key, edev->rss_key, qede_get_rxfh_key_size(dev)); in qede_get_rxfh() 1390 struct ethtool_rxfh_param *rxfh, in qede_set_rxfh() argument 1403 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in qede_set_rxfh() 1404 rxfh->hfunc != ETH_RSS_HASH_TOP) in qede_set_rxfh() 1407 if (!rxfh->indir && !rxfh->key) in qede_set_rxfh() [all …]
|
| /linux/drivers/net/hyperv/ |
| H A D | netvsc_drv.c | 1719 struct ethtool_rxfh_param *rxfh) in netvsc_get_rxfh() argument 1729 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in netvsc_get_rxfh() 1732 if (rxfh->indir) { in netvsc_get_rxfh() 1734 rxfh->indir[i] = ndc->rx_table[i]; in netvsc_get_rxfh() 1737 if (rxfh->key) in netvsc_get_rxfh() 1738 memcpy(rxfh->key, rndis_dev->rss_key, NETVSC_HASH_KEYLEN); in netvsc_get_rxfh() 1744 struct ethtool_rxfh_param *rxfh, in netvsc_set_rxfh() argument 1750 u8 *key = rxfh->key; in netvsc_set_rxfh() 1756 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in netvsc_set_rxfh() 1757 rxfh->hfunc != ETH_RSS_HASH_TOP) in netvsc_set_rxfh() [all …]
|
| /linux/include/linux/ |
| H A D | ethtool.h | 818 * struct ethtool_rxfh_param - RXFH (RSS) parameters 851 * struct ethtool_rxfh_fields - Rx Flow Hashing (RXFH) header field config 1014 * However, if @rxfh.indir is set to %NULL, the driver must update the 1016 * use; similarly, if @rxfh.key is %NULL, @rxfh.hfunc is 1017 * %ETH_RSS_HASH_NO_CHANGE, or @rxfh.input_xfrm is %RXH_XFRM_NO_CHANGE, 1201 const struct ethtool_rxfh_param *rxfh, 1205 const struct ethtool_rxfh_param *rxfh,
|
| /linux/drivers/net/ethernet/chelsio/cxgb4/ |
| H A D | cxgb4_ethtool.c | 1587 struct ethtool_rxfh_param *rxfh) in get_rss_table() argument 1592 rxfh->hfunc = ETH_RSS_HASH_TOP; in get_rss_table() 1593 if (!rxfh->indir) in get_rss_table() 1596 rxfh->indir[n] = pi->rss[n]; in get_rss_table() 1601 struct ethtool_rxfh_param *rxfh, in set_rss_table() argument 1610 if (rxfh->key || in set_rss_table() 1611 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in set_rss_table() 1612 rxfh->hfunc != ETH_RSS_HASH_TOP)) in set_rss_table() 1614 if (!rxfh->indir) in set_rss_table() 1620 pi->rss[i] = rxfh->indir[i]; in set_rss_table()
|