| /dpdk/drivers/net/mlx4/ |
| H A D | mlx4_rxq.c | 96 LIST_FOREACH(rss, &priv->rss, next) in mlx4_rss_get() 101 ++rss->refcnt; in mlx4_rss_get() 102 return rss; in mlx4_rss_get() 106 if (!rss) in mlx4_rss_get() 119 LIST_INSERT_HEAD(&priv->rss, rss, next); in mlx4_rss_get() 120 return rss; in mlx4_rss_get() 149 rte_free(rss); in mlx4_rss_put() 241 (rss->qp, in mlx4_rss_attach() 252 (rss->qp, in mlx4_rss_attach() 263 if (rss->qp) { in mlx4_rss_attach() [all …]
|
| H A D | mlx4_flow.c | 772 if (flow->rss) in mlx4_flow_prepare() 790 if (flow->rss) in mlx4_flow_prepare() 824 if (rss->queue[i] - rss->queue[i - 1] != 1) in mlx4_flow_prepare() 831 if (rss->queue[0] % rss->queue_num) { in mlx4_flow_prepare() 873 if (flow->rss) in mlx4_flow_prepare() 893 if (temp.rss) in mlx4_flow_prepare() 904 .rss = temp.rss, in mlx4_flow_prepare() 1069 struct mlx4_rss *rss = flow->rss; in mlx4_flow_toggle() local 1100 qp = rss->qp; in mlx4_flow_toggle() 1168 if (flow->rss) in mlx4_flow_create() [all …]
|
| H A D | mlx4_rxtx.h | 133 void mlx4_rss_put(struct mlx4_rss *rss); 134 int mlx4_rss_attach(struct mlx4_rss *rss); 135 void mlx4_rss_detach(struct mlx4_rss *rss);
|
| /dpdk/drivers/vdpa/mlx5/ |
| H A D | mlx5_vdpa_steer.c | 21 if (priv->steer.rss[i].flow) { in mlx5_vdpa_rss_flows_destroy() 23 (priv->steer.rss[i].flow)); in mlx5_vdpa_rss_flows_destroy() 24 priv->steer.rss[i].flow = NULL; in mlx5_vdpa_rss_flows_destroy() 26 if (priv->steer.rss[i].tir_action) { in mlx5_vdpa_rss_flows_destroy() 31 if (priv->steer.rss[i].tir) { in mlx5_vdpa_rss_flows_destroy() 34 priv->steer.rss[i].tir = NULL; in mlx5_vdpa_rss_flows_destroy() 36 if (priv->steer.rss[i].matcher) { in mlx5_vdpa_rss_flows_destroy() 39 priv->steer.rss[i].matcher = NULL; in mlx5_vdpa_rss_flows_destroy() 207 if (!priv->steer.rss[i].tir) { in mlx5_vdpa_rss_flows_create() 211 priv->steer.rss[i].tir_action = in mlx5_vdpa_rss_flows_create() [all …]
|
| /dpdk/drivers/net/ena/base/ |
| H A D | ena_com.c | 1100 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_allocate() local 1119 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_key_destroy() local 1132 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_ctrl_init() local 1148 struct ena_rss *rss = &ena_dev->rss; in ena_com_hash_ctrl_destroy() local 1162 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_allocate() local 1219 struct ena_rss *rss = &ena_dev->rss; in ena_com_indirect_table_destroy() local 1314 struct ena_rss *rss = &ena_dev->rss; in ena_com_ind_tbl_convert_to_device() local 2317 struct ena_rss *rss = &ena_dev->rss; in ena_com_set_hash_function() local 2382 struct ena_rss *rss = &ena_dev->rss; in ena_com_fill_hash_function() local 2438 struct ena_rss *rss = &ena_dev->rss; in ena_com_get_hash_function() local [all …]
|
| /dpdk/examples/ip_pipeline/ |
| H A D | link.c | 70 struct link_params_rss *rss) in rss_setup() argument 85 uint32_t rss_qs_pos = i % rss->n_queues; in rss_setup() 88 (uint16_t) rss->queue_id[rss_qs_pos]; in rss_setup() 105 struct link_params_rss *rss; in link_create() local 139 rss = params->rx.rss; in link_create() 140 if (rss) { in link_create() 145 if ((rss->n_queues == 0) || in link_create() 146 (rss->n_queues >= LINK_RXQ_RSS_MAX)) in link_create() 149 for (i = 0; i < rss->n_queues; i++) in link_create() 159 if (rss) { in link_create() [all …]
|
| /dpdk/drivers/net/sfc/ |
| H A D | sfc_rx.c | 739 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rx_default_rxq_set_filter() local 1096 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rx_qinit() local 1376 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rx_hash_init() local 1432 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rx_hash_fini() local 1441 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rx_hf_rte_to_efx() local 1484 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rx_process_adv_conf_rss() local 1523 rss->hash_alg, rss->hash_types, in sfc_rx_rss_config() 1529 rss->key, sizeof(rss->key)); in sfc_rx_rss_config() 1534 rss->tbl, RTE_DIM(rss->tbl)); in sfc_rx_rss_config() 1651 struct sfc_rss *rss = &sas->rss; in sfc_rx_check_mode() local [all …]
|
| H A D | sfc_ethdev.c | 95 struct sfc_rss *rss = &sas->rss; in sfc_dev_infos_get() local 1645 struct sfc_rss *rss = &sas->rss; in sfc_dev_rss_hash_conf_get() local 1656 rss_conf->rss_hf = sfc_rx_hf_efx_to_rte(rss, rss->hash_types); in sfc_dev_rss_hash_conf_get() 1669 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_dev_rss_hash_update() local 1694 sizeof(rss->key)); in sfc_dev_rss_hash_update() 1728 rte_memcpy(rss->key, rss_conf->rss_key, sizeof(rss->key)); in sfc_dev_rss_hash_update() 1767 struct sfc_rss *rss = &sas->rss; in sfc_dev_rss_reta_query() local 1773 if (rss->channels == 0) in sfc_dev_rss_reta_query() 1796 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_dev_rss_reta_update() local 1827 rte_memcpy(rss_tbl_new, rss->tbl, sizeof(rss->tbl)); in sfc_dev_rss_reta_update() [all …]
|
| H A D | sfc.c | 819 struct sfc_rss *rss = &sfc_sa2shared(sa)->rss; in sfc_rss_attach() local 834 rc = efx_rx_scale_default_support_get(sa->nic, &rss->context_type); in sfc_rss_attach() 838 rc = efx_rx_hash_default_support_get(sa->nic, &rss->hash_support); in sfc_rss_attach() 850 rte_memcpy(rss->key, default_rss_key, sizeof(rss->key)); in sfc_rss_attach() 851 memset(&rss->dummy_ctx, 0, sizeof(rss->dummy_ctx)); in sfc_rss_attach() 852 rss->dummy_ctx.conf.qid_span = 1; in sfc_rss_attach() 853 rss->dummy_ctx.dummy = true; in sfc_rss_attach()
|
| /dpdk/drivers/net/bnxt/ |
| H A D | bnxt_flow.c | 1126 if (rss->queue_num && vnic->rx_queue_cnt != rss->queue_num) { in bnxt_vnic_rss_cfg_update() 1155 if (rss->queue[i] == rss->queue[j]) { in bnxt_vnic_rss_cfg_update() 1180 if (rss->key_len != 0 && rss->key_len != HW_HASH_KEY_SIZE) { in bnxt_vnic_rss_cfg_update() 1204 if ((rss->queue_num == 0 && rss->queue != NULL) || in bnxt_vnic_rss_cfg_update() 1205 (rss->queue_num != 0 && rss->queue == NULL)) { in bnxt_vnic_rss_cfg_update() 1216 types = rss->types ? rss->types : RTE_ETH_RSS_IPV4 | RTE_ETH_RSS_IPV6; in bnxt_vnic_rss_cfg_update() 1225 bnxt_rte_to_hwrm_hash_level(bp, rss->types, rss->level); in bnxt_vnic_rss_cfg_update() 1229 memcpy(vnic->rss_hash_key, rss->key, rss->key_len); in bnxt_vnic_rss_cfg_update() 1242 idx = rss->queue[fw_idx % rss->queue_num]; in bnxt_vnic_rss_cfg_update() 1600 vnic->end_grp_id = rss->queue[rss->queue_num - 1]; in bnxt_validate_and_parse_flow() [all …]
|
| H A D | bnxt_rxq.c | 69 struct rte_eth_rss_conf *rss = &bp->rss_conf; in bnxt_mq_rx_configure() local 178 uint32_t lvl = RTE_ETH_RSS_LEVEL(rss->rss_hf); in bnxt_mq_rx_configure() 181 vnic->hash_type = bnxt_rte_to_hwrm_hash_types(rss->rss_hf); in bnxt_mq_rx_configure() 182 vnic->hash_mode = bnxt_rte_to_hwrm_hash_level(bp, rss->rss_hf, lvl); in bnxt_mq_rx_configure() 188 if (rss->rss_key && rss->rss_key_len <= HW_HASH_KEY_SIZE) in bnxt_mq_rx_configure() 189 memcpy(vnic->rss_hash_key, rss->rss_key, rss->rss_key_len); in bnxt_mq_rx_configure()
|
| /dpdk/drivers/net/igc/ |
| H A D | igc_flow.c | 47 struct igc_rss_filter rss; member 619 if (!rss || !rss->queue_num || rss->queue_num > IGC_RSS_RDT_SIZD) in igc_parse_action_rss() 625 for (i = 0; i < rss->queue_num; i++) { in igc_parse_action_rss() 638 if (rss->level) in igc_parse_action_rss() 644 if (rss->key_len && rss->key_len != sizeof(filter->rss.key)) in igc_parse_action_rss() 650 igc_rss_conf_set(&filter->rss, rss); in igc_parse_action_rss() 761 sizeof(filter.rss)); in igc_flow_create() 763 struct igc_rss_filter *rss = in igc_flow_create() local 765 rss->conf.key = rss->key; in igc_flow_create() 766 rss->conf.queue = rss->queue; in igc_flow_create() [all …]
|
| H A D | igc_txrx.c | 332 rxm->hash.rss = rte_le_to_cpu_32(rxd->wb.lower.hi_dword.rss); in rx_desc_get_pkt_info() 926 out->conf.func = rss->func; in igc_rss_conf_set() 927 out->conf.level = rss->level; in igc_rss_conf_set() 928 out->conf.types = rss->types; in igc_rss_conf_set() 931 memcpy(out->key, rss->key, rss->key_len); in igc_rss_conf_set() 940 memcpy(out->queue, rss->queue, in igc_rss_conf_set() 957 .rss_hf = rss->conf.types, in igc_add_rss_filter() 973 if (!rss->conf.queue_num) { in igc_add_rss_filter() 982 rss->conf.queue[i]); in igc_add_rss_filter() 1000 if (j == rss->conf.queue_num) in igc_add_rss_filter() [all …]
|
| H A D | igc_txrx.h | 43 const struct rte_flow_action_rss *rss); 44 int igc_add_rss_filter(struct rte_eth_dev *dev, struct igc_rss_filter *rss);
|
| /dpdk/examples/pipeline/ |
| H A D | obj.c | 152 struct link_params_rss *rss) in rss_setup() argument 167 uint32_t rss_qs_pos = i % rss->n_queues; in rss_setup() 170 (uint16_t) rss->queue_id[rss_qs_pos]; in rss_setup() 187 struct link_params_rss *rss; in link_create() local 221 rss = params->rx.rss; in link_create() 222 if (rss) { in link_create() 227 if ((rss->n_queues == 0) || in link_create() 228 (rss->n_queues >= LINK_RXQ_RSS_MAX)) in link_create() 231 for (i = 0; i < rss->n_queues; i++) in link_create() 241 if (rss) { in link_create() [all …]
|
| /dpdk/drivers/net/cnxk/ |
| H A D | cn10k_flow.c | 89 const struct rte_flow_action_rss *rss; in cn10k_rss_action_validate() local 94 rss = (const struct rte_flow_action_rss *)act->conf; in cn10k_rss_action_validate() 106 if (!rss || !rss->queue_num) { in cn10k_rss_action_validate() 111 if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT) { in cn10k_rss_action_validate() 116 if (rss->key_len && rss->key_len > ROC_NIX_RSS_KEY_LEN) { in cn10k_rss_action_validate()
|
| H A D | cnxk_flow.c | 68 const struct rte_flow_action_rss *rss; in npc_rss_action_validate() local 70 rss = (const struct rte_flow_action_rss *)act->conf; in npc_rss_action_validate() 82 if (!rss || !rss->queue_num) { in npc_rss_action_validate() 87 if (rss->func != RTE_ETH_HASH_FUNCTION_DEFAULT) { in npc_rss_action_validate() 92 if (rss->key_len && rss->key_len > ROC_NIX_RSS_KEY_LEN) { in npc_rss_action_validate() 105 const struct roc_npc_action_rss *rss; in npc_rss_flowkey_get() local 107 rss = (const struct roc_npc_action_rss *)rss_action->conf; in npc_rss_flowkey_get() 109 *flowkey_cfg = cnxk_rss_ethdev_to_nix(eth_dev, rss->types, rss->level); in npc_rss_flowkey_get()
|
| /dpdk/drivers/net/cxgbe/base/ |
| H A D | t4vf_hw.c | 489 struct rss_params *rss = &adapter->params.rss; in t4vf_get_rss_glb_config() local 514 switch (rss->mode) { in t4vf_get_rss_glb_config() 519 rss->u.basicvirtual.synmapen = in t4vf_get_rss_glb_config() 521 rss->u.basicvirtual.syn4tupenipv6 = in t4vf_get_rss_glb_config() 523 rss->u.basicvirtual.syn2tupenipv6 = in t4vf_get_rss_glb_config() 525 rss->u.basicvirtual.syn4tupenipv4 = in t4vf_get_rss_glb_config() 529 rss->u.basicvirtual.ofdmapen = in t4vf_get_rss_glb_config() 531 rss->u.basicvirtual.tnlmapen = in t4vf_get_rss_glb_config() 533 rss->u.basicvirtual.tnlalllookup = in t4vf_get_rss_glb_config() 535 rss->u.basicvirtual.hashtoeplitz = in t4vf_get_rss_glb_config() [all …]
|
| /dpdk/lib/ethdev/ |
| H A D | rte_flow.c | 645 src.rss = action->conf; in rte_flow_conv_action_conf() 646 dst.rss = buf; in rte_flow_conv_action_conf() 647 rte_memcpy(dst.rss, in rte_flow_conv_action_conf() 649 .func = src.rss->func, in rte_flow_conv_action_conf() 655 size > sizeof(*dst.rss) ? sizeof(*dst.rss) : size); in rte_flow_conv_action_conf() 656 off = sizeof(*dst.rss); in rte_flow_conv_action_conf() 657 if (src.rss->key_len && src.rss->key) { in rte_flow_conv_action_conf() 659 tmp = sizeof(*src.rss->key) * src.rss->key_len; in rte_flow_conv_action_conf() 663 src.rss->key, tmp); in rte_flow_conv_action_conf() 666 if (src.rss->queue_num) { in rte_flow_conv_action_conf() [all …]
|
| /dpdk/drivers/common/cnxk/ |
| H A D | roc_npc.c | 796 for (i = 0; i < rss->queue_num; i++) { in npc_rss_action_configure() 797 if (rss->queue[i] >= nix->nb_rx_queues) { in npc_rss_action_configure() 805 if (rss->key == NULL) { in npc_rss_action_configure() 809 key_ptr = rss->key; in npc_rss_action_configure() 820 if (rss->queue_num > nix->reta_sz) { in npc_rss_action_configure() 825 for (i = 0; i < (nix->reta_sz / rss->queue_num); i++) in npc_rss_action_configure() 826 memcpy(reta + i * rss->queue_num, rss->queue, in npc_rss_action_configure() 827 sizeof(uint16_t) * rss->queue_num); in npc_rss_action_configure() 829 rem = nix->reta_sz % rss->queue_num; in npc_rss_action_configure() 831 memcpy(&reta[i * rss->queue_num], rss->queue, in npc_rss_action_configure() [all …]
|
| H A D | roc_nix_rss.c | 75 req->rss.rq = reta[idx]; in nix_cn9k_rss_reta_set() 96 req->rss.rq = reta[idx]; in nix_cn9k_rss_reta_set() 132 req->rss.rq = reta[idx]; in nix_rss_reta_set() 153 req->rss.rq = reta[idx]; in nix_rss_reta_set()
|
| /dpdk/drivers/net/thunderx/base/ |
| H A D | nicvf_hw.c | 784 struct nicvf_rss_reta_info *rss = &nic->rss_info; in nicvf_rss_reta_update() local 790 assert(rss->rss_size > 0); in nicvf_rss_reta_update() 791 rss->hash_bits = (uint8_t)nicvf_log2_u32(rss->rss_size); in nicvf_rss_reta_update() 792 for (idx = 0; idx < rss->rss_size && idx < max_count; idx++) in nicvf_rss_reta_update() 793 rss->ind_tbl[idx] = tbl[idx]; in nicvf_rss_reta_update() 805 struct nicvf_rss_reta_info *rss = &nic->rss_info; in nicvf_rss_reta_query() local 811 assert(rss->rss_size > 0); in nicvf_rss_reta_query() 812 rss->hash_bits = (uint8_t)nicvf_log2_u32(rss->rss_size); in nicvf_rss_reta_query() 814 for (idx = 0; idx < rss->rss_size && idx < max_count; idx++) in nicvf_rss_reta_query() 815 tbl[idx] = rss->ind_tbl[idx]; in nicvf_rss_reta_query()
|
| /dpdk/examples/ip_pipeline/examples/ |
| H A D | rss.cli | 52 link LINK0 dev 0000:02:00.0 rxq 4 128 MEMPOOL0 txq 1 512 promiscuous on rss 0 1 2 3 53 link LINK1 dev 0000:02:00.1 rxq 4 128 MEMPOOL0 txq 1 512 promiscuous on rss 0 1 2 3 54 link LINK2 dev 0000:06:00.0 rxq 4 128 MEMPOOL0 txq 1 512 promiscuous on rss 0 1 2 3 55 link LINK3 dev 0000:06:00.1 rxq 4 128 MEMPOOL0 txq 1 512 promiscuous on rss 0 1 2 3
|
| /dpdk/drivers/net/hns3/ |
| H A D | hns3_flow.c | 108 const struct hns3_rss_conf *rss; in hns3_find_rss_general_action() local 127 rss = act->conf; in hns3_find_rss_general_action() 128 if (have_eth && rss->conf.queue_num) { in hns3_find_rss_general_action() 1358 (rss->types & RTE_ETH_RSS_IP || in hns3_rss_input_tuple_supported() 1377 const struct rte_flow_action_rss *rss; in hns3_parse_rss_filter() local 1383 rss = act->conf; in hns3_parse_rss_filter() 1385 if (rss == NULL) { in hns3_parse_rss_filter() 1405 if (!(rss->types & HNS3_ETH_RSS_SUPPORT) && rss->types) in hns3_parse_rss_filter() 1415 if (rss->level) in hns3_parse_rss_filter() 1419 if (rss->key_len && rss->key_len != RTE_DIM(rss_conf->key)) in hns3_parse_rss_filter() [all …]
|
| H A D | hns3_rxtx_vec_sve.c | 131 svuint32_t l234, ol, vld, vld2, xlen, rss; in hns3_recv_burst_vec_sve() local 175 rss = svld1_gather_u32offset_u32(pg32, (uint32_t *)rxdp2, in hns3_recv_burst_vec_sve() 196 svtbl_u32(svreinterpret_u32_u32(rss), rss_tbl1)); in hns3_recv_burst_vec_sve() 198 svtbl_u32(svreinterpret_u32_u32(rss), rss_tbl2)); in hns3_recv_burst_vec_sve() 210 offsetof(struct rte_mbuf, hash.rss), rss1st); in hns3_recv_burst_vec_sve() 214 offsetof(struct rte_mbuf, hash.rss), rss2st); in hns3_recv_burst_vec_sve()
|