Home
last modified time | relevance | path

Searched full:rss (Results 1 – 25 of 337) sorted by relevance

12345678910>>...14

/linux/drivers/net/ethernet/intel/ice/virt/
H A Drss.c4 #include "rss.h"
403 dev_err(ice_hw_to_dev(hw), "update VSI for RSS failed, err %d aq_err %s\n", in ice_vc_rss_hash_update()
510 * a specific virtchnl RSS cfg
512 * @rss_cfg: pointer to the virtchnl RSS cfg
515 * Return true if all the protocol header and hash fields in the RSS cfg could
518 * This function parses the virtchnl RSS cfg to be the intended
519 * hash fields and the intended header for RSS configuration
536 /* set outer layer RSS as default */ in ice_vc_parse_rss_cfg()
677 * RSS offloads
689 * ice_is_hash_cfg_valid - Check whether an RSS hash context is valid
[all …]
/linux/tools/testing/selftests/drivers/net/hw/
H A Drss_api.py5 API level tests for RSS (mostly Netlink vs IOCTL).
27 # Output will be something like: "New RSS context is 1" or
95 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
96 ksft_eq(set(rss.get("indir", [-1])), {1})
100 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
101 ksft_eq(set(rss.get("indir", [-1])), {0, 1})
111 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
112 ksft_eq(set(rss.get("indir", [-1])), set(range(qcnt)))
130 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex},
132 ksft_eq(set(rss.get("indir", [-1])), {1})
[all …]
H A Drss_ctx.py30 if 'rss-hash-key' not in data:
32 non_zero = [x for x in data['rss-hash-key'] if x != 0]
33 ksft_eq(bool(non_zero), True, comment=f"RSS key is all zero {data['rss-hash-key']}")
52 # Output will be something like: "New RSS context is 1" or
114 """Check that ntuple rule references RSS context ID"""
116 pattern = f"RSS Context (ID: )?{ctx_id}"
117 ksft_true(re.search(pattern, text), "RSS context not referenced in ntuple rule")
121 """Test basics like updating the main RSS key and indirection table."""
128 want_keys = ['rss-hash-key', 'rss-hash-function', 'rss-indirection-table']
136 key_len = len(data['rss-hash-key'])
[all …]
H A Dtoeplitz.py7 - RSS mapping from rxhash to rx queue;
157 for grp in ["", "rss", "rps"]:
175 rss = cfg.ethnl.rss_get({"header": {"dev-index": cfg.ifindex}})
177 if rss.get('hfunc') != ETH_RSS_HASH_TOP or rss.get('input-xfrm'):
182 "hfunc": rss.get('hfunc'),
183 "input-xfrm": rss.get('input-xfrm', {})
203 if grp == "rss":
206 ksft_pr(f"RSS using CPUs: {irq_cpus}")
H A Drss_input_xfrm.py29 rss = cfg.ethnl.rss_get({'header': {'dev-name': cfg.ifname}})
30 orig_xfrm = rss.get('input-xfrm', set())
61 If symmetric RSS hash is configured, send traffic twice, swapping the
67 raise KsftSkipEx("Need at least two CPUs to test symmetric RSS hash")
77 raise KsftSkipEx("Symmetric RSS hash not supported by device")
H A Dtoeplitz.c13 * 5. Compute the rxqueue that RSS would select based on this rx_hash
150 log_verbose(". error: rss cpu mismatch (%d)", cpu); in verify_rss()
401 * (a) only testing rxhash, not RSS or (b) <= 256 cpus. in create_ring()
536 error(1, 0, "RSS key not available for %s", cfg_ifname); in read_rss_dev_info_ynl()
540 error(1, 0, "RSS key length %u out of bounds [%u, %u]", in read_rss_dev_info_ynl()
547 error(1, 0, "RSS indirection table too large (%u > %u)", in read_rss_dev_info_ynl()
556 log_verbose("RSS indirection table size: %u\n", in read_rss_dev_info_ynl()
641 "Can't supply both RSS cpus ('-C') and RPS map ('-r')"); in parse_opts()
/linux/drivers/net/ethernet/marvell/octeontx2/nic/
H A Dotx2_ethtool.c584 struct otx2_rss_info *rss; in otx2_get_rss_hash_opts() local
586 rss = &pfvf->hw.rss_info; in otx2_get_rss_hash_opts()
588 if (!(rss->flowkey_cfg & in otx2_get_rss_hash_opts()
594 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_VLAN) in otx2_get_rss_hash_opts()
600 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_TCP) in otx2_get_rss_hash_opts()
605 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_UDP) in otx2_get_rss_hash_opts()
610 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_SCTP) in otx2_get_rss_hash_opts()
615 if (rss->flowkey_cfg & NIX_FLOW_KEY_TYPE_ESP) in otx2_get_rss_hash_opts()
639 struct otx2_rss_info *rss; in otx2_set_rss_hash_opts() local
642 rss = &pfvf->hw.rss_info; in otx2_set_rss_hash_opts()
[all …]
H A Dotx2_xsk.c134 /* Reconfigure RSS table as 'qidx' cannot be part of RSS now */ in otx2_xsk_pool_enable()
155 /* Reconfigure RSS table as 'qidx' now need to be part of RSS now */ in otx2_xsk_pool_disable()
H A Dotx2_common.c291 struct otx2_rss_info *rss = &pfvf->hw.rss_info; in otx2_set_flowkey_cfg() local
303 req->flowkey_cfg = rss->flowkey_cfg; in otx2_set_flowkey_cfg()
325 struct otx2_rss_info *rss = &pfvf->hw.rss_info; in otx2_set_rss_table() local
326 const int index = rss->rss_size * ctx_id; in otx2_set_rss_table()
332 ind_tbl = ind_tbl ?: rss->ind_tbl; in otx2_set_rss_table()
334 for (idx = 0; idx < rss->rss_size; idx++) { in otx2_set_rss_table()
357 aq->rss.rq = ind_tbl[idx]; in otx2_set_rss_table()
371 struct otx2_rss_info *rss = &pfvf->hw.rss_info; in otx2_set_rss_key() local
372 u64 *key = (u64 *)&rss->key[4]; in otx2_set_rss_key()
384 (u64)(*((u32 *)&rss in otx2_set_rss_key()
394 struct otx2_rss_info *rss = &pfvf->hw.rss_info; otx2_rss_init() local
[all...]
/linux/tools/testing/selftests/net/
H A Dtoeplitz.sh
/linux/drivers/net/ethernet/qualcomm/ppe/
H A Dppe_config.h26 /* The PPE RSS hash configured for IPv4 and IPv6 packet separately. */
260 * struct ppe_rss_hash_cfg - PPE RSS hash configuration.
263 * UDP and UDP-Lite packets, to use either 3 tuple or 5 tuple for RSS hash
265 * @hash_seed: Seed to generate RSS hash.
271 * @hash_fin_inner: RSS hash value first selection.
272 * @hash_fin_outer: RSS hash value second selection.
274 * PPE RSS hash value is generated for the packet based on the RSS hash
/linux/drivers/net/ethernet/hisilicon/hns3/hns3_common/
H A Dhclge_comm_rss.c114 "failed to set rss tc mode, ret = %d.\n", ret); in hclge_comm_set_rss_tc_mode()
131 /* Set the RSS Hash Key if specififed by the user */ in hclge_comm_set_rss_hash_key()
137 /* Update the shadow RSS key with user specified qids */ in hclge_comm_set_rss_hash_key()
171 "failed to init rss tuple cmd, ret = %d.\n", ret); in hclge_comm_set_rss_tuple()
178 "failed to set rss tuple, ret = %d.\n", ret); in hclge_comm_set_rss_tuple()
222 /* Initialize RSS indirect table */ in hclge_comm_rss_indir_init_cfg()
308 "failed to configure rss table, ret = %d.\n", in hclge_comm_set_rss_indir_table()
341 "failed to configure rss input, ret = %d.\n", ret); in hclge_comm_set_rss_input_tuple()
364 /* Get the RSS Key required by the user */ in hclge_comm_get_rss_hash_info()
415 "failed to configure RSS key, ret = %d.\n", in hclge_comm_set_rss_algo_key()
/linux/drivers/net/ethernet/netronome/nfp/
H A Dnfp_net_ctrl.h61 /* Hash type pre-pended when a RSS hash was computed */
111 #define NFP_NET_CFG_CTRL_RSS (0x1 << 17) /* RSS (version 1) */
121 #define NFP_NET_CFG_CTRL_RSS2 (0x1 << 29) /* RSS (version 2) */
141 #define NFP_NET_CFG_UPDATE_RSS (0x1 << 2) /* RSS config change */
219 /* RSS capabilities
281 /* RSS configuration (0x0100 - 0x01ac):
283 * %NFP_NET_CFG_RSS_CFG: RSS configuration word
284 * %NFP_NET_CFG_RSS_KEY: RSS "secret" key
285 * %NFP_NET_CFG_RSS_ITBL: RSS indirection table
291 #define NFP_NET_CFG_RSS_IPV4 (1 << 8) /* RSS for IPv4 */
[all …]
/linux/drivers/net/ethernet/mellanox/mlx4/
H A Den_resources.c41 int is_tx, int rss, int qpn, int cqn, in mlx4_en_fill_qp_context() argument
48 context->flags = cpu_to_be32(7 << 16 | rss << MLX4_RSS_QPC_FLAG_OFFSET); in mlx4_en_fill_qp_context()
51 if (!is_tx && !rss) in mlx4_en_fill_qp_context()
74 if (!rss && in mlx4_en_fill_qp_context()
87 if (!is_tx && !rss && in mlx4_en_fill_qp_context()
/linux/drivers/net/ethernet/chelsio/cxgb4vf/
H A Dt4vf_hw.c1009 * t4vf_get_rss_glb_config - retrieve adapter RSS Global Configuration
1012 * Retrieves global RSS mode and parameters with which we have to live
1013 * and stores them in the @adapter's RSS parameters.
1017 struct rss_params *rss = &adapter->params.rss; in t4vf_get_rss_glb_config() local
1022 * Execute an RSS Global Configuration read command to retrieve in t4vf_get_rss_glb_config()
1023 * our RSS configuration. in t4vf_get_rss_glb_config()
1035 * Transate the big-endian RSS Global Configuration into our in t4vf_get_rss_glb_config()
1036 * cpu-endian format based on the RSS mode. We also do first level in t4vf_get_rss_glb_config()
1040 rss->mode = FW_RSS_GLB_CONFIG_CMD_MODE_G( in t4vf_get_rss_glb_config()
1042 switch (rss->mode) { in t4vf_get_rss_glb_config()
[all …]
/linux/Documentation/admin-guide/cgroup-v1/
H A Dmemory.rst132 for memory control. The first RSS controller was posted by Balbir Singh [2]_
134 of the RSS controller. At OLS, at the resource management BoF, everyone
135 suggested that we handle both page cache and RSS together. Another request was
137 at version 6; it combines both mapped (RSS) and unmapped Page
210 All mapped anon pages (RSS) and cache pages (Page Cache) are accounted.
214 RSS pages are accounted at page_fault unless they've already been accounted
219 An RSS page is unaccounted when it's fully unmapped. A PageCache page is
220 unaccounted when it's removed from xarray. Even if RSS pages are fully
455 caches, RSS and Active pages/Inactive pages are shown.
546 rss # of bytes of anonymous and swap cache memory (includes
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/
H A Den_fs_ethtool.c66 struct mlx5e_rss *rss; member
429 struct mlx5e_rss *rss; in flow_get_tirn() local
434 rss = mlx5e_rx_res_rss_get(priv->rx_res, rss_context); in flow_get_tirn()
435 if (!rss) in flow_get_tirn()
444 err = mlx5e_rss_obtain_tirn(rss, tt, &pkt_merge_param, false, tirn); in flow_get_tirn()
447 eth_rule->rss = rss; in flow_get_tirn()
448 mlx5e_rss_refcnt_inc(eth_rule->rss); in flow_get_tirn()
514 if (eth_rule->rss) in del_ethtool_rule()
515 mlx5e_rss_refcnt_dec(eth_rule->rss); in del_ethtool_rule()
807 if (!eth_rule->rss) in mlx5e_ethtool_get_flow()
[all …]
/linux/drivers/net/ethernet/intel/ice/
H A Dice_lib.c194 /* only 1 Rx queue unless RSS is enabled */ in ice_vsi_set_num_qs()
847 * ice_vsi_clean_rss_flow_fld - Delete RSS configuration
850 * This function deletes RSS input set for all flows that were configured
868 * ice_rss_clean - Delete RSS related VSI structures and configuration
882 /* remove RSS replay list */ in ice_rss_clean()
888 * ice_vsi_set_rss_params - Setup RSS capabilities per VSI type
907 /* PF VSI will inherit RSS instance of PF */ in ice_vsi_set_rss_params()
924 /* VF VSI will get a small RSS table. in ice_vsi_set_rss_params()
1150 * ice_set_rss_vsi_ctx - Set RSS VSI context before adding a VSI
1166 /* PF VSI will inherit RSS instance of PF */ in ice_set_rss_vsi_ctx()
[all …]
H A Dice_flow.c1353 * @symm: symmetric setting for RSS profiles
1446 * @symm: symmetric setting for RSS profiles
1723 * @symm: symmetric setting for RSS profiles
1806 /* No flow entry data is expected for RSS */ in ice_flow_add_entry()
2063 * ice_flow_set_rss_seg_info - setup packet segments for RSS
2115 * ice_rem_vsi_rss_list - remove VSI from RSS list
2119 * Remove the VSI from all RSS configurations in the list.
2139 * ice_rem_vsi_rss_cfg - remove RSS configurations associated with VSI
2178 * ice_get_rss_hdr_type - get a RSS profile's header type
2179 * @prof: RSS flow profile
[all …]
/linux/drivers/net/ethernet/mellanox/mlx5/core/en/
H A Dreporter_rx.c383 static void mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(struct mlx5e_rss *rss, bool inner, in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn() argument
390 if (!mlx5e_rss_valid_tir(rss, tt, inner)) in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn()
402 devlink_fmsg_u32_pair_put(fmsg, "tirn", mlx5e_rss_get_tirn(rss, tt, inner)); in mlx5e_rx_reporter_diagnose_rx_res_rss_tirn()
413 struct mlx5e_rss *rss = mlx5e_rx_res_rss_get(rx_res, rss_idx); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix() local
415 if (!rss) in mlx5e_rx_reporter_diagnose_rx_res_rss_ix()
421 devlink_fmsg_u32_pair_put(fmsg, "rqtn", mlx5e_rss_get_rqtn(rss)); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix()
422 mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(rss, false, fmsg); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix()
423 if (mlx5e_rss_get_inner_ft_support(rss)) in mlx5e_rx_reporter_diagnose_rx_res_rss_ix()
424 mlx5e_rx_reporter_diagnose_rx_res_rss_tirn(rss, true, fmsg); in mlx5e_rx_reporter_diagnose_rx_res_rss_ix()
434 devlink_fmsg_arr_pair_nest_start(fmsg, "RSS"); in mlx5e_rx_reporter_diagnose_rx_res_rss()
/linux/drivers/net/ethernet/intel/igc/
H A Digc_base.h68 __le16 pkt_info; /*RSS type, Pkt type*/
74 __le32 rss; /* RSS Hash */ member
/linux/Documentation/networking/device_drivers/ethernet/freescale/
H A Ddpaa.rst157 ethtool. Also, rx-flow-hash and rx-hashing was added. The addition of RSS
189 By default the DPAA Ethernet driver enables RSS, making use of the
193 When RSS is disabled, all traffic received by a certain interface is
201 certain interface when RSS is not enabled.
203 To implement RSS, the DPAA Ethernet driver allocates an extra set of
212 RSS can be turned off for a certain interface using ethtool, i.e.::
/linux/drivers/net/ethernet/cisco/enic/
H A Dvnic_rss.h10 /* RSS key array */
24 /* RSS cpu array */
/linux/drivers/net/ethernet/amazon/ena/
H A Dena_com.h371 struct ena_rss rss; member
699 /* ena_com_rss_init - Init RSS
703 * Allocate RSS/RFS resources.
704 * The caller then can configure rss using ena_com_set_hash_function,
711 /* ena_com_rss_destroy - Destroy rss
714 * Free all the RSS/RFS resources.
718 /* ena_com_get_current_hash_function - Get RSS hash function
726 /* ena_com_fill_hash_function - Fill RSS hash function
783 /* ena_com_fill_hash_ctrl - Fill RSS hash control
838 /* ena_com_indirect_table_fill_entry - Fill a single entry in the RSS
[all …]
/linux/drivers/net/ethernet/myricom/myri10ge/
H A Dmyri10ge_mcp.h265 /* data0 = enable/disable rss
266 * 0: disable rss. nic does not distribute receive packets.
267 * 1: enable rss. nic distributes receive packets among queues.
269 * 1: IPV4 (required by RSS)
270 * 2: TCP_IPV4 (required by RSS)
271 * 3: IPV4 | TCP_IPV4 (required by RSS)

12345678910>>...14