| /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() argument 646 if (rxfh->rss_context) { in rss_set_prep_indir() [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_xfrm_rxfh() argument 1052 !ethtool_rxfh_config_is_sym(rxfh)) in ethtool_check_xfrm_rxfh() 1111 struct ethtool_rxfh_param rxfh = {}; in ethtool_set_rxfh_fields() local 1113 rc = ops->get_rxfh(dev, &rxfh); in ethtool_set_rxfh_fields() 1117 rc = ethtool_check_xfrm_rxfh(rxfh.input_xfrm, info.data); in ethtool_set_rxfh_fields() 1301 struct ethtool_rxfh_param rxfh = {}; in ethtool_get_rxfh_indir() local 1308 rxfh.indir_size = dev->ethtool_ops->get_rxfh_indir_size(dev); in ethtool_get_rxfh_indir() 1309 if (rxfh.indir_size == 0) in ethtool_get_rxfh_indir() 1318 &rxfh.indir_size, sizeof(rxfh.indir_size))) in ethtool_get_rxfh_indir() [all …]
|
| H A D | common.c | 752 struct ethtool_rxfh_param rxfh = {}; in ethtool_get_max_rxfh_channel() local 773 rxfh.indir = kzalloc_objs(rxfh.indir[0], dev_size, GFP_USER); in ethtool_get_max_rxfh_channel() 774 if (!rxfh.indir) in ethtool_get_max_rxfh_channel() 778 ret = dev->ethtool_ops->get_rxfh(dev, &rxfh); in ethtool_get_max_rxfh_channel() 786 current_max = max(current_max, rxfh.indir[dev_size]); in ethtool_get_max_rxfh_channel() 789 kfree(rxfh.indir); in ethtool_get_max_rxfh_channel() 910 int ethtool_rxfh_config_is_sym(u64 rxfh) in ethtool_rxfh_config_is_sym() argument 914 sym = rxfh == (rxfh & (RXH_IP_SRC | RXH_IP_DST | in ethtool_rxfh_config_is_sym() 916 sym &= !!(rxfh & RXH_IP_SRC) == !!(rxfh & RXH_IP_DST); in ethtool_rxfh_config_is_sym() 917 sym &= !!(rxfh & RXH_L4_B_0_1) == !!(rxfh & RXH_L4_B_2_3); in ethtool_rxfh_config_is_sym()
|
| /linux/drivers/net/ethernet/google/gve/ |
| H A D | gve_ethtool.c | 894 struct ethtool_rxfh_param *rxfh) in gve_get_rss_config_cache() argument 898 rxfh->hfunc = ETH_RSS_HASH_TOP; in gve_get_rss_config_cache() 900 if (rxfh->key) { in gve_get_rss_config_cache() 901 rxfh->key_size = priv->rss_key_size; in gve_get_rss_config_cache() 902 memcpy(rxfh->key, rss_config->hash_key, priv->rss_key_size); in gve_get_rss_config_cache() 905 if (rxfh->indir) { in gve_get_rss_config_cache() 906 rxfh->indir_size = priv->rss_lut_size; in gve_get_rss_config_cache() 907 memcpy(rxfh->indir, rss_config->hash_lut, in gve_get_rss_config_cache() 908 priv->rss_lut_size * sizeof(*rxfh->indir)); in gve_get_rss_config_cache() 912 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.h | 651 int gve_adminq_configure_rss(struct gve_priv *priv, struct ethtool_rxfh_param *rxfh); 652 int gve_adminq_query_rss_config(struct gve_priv *priv, struct ethtool_rxfh_param *rxfh);
|
| /linux/drivers/net/ethernet/sfc/ |
| H A D | ethtool_common.c | 1164 struct ethtool_rxfh_param *rxfh) in efx_ethtool_get_rxfh() argument 1169 if (rxfh->rss_context) /* core should never call us for these */ in efx_ethtool_get_rxfh() 1176 rxfh->hfunc = ETH_RSS_HASH_TOP; in efx_ethtool_get_rxfh() 1177 if (rxfh->indir) in efx_ethtool_get_rxfh() 1178 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_ethtool_get_rxfh() 1180 if (rxfh->key) in efx_ethtool_get_rxfh() 1181 memcpy(rxfh->key, efx->rss_context.rx_hash_key, in efx_ethtool_get_rxfh() 1188 const struct ethtool_rxfh_param *rxfh, in efx_ethtool_modify_rxfh_context() argument 1193 const u32 *indir = rxfh->indir; in efx_ethtool_modify_rxfh_context() 1194 const u8 *key = rxfh->key; in efx_ethtool_modify_rxfh_context() [all …]
|
| /linux/drivers/net/ethernet/marvell/octeontx2/nic/ |
| H A D | otx2_ethtool.c | 814 const struct ethtool_rxfh_param *rxfh, in otx2_create_rxfh() argument 826 if (rxfh->hfunc && rxfh->hfunc != ETH_RSS_HASH_TOP) in otx2_create_rxfh() 835 ind_tbl = rxfh->indir; in otx2_create_rxfh() 842 otx2_set_rss_table(pfvf, rxfh->rss_context, ind_tbl); in otx2_create_rxfh() 848 const struct ethtool_rxfh_param *rxfh, in otx2_modify_rxfh() argument 853 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in otx2_modify_rxfh() 854 rxfh->hfunc != ETH_RSS_HASH_TOP) in otx2_modify_rxfh() 862 if (rxfh->indir) in otx2_modify_rxfh() 863 otx2_set_rss_table(pfvf, rxfh->rss_context, rxfh->indir); in otx2_modify_rxfh() 886 struct ethtool_rxfh_param *rxfh, in otx2_set_rxfh() argument [all …]
|
| /linux/drivers/net/ethernet/meta/fbnic/ |
| H A D | fbnic_ethtool.c | 1295 fbnic_get_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh) in fbnic_get_rxfh() argument 1300 rxfh->hfunc = ETH_RSS_HASH_TOP; in fbnic_get_rxfh() 1302 if (rxfh->key) { in fbnic_get_rxfh() 1306 rxfh->key[i] = rss_key >> 24; in fbnic_get_rxfh() 1310 if (rxfh->indir) { in fbnic_get_rxfh() 1312 rxfh->indir[i] = fbn->indir_tbl[0][i]; in fbnic_get_rxfh() 1335 fbnic_set_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh, in fbnic_set_rxfh() argument 1341 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in fbnic_set_rxfh() 1342 rxfh->hfunc != ETH_RSS_HASH_TOP) in fbnic_set_rxfh() 1345 if (rxfh->key) { in fbnic_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/intel/iavf/ |
| H A D | iavf_ethtool.c | 1786 * @rxfh: pointer to param struct (indir, key, hfunc) 1791 struct ethtool_rxfh_param *rxfh) in iavf_get_rxfh() argument 1796 rxfh->hfunc = ETH_RSS_HASH_TOP; in iavf_get_rxfh() 1798 rxfh->input_xfrm |= RXH_XFRM_SYM_XOR; in iavf_get_rxfh() 1800 if (rxfh->key) in iavf_get_rxfh() 1801 memcpy(rxfh->key, adapter->rss_key, adapter->rss_key_size); in iavf_get_rxfh() 1803 if (rxfh->indir) in iavf_get_rxfh() 1806 rxfh->indir[i] = (u32)adapter->rss_lut[i]; in iavf_get_rxfh() 1814 * @rxfh: pointer to param struct (indir, key, hfunc) 1821 struct ethtool_rxfh_param *rxfh, in iavf_set_rxfh() argument [all …]
|
| /linux/drivers/net/ethernet/sfc/siena/ |
| H A D | ethtool_common.c | 1155 struct ethtool_rxfh_param *rxfh) in efx_siena_ethtool_get_rxfh() argument 1164 rxfh->hfunc = ETH_RSS_HASH_TOP; in efx_siena_ethtool_get_rxfh() 1165 if (rxfh->indir) in efx_siena_ethtool_get_rxfh() 1166 memcpy(rxfh->indir, efx->rss_context.rx_indir_table, in efx_siena_ethtool_get_rxfh() 1168 if (rxfh->key) in efx_siena_ethtool_get_rxfh() 1169 memcpy(rxfh->key, efx->rss_context.rx_hash_key, in efx_siena_ethtool_get_rxfh() 1175 struct ethtool_rxfh_param *rxfh, in efx_siena_ethtool_set_rxfh() argument 1179 u32 *indir = rxfh->indir; in efx_siena_ethtool_set_rxfh() 1180 u8 *key = rxfh->key; in efx_siena_ethtool_set_rxfh() 1183 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in efx_siena_ethtool_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/intel/idpf/ |
| H A D | idpf_ethtool.c | 409 * @rxfh: pointer to param struct (indir, key, hfunc) 417 struct ethtool_rxfh_param *rxfh) in idpf_get_rxfh() argument 440 rxfh->hfunc = ETH_RSS_HASH_TOP; in idpf_get_rxfh() 442 if (rxfh->key) in idpf_get_rxfh() 443 memcpy(rxfh->key, rss_data->rss_key, rss_data->rss_key_size); in idpf_get_rxfh() 445 if (rxfh->indir) { in idpf_get_rxfh() 447 rxfh->indir[i] = rxhash_ena ? rss_data->rss_lut[i] : 0; in idpf_get_rxfh() 459 * @rxfh: pointer to param struct (indir, key, hfunc) 466 struct ethtool_rxfh_param *rxfh, in idpf_set_rxfh() argument 488 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in idpf_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx4/ |
| H A D | en_ethtool.c | 1243 struct ethtool_rxfh_param *rxfh) in mlx4_en_get_rxfh() argument 1253 if (!rxfh->indir) in mlx4_en_get_rxfh() 1255 rxfh->indir[i] = i % rss_rings; in mlx4_en_get_rxfh() 1257 if (rxfh->key) in mlx4_en_get_rxfh() 1258 memcpy(rxfh->key, priv->rss_key, MLX4_EN_RSS_KEY_SIZE); in mlx4_en_get_rxfh() 1259 rxfh->hfunc = priv->rss_hash_fn; in mlx4_en_get_rxfh() 1264 struct ethtool_rxfh_param *rxfh, in mlx4_en_set_rxfh() argument 1279 if (!rxfh->indir) in mlx4_en_set_rxfh() 1281 if (i > 0 && !rxfh->indir[i] && !rss_rings) in mlx4_en_set_rxfh() 1284 if (rxfh->indir[i] != (i % (rss_rings ?: n))) in mlx4_en_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/huawei/hinic/ |
| H A D | hinic_ethtool.c | 1112 struct ethtool_rxfh_param *rxfh) in hinic_get_rxfh() argument 1127 rxfh->hfunc = hash_engine_type ? ETH_RSS_HASH_TOP : ETH_RSS_HASH_XOR; in hinic_get_rxfh() 1129 if (rxfh->indir) { in hinic_get_rxfh() 1132 rxfh->indir); in hinic_get_rxfh() 1137 if (rxfh->key) in hinic_get_rxfh() 1140 rxfh->key); in hinic_get_rxfh() 1146 struct ethtool_rxfh_param *rxfh, in hinic_set_rxfh() argument 1155 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE) { in hinic_set_rxfh() 1156 if (rxfh->hfunc != ETH_RSS_HASH_TOP && in hinic_set_rxfh() 1157 rxfh->hfunc != ETH_RSS_HASH_XOR) in hinic_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/netronome/nfp/ |
| H A D | nfp_net_ethtool.c | 1801 struct ethtool_rxfh_param *rxfh) in nfp_net_get_rxfh() argument 1809 if (rxfh->indir) in nfp_net_get_rxfh() 1811 rxfh->indir[i] = nn->rss_itbl[i]; in nfp_net_get_rxfh() 1812 if (rxfh->key) in nfp_net_get_rxfh() 1813 memcpy(rxfh->key, nn->rss_key, nfp_net_rss_key_sz(nn)); in nfp_net_get_rxfh() 1815 rxfh->hfunc = nn->rss_hfunc; in nfp_net_get_rxfh() 1816 if (rxfh->hfunc >= 1 << ETH_RSS_HASH_FUNCS_COUNT) in nfp_net_get_rxfh() 1817 rxfh->hfunc = ETH_RSS_HASH_UNKNOWN; in nfp_net_get_rxfh() 1823 struct ethtool_rxfh_param *rxfh, in nfp_net_set_rxfh() argument 1830 !(rxfh->hfunc == ETH_RSS_HASH_NO_CHANGE || in nfp_net_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/sfc/falcon/ |
| H A D | ethtool.c | 1266 struct ethtool_rxfh_param *rxfh) in ef4_ethtool_get_rxfh() argument 1270 rxfh->hfunc = ETH_RSS_HASH_TOP; in ef4_ethtool_get_rxfh() 1271 if (rxfh->indir) in ef4_ethtool_get_rxfh() 1272 memcpy(rxfh->indir, efx->rx_indir_table, in ef4_ethtool_get_rxfh() 1278 struct ethtool_rxfh_param *rxfh, in ef4_ethtool_set_rxfh() argument 1284 if (rxfh->key || in ef4_ethtool_set_rxfh() 1285 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in ef4_ethtool_set_rxfh() 1286 rxfh->hfunc != ETH_RSS_HASH_TOP)) in ef4_ethtool_set_rxfh() 1288 if (!rxfh->indir) in ef4_ethtool_set_rxfh() 1291 return efx->type->rx_push_rss_config(efx, true, rxfh->indir); in ef4_ethtool_set_rxfh()
|
| /linux/drivers/net/ethernet/hisilicon/hns3/ |
| H A D | hns3_ethtool.c | 941 struct ethtool_rxfh_param *rxfh) in hns3_get_rss() argument 948 return h->ae_algo->ops->get_rss(h, rxfh->indir, rxfh->key, in hns3_get_rss() 949 &rxfh->hfunc); in hns3_get_rss() 953 struct ethtool_rxfh_param *rxfh, in hns3_set_rss() argument 963 rxfh->hfunc != ETH_RSS_HASH_TOP) || in hns3_set_rss() 964 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in hns3_set_rss() 965 rxfh->hfunc != ETH_RSS_HASH_TOP && in hns3_set_rss() 966 rxfh->hfunc != ETH_RSS_HASH_XOR)) { in hns3_set_rss() 971 if (!rxfh->indir) { in hns3_set_rss() 977 return h->ae_algo->ops->set_rss(h, rxfh->indir, rxfh->key, in hns3_set_rss() [all …]
|
| /linux/drivers/net/ethernet/broadcom/bnxt/ |
| H A D | bnxt_ethtool.c | 1846 struct ethtool_rxfh_param *rxfh) in bnxt_get_rxfh() argument 1854 rxfh->hfunc = ETH_RSS_HASH_TOP; in bnxt_get_rxfh() 1860 if (rxfh->rss_context) { in bnxt_get_rxfh() 1863 ctx = xa_load(&bp->dev->ethtool->rss_ctx, rxfh->rss_context); in bnxt_get_rxfh() 1871 if (rxfh->indir && indir_tbl) { in bnxt_get_rxfh() 1874 rxfh->indir[i] = indir_tbl[i]; in bnxt_get_rxfh() 1877 if (rxfh->key && vnic->rss_hash_key) in bnxt_get_rxfh() 1878 memcpy(rxfh->key, vnic->rss_hash_key, HW_HASH_KEY_SIZE); in bnxt_get_rxfh() 1885 const struct ethtool_rxfh_param *rxfh) in bnxt_modify_rss() argument 1887 if (rxfh->key) { in bnxt_modify_rss() [all …]
|
| /linux/drivers/net/hyperv/ |
| H A D | netvsc_drv.c | 1710 struct ethtool_rxfh_param *rxfh) in netvsc_get_rxfh() argument 1720 rxfh->hfunc = ETH_RSS_HASH_TOP; /* Toeplitz */ in netvsc_get_rxfh() 1723 if (rxfh->indir) { in netvsc_get_rxfh() 1725 rxfh->indir[i] = ndc->rx_table[i]; in netvsc_get_rxfh() 1728 if (rxfh->key) in netvsc_get_rxfh() 1729 memcpy(rxfh->key, rndis_dev->rss_key, NETVSC_HASH_KEYLEN); in netvsc_get_rxfh() 1735 struct ethtool_rxfh_param *rxfh, in netvsc_set_rxfh() argument 1741 u8 *key = rxfh->key; in netvsc_set_rxfh() 1747 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in netvsc_set_rxfh() 1748 rxfh->hfunc != ETH_RSS_HASH_TOP) in netvsc_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/intel/igc/ |
| H A D | igc_ethtool.c | 1491 struct ethtool_rxfh_param *rxfh) in igc_ethtool_get_rxfh() argument 1496 rxfh->hfunc = ETH_RSS_HASH_TOP; in igc_ethtool_get_rxfh() 1497 if (!rxfh->indir) in igc_ethtool_get_rxfh() 1500 rxfh->indir[i] = adapter->rss_indir_tbl[i]; in igc_ethtool_get_rxfh() 1506 struct ethtool_rxfh_param *rxfh, in igc_ethtool_set_rxfh() argument 1514 if (rxfh->key || in igc_ethtool_set_rxfh() 1515 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in igc_ethtool_set_rxfh() 1516 rxfh->hfunc != ETH_RSS_HASH_TOP)) in igc_ethtool_set_rxfh() 1518 if (!rxfh->indir) in igc_ethtool_set_rxfh() 1525 if (rxfh->indir[i] >= num_queues) in igc_ethtool_set_rxfh() [all …]
|
| /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()
|
| /linux/drivers/net/ethernet/intel/ice/ |
| H A D | ice_ethtool.c | 3617 * @rxfh: pointer to param struct (indir, key, hfunc) 3622 ice_get_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh) in ice_get_rxfh() argument 3639 rxfh->hfunc = ETH_RSS_HASH_TOP; in ice_get_rxfh() 3641 rxfh->input_xfrm |= RXH_XFRM_SYM_XOR; in ice_get_rxfh() 3643 if (!rxfh->indir) in ice_get_rxfh() 3650 err = ice_get_rss(vsi, rxfh->key, lut, vsi->rss_table_size); in ice_get_rxfh() 3656 rxfh->indir[i] = offset + lut[i] % qcount; in ice_get_rxfh() 3661 rxfh->indir[i] = lut[i]; in ice_get_rxfh() 3671 * @rxfh: pointer to param struct (indir, key, hfunc) 3678 ice_set_rxfh(struct net_device *netdev, struct ethtool_rxfh_param *rxfh, in ice_set_rxfh() argument [all …]
|
| /linux/drivers/net/ethernet/intel/ixgbe/ |
| H A D | ixgbe_ethtool.c | 3245 struct ethtool_rxfh_param *rxfh) in ixgbe_get_rxfh() argument 3249 rxfh->hfunc = ETH_RSS_HASH_TOP; in ixgbe_get_rxfh() 3251 if (rxfh->indir) in ixgbe_get_rxfh() 3252 ixgbe_get_reta(adapter, rxfh->indir); in ixgbe_get_rxfh() 3254 if (rxfh->key) in ixgbe_get_rxfh() 3255 memcpy(rxfh->key, adapter->rss_key, in ixgbe_get_rxfh() 3262 struct ethtool_rxfh_param *rxfh, in ixgbe_set_rxfh() argument 3269 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in ixgbe_set_rxfh() 3270 rxfh->hfunc != ETH_RSS_HASH_TOP) in ixgbe_set_rxfh() 3274 if (rxfh->indir) { in ixgbe_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/marvell/mvpp2/ |
| H A D | mvpp2_main.c | 5652 struct ethtool_rxfh_param *rxfh) in mvpp2_ethtool_get_rxfh() argument 5655 u32 rss_context = rxfh->rss_context; in mvpp2_ethtool_get_rxfh() 5663 rxfh->hfunc = ETH_RSS_HASH_CRC32; in mvpp2_ethtool_get_rxfh() 5665 if (rxfh->indir) in mvpp2_ethtool_get_rxfh() 5667 rxfh->indir); in mvpp2_ethtool_get_rxfh() 5673 const struct ethtool_rxfh_param *rxfh) in mvpp2_ethtool_rxfh_okay() argument 5678 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in mvpp2_ethtool_rxfh_okay() 5679 rxfh->hfunc != ETH_RSS_HASH_CRC32) in mvpp2_ethtool_rxfh_okay() 5682 if (rxfh->key) in mvpp2_ethtool_rxfh_okay() 5690 const struct ethtool_rxfh_param *rxfh, in mvpp2_create_rxfh_context() argument [all …]
|
| /linux/drivers/net/ethernet/intel/igb/ |
| H A D | igb_ethtool.c | 3273 struct ethtool_rxfh_param *rxfh) in igb_get_rxfh() argument 3278 rxfh->hfunc = ETH_RSS_HASH_TOP; in igb_get_rxfh() 3279 if (!rxfh->indir) in igb_get_rxfh() 3282 rxfh->indir[i] = adapter->rss_indir_tbl[i]; in igb_get_rxfh() 3323 struct ethtool_rxfh_param *rxfh, in igb_set_rxfh() argument 3332 if (rxfh->key || in igb_set_rxfh() 3333 (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in igb_set_rxfh() 3334 rxfh->hfunc != ETH_RSS_HASH_TOP)) in igb_set_rxfh() 3336 if (!rxfh->indir) in igb_set_rxfh() 3353 if (rxfh->indir[i] >= num_queues) in igb_set_rxfh() [all …]
|
| /linux/drivers/net/ethernet/intel/i40e/ |
| H A D | i40e_ethtool.c | 5111 * @rxfh: pointer to param struct (indir, key, hfunc) 5117 struct ethtool_rxfh_param *rxfh) in i40e_get_rxfh() argument 5125 rxfh->hfunc = ETH_RSS_HASH_TOP; in i40e_get_rxfh() 5127 if (!rxfh->indir) in i40e_get_rxfh() 5130 seed = rxfh->key; in i40e_get_rxfh() 5138 rxfh->indir[i] = (u32)(lut[i]); in i40e_get_rxfh() 5149 * @rxfh: pointer to param struct (indir, key, hfunc) 5156 struct ethtool_rxfh_param *rxfh, in i40e_set_rxfh() argument 5165 if (rxfh->hfunc != ETH_RSS_HASH_NO_CHANGE && in i40e_set_rxfh() 5166 rxfh->hfunc != ETH_RSS_HASH_TOP) in i40e_set_rxfh() [all …]
|