/linux-master/net/ethtool/ |
H A D | rss.c | 8 u32 rss_context; member in struct:rss_req_info 39 request->rss_context = nla_get_u32(tb[ETHTOOL_A_RSS_CONTEXT]); 62 /* Some drivers don't handle rss_context */ 63 if (request->rss_context && !ops->cap_rss_ctx_supported) 94 rxfh.rss_context = request->rss_context;
|
H A D | ioctl.c | 1224 /* Most drivers don't handle rss_context, check it's 0 as well */ 1225 if (rxfh.rss_context && !ops->cap_rss_ctx_supported) 1249 rxfh_dev.rss_context = rxfh.rss_context; 1302 /* Most drivers don't handle rss_context, check it's 0 as well */ 1303 if (rxfh.rss_context && !ops->cap_rss_ctx_supported) 1353 if (rxfh.rss_context == 0) { 1378 rxfh_dev.rss_context = rxfh.rss_context; 1385 if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, rss_context), [all...] |
/linux-master/drivers/net/ethernet/sfc/ |
H A D | ethtool_common.c | 646 u32 *rss_context) 804 *rss_context = spec.rss_context; 814 u32 rss_context = 0; local 823 struct efx_rss_context *ctx = &efx->rss_context; 827 if (info->flow_type & FLOW_RSS && info->rss_context) { 828 ctx = efx_find_rss_context_entry(efx, info->rss_context); 883 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); 887 info->rss_context = rss_context; 644 efx_ethtool_get_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 *rss_context) argument 916 efx_ethtool_set_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 rss_context) argument 1226 u32 *rss_context = &rxfh->rss_context; local [all...] |
H A D | mcdi_filters.c | 385 if (spec->rss_context) 386 ctx = efx_find_rss_context_entry(efx, spec->rss_context); 388 ctx = &efx->rss_context; 492 saved_spec->rss_context = spec->rss_context; 614 (efx_rss_active(&efx->rss_context) ? 617 new_spec.rss_context = 0; 620 &efx->rss_context, 767 filter_flags = efx_rss_active(&efx->rss_context) ? EFX_FILTER_FLAG_RX_RSS : 0; 836 filter_flags = efx_rss_active(&efx->rss_context) [all...] |
H A D | filter.h | 121 * @rss_context: RSS context to use, if %EFX_FILTER_FLAG_RX_RSS is set. This 146 * may then be used to set @rss_context, @match_flags and related 158 u32 rss_context; member in struct:efx_filter_spec 186 spec->rss_context = 0;
|
H A D | ef100_netdev.c | 475 netdev_rss_key_fill(efx->rss_context.rx_hash_key, 476 sizeof(efx->rss_context.rx_hash_key));
|
H A D | efx.c | 300 netdev_rss_key_fill(efx->rss_context.rx_hash_key, 301 sizeof(efx->rss_context.rx_hash_key)); 302 efx_set_default_rx_indir_table(efx, &efx->rss_context);
|
H A D | efx_common.c | 1003 INIT_LIST_HEAD(&efx->rss_context.list); 1004 efx->rss_context.context_id = EFX_MCDI_RSS_CONTEXT_INVALID;
|
H A D | rx_common.c | 565 struct list_head *head = &efx->rss_context.list; 598 struct list_head *head = &efx->rss_context.list;
|
/linux-master/drivers/net/ethernet/sfc/siena/ |
H A D | ethtool_common.c | 646 u32 *rss_context) 804 *rss_context = spec.rss_context; 814 u32 rss_context = 0; local 823 struct efx_rss_context *ctx = &efx->rss_context; 827 if (info->flow_type & FLOW_RSS && info->rss_context) { 829 info->rss_context); 884 rc = efx_ethtool_get_class_rule(efx, &info->fs, &rss_context); 888 info->rss_context = rss_context; 644 efx_ethtool_get_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 *rss_context) argument 917 efx_ethtool_set_class_rule(struct efx_nic *efx, struct ethtool_rx_flow_spec *rule, u32 rss_context) argument 1227 u32 *rss_context = &rxfh->rss_context; local [all...] |
H A D | siena.c | 358 memcpy(efx->rss_context.rx_hash_key, &temp, sizeof(temp)); 360 memcpy(efx->rss_context.rx_hash_key + sizeof(temp), &temp, sizeof(temp)); 362 memcpy(efx->rss_context.rx_hash_key + 2 * sizeof(temp), &temp, 375 memcpy(efx->rss_context.rx_hash_key, key, sizeof(temp)); 376 memcpy(&temp, efx->rss_context.rx_hash_key, sizeof(temp)); 380 BUILD_BUG_ON(sizeof(efx->rss_context.rx_hash_key) < 383 memcpy(&temp, efx->rss_context.rx_hash_key, sizeof(temp)); 385 memcpy(&temp, efx->rss_context.rx_hash_key + sizeof(temp), sizeof(temp)); 389 memcpy(&temp, efx->rss_context.rx_hash_key + 2 * sizeof(temp), 393 memcpy(efx->rss_context [all...] |
H A D | filter.h | 125 * @rss_context: RSS context to use, if %EFX_FILTER_FLAG_RX_RSS is set. This 147 * may then be used to set @rss_context, @match_flags and related 159 u32 rss_context; member in struct:efx_filter_spec 186 spec->rss_context = 0;
|
H A D | efx.c | 310 netdev_rss_key_fill(efx->rss_context.rx_hash_key, 311 sizeof(efx->rss_context.rx_hash_key)); 312 efx_siena_set_default_rx_indir_table(efx, &efx->rss_context);
|
H A D | efx_common.c | 1019 INIT_LIST_HEAD(&efx->rss_context.list); 1020 efx->rss_context.context_id = EFX_MCDI_RSS_CONTEXT_INVALID;
|
H A D | rx_common.c | 566 struct list_head *head = &efx->rss_context.list; 600 struct list_head *head = &efx->rss_context.list;
|
H A D | farch.c | 1634 BUILD_BUG_ON(ARRAY_SIZE(efx->rss_context.rx_indir_table) != 1639 efx->rss_context.rx_indir_table[i]); 1651 BUILD_BUG_ON(ARRAY_SIZE(efx->rss_context.rx_indir_table) != 1658 efx->rss_context.rx_indir_table[i] = EFX_DWORD_FIELD(dword, FRF_BZ_IT_QUEUE); 2038 if ((gen_spec->flags & EFX_FILTER_FLAG_RX_RSS) && gen_spec->rss_context)
|
/linux-master/drivers/net/ethernet/marvell/octeontx2/nic/ |
H A D | otx2_ethtool.c | 817 u32 *rss_context) 832 *rss_context = ctx; 842 u32 rss_context = DEFAULT_RSS_CONTEXT_GROUP; local 852 if (rxfh->rss_context) 853 rss_context = rxfh->rss_context; 855 if (rss_context != ETH_RXFH_CONTEXT_ALLOC && 856 rss_context >= MAX_RSS_GROUPS) 871 return otx2_rss_ctx_delete(pfvf, rss_context); 873 if (rss_context 816 otx2_rss_ctx_create(struct otx2_nic *pfvf, u32 *rss_context) argument 893 u32 rss_context = DEFAULT_RSS_CONTEXT_GROUP; local [all...] |
/linux-master/drivers/net/ethernet/sfc/falcon/ |
H A D | filter.h | 103 * @rss_context: RSS context to use, if %EF4_FILTER_FLAG_RX_RSS is set 121 * may then be used to set @rss_context, @match_flags and related 133 u32 rss_context; member in struct:ef4_filter_spec 160 spec->rss_context = EF4_FILTER_RSS_CONTEXT_DEFAULT;
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | en_fs_ethtool.c | 425 u32 rss_context, u32 *tirn) 434 rss = mlx5e_rx_res_rss_get(priv->rx_res, rss_context); 460 struct ethtool_rx_flow_spec *fs, u32 rss_context) 485 err = flow_get_tirn(priv, eth_rule, fs, rss_context, &dst->tir_num); 725 struct ethtool_rx_flow_spec *fs, u32 rss_context) 753 rule = add_ethtool_flow_rule(priv, eth_rule, eth_ft->ft, fs, rss_context); 812 info->rss_context = index; 905 rss_idx = nfc->rss_context; 951 rss_idx = nfc->rss_context; 982 err = mlx5e_ethtool_flow_replace(priv, &cmd->fs, cmd->rss_context); 422 flow_get_tirn(struct mlx5e_priv *priv, struct mlx5e_ethtool_rule *eth_rule, struct ethtool_rx_flow_spec *fs, u32 rss_context, u32 *tirn) argument 457 add_ethtool_flow_rule(struct mlx5e_priv *priv, struct mlx5e_ethtool_rule *eth_rule, struct mlx5_flow_table *ft, struct ethtool_rx_flow_spec *fs, u32 rss_context) argument 724 mlx5e_ethtool_flow_replace(struct mlx5e_priv *priv, struct ethtool_rx_flow_spec *fs, u32 rss_context) argument [all...] |
H A D | en_ethtool.c | 1296 u32 rss_context = rxfh->rss_context; local 1300 err = mlx5e_rx_res_rss_get_rxfh(priv->rx_res, rss_context, 1310 u32 *rss_context = &rxfh->rss_context; local 1330 if (*rss_context && rxfh->rss_delete) { 1331 err = mlx5e_rx_res_rss_destroy(priv->rx_res, *rss_context); 1335 if (*rss_context == ETH_RXFH_CONTEXT_ALLOC) { 1336 err = mlx5e_rx_res_rss_init(priv->rx_res, rss_context, count); 1341 err = mlx5e_rx_res_rss_set_rxfh(priv->rx_res, *rss_context, [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx4/ |
H A D | en_rx.c | 1197 struct mlx4_rss_context *rss_context; local 1261 rss_context = ptr; 1262 rss_context->base_qpn = cpu_to_be32(ilog2(rss_rings) << 24 | 1264 rss_context->default_qpn = cpu_to_be32(rss_map->base_qpn); 1267 rss_context->base_qpn_udp = rss_context->default_qpn; 1275 rss_context->flags = rss_mask; 1276 rss_context->hash_fn = MLX4_RSS_HASH_TOP; 1278 rss_context->hash_fn = MLX4_RSS_HASH_XOR; 1280 rss_context [all...] |
/linux-master/drivers/net/ethernet/intel/ice/ |
H A D | ice_ethtool.c | 3284 u32 rss_context = rxfh->rss_context; local 3296 if (rss_context && !ice_is_adq_active(pf)) { 3301 qcount = vsi->mqprio_qopt.qopt.count[rss_context]; 3302 offset = vsi->mqprio_qopt.qopt.offset[rss_context]; 3304 if (rss_context && ice_is_adq_active(pf)) { 3306 if (rss_context >= num_tc) { 3308 rss_context, num_tc); 3312 vsi = vsi->tc_map_vsi[rss_context]; 3373 if (rxfh->rss_context) [all...] |
/linux-master/include/uapi/linux/ |
H A D | ethtool.h | 1167 * @rss_context: RSS context to be affected 1174 * the %FLOW_RSS flag, then @rss_context determines which RSS context to 1188 * @fs.@flow_type includes the %FLOW_RSS flag, then @rss_context is 1201 * includes the %FLOW_RSS flag, @rss_context is the RSS context ID to 1227 __u32 rss_context; member in union:ethtool_rxnfc::__anon2729 1255 * @rss_context: RSS context identifier. Context 0 is the default for normal 1281 * values (if @rss_context == 0) or that the RSS context should be deleted. 1286 __u32 rss_context; member in struct:ethtool_rxfh
|
/linux-master/drivers/infiniband/hw/mlx4/ |
H A D | qp.c | 2090 struct mlx4_rss_context *rss_context; local 2092 rss_context = (void *)context + offsetof(struct mlx4_qp_context, 2095 rss_context->base_qpn = cpu_to_be32(qp->rss_ctx->base_qpn_tbl_sz); 2096 rss_context->default_qpn = 2099 rss_context->base_qpn_udp = rss_context->default_qpn; 2100 rss_context->flags = qp->rss_ctx->flags; 2102 rss_context->hash_fn = MLX4_RSS_HASH_TOP; 2104 memcpy(rss_context->rss_key, qp->rss_ctx->rss_key,
|
/linux-master/include/linux/ |
H A D | ethtool.h | 624 * @rss_context: RSS context identifier. Context 0 is the default for normal 629 * @rss_delete: Set to non-ZERO to remove the @rss_context context. 639 u32 rss_context; member in struct:ethtool_rxfh_param
|