| /dpdk/drivers/net/cnxk/ |
| H A D | cnxk_ethdev_mtr.c | 498 if (mtr) { in cnxk_nix_mtr_create() 581 nix_mtr_find(dev, mtr->prev_id[mtr->prev_cnt]); in cnxk_nix_mtr_destroy() 596 nix_mtr_find(dev, mtr->prev_id[mtr->prev_cnt]); in cnxk_nix_mtr_destroy() 992 mtr->prev_id[mtr->prev_cnt] = ROC_NIX_BPF_ID_INVALID; in nix_mtr_chain_update() 997 mtr->prev_id[mtr->prev_cnt] = prev_id; in nix_mtr_chain_update() 1002 mtr->prev_id[mtr->prev_cnt] = prev_id; in nix_mtr_chain_update() 1024 return mtr; in nix_get_mtr() 1189 mtr[1] = nix_mtr_find(dev, mtr[0]->next_id); in nix_mtr_configure() 1204 if (mtr[1] && mtr[1]->is_next) { in nix_mtr_configure() 1205 mtr[2] = nix_mtr_find(dev, mtr[1]->next_id); in nix_mtr_configure() [all …]
|
| H A D | cn10k_flow.c | 132 const struct rte_flow_action_meter *mtr = NULL; in cn10k_flow_create() local 176 mtr = (const struct rte_flow_action_meter *)actions[i] in cn10k_flow_create() 191 if (mtr) in cn10k_flow_create() 192 nix_mtr_chain_reset(eth_dev, mtr->mtr_id); in cn10k_flow_create() 196 if (mtr) in cn10k_flow_create() 197 cn10k_mtr_connect(eth_dev, mtr->mtr_id); in cn10k_flow_create()
|
| H A D | cnxk_ethdev.c | 187 struct cnxk_meter_node *mtr = NULL; in nix_meter_fini() local 188 struct cnxk_mtr *fms = &dev->mtr; in nix_meter_fini() 194 RTE_TAILQ_FOREACH_SAFE(mtr, fms, next, next_mtr) { in nix_meter_fini() 195 for (i = 0; i < mtr->rq_num; i++) { in nix_meter_fini() 196 rq = &dev->rqs[mtr->rq_id[i]]; in nix_meter_fini() 197 rc |= roc_nix_bpf_ena_dis(nix, mtr->bpf_id, rq, false); in nix_meter_fini() 200 profs.level = mtr->level; in nix_meter_fini() 202 profs.ids[0] = mtr->bpf_id; in nix_meter_fini() 208 TAILQ_REMOVE(fms, mtr, next); in nix_meter_fini() 209 plt_free(mtr); in nix_meter_fini() [all …]
|
| H A D | cnxk_ethdev.h | 418 struct cnxk_mtr mtr; member
|
| /dpdk/drivers/net/mvpp2/ |
| H A D | mrvl_mtr.c | 166 return mtr; in mrvl_mtr_from_id() 223 if (!mtr) in mrvl_meter_enable() 228 if (mtr->plcr) in mrvl_meter_enable() 262 if (flow->mtr != mtr) in mrvl_meter_enable() 295 if (!mtr) in mrvl_meter_disable() 301 if (flow->mtr != mtr) in mrvl_meter_disable() 345 if (mtr) in mrvl_create() 351 if (!mtr) in mrvl_create() 390 if (!mtr) in mrvl_destroy() 438 if (!mtr) in mrvl_meter_profile_update() [all …]
|
| H A D | mrvl_flow.c | 1541 struct mrvl_mtr *mtr; in mrvl_flow_parse_actions() local 1549 LIST_FOREACH(mtr, &priv->mtrs, next) in mrvl_flow_parse_actions() 1550 if (mtr->mtr_id == meter->mtr_id) in mrvl_flow_parse_actions() 1553 if (!mtr) in mrvl_flow_parse_actions() 1559 if (!mtr->shared && mtr->refcnt) in mrvl_flow_parse_actions() 1576 flow->action.plcr = mtr->enabled ? mtr->plcr : NULL; in mrvl_flow_parse_actions() 1577 flow->mtr = mtr; in mrvl_flow_parse_actions() 1578 mtr->refcnt++; in mrvl_flow_parse_actions() 1819 if (flow->mtr) { in mrvl_flow_remove() 1820 flow->mtr->refcnt--; in mrvl_flow_remove() [all …]
|
| H A D | mrvl_ethdev.h | 90 struct mrvl_mtr *mtr; member
|
| /dpdk/drivers/net/softnic/ |
| H A D | rte_eth_softnic_meter.c | 18 TAILQ_INIT(&p->mtr.meter_profiles); in softnic_mtr_init() 21 TAILQ_INIT(&p->mtr.meter_policies); in softnic_mtr_init() 24 TAILQ_INIT(&p->mtr.mtrs); in softnic_mtr_init() 36 m = TAILQ_FIRST(&p->mtr.mtrs); in softnic_mtr_free() 40 TAILQ_REMOVE(&p->mtr.mtrs, m, node); in softnic_mtr_free() 48 mp = TAILQ_FIRST(&p->mtr.meter_profiles); in softnic_mtr_free() 52 TAILQ_REMOVE(&p->mtr.meter_profiles, mp, node); in softnic_mtr_free() 60 mp = TAILQ_FIRST(&p->mtr.meter_policies); in softnic_mtr_free() 362 struct softnic_mtr_list *ml = &p->mtr.mtrs; in softnic_mtr_find() 604 action.mtr.mtr[0].meter_profile_id = meter_profile_id; in pmd_mtr_meter_profile_update() [all …]
|
| H A D | rte_eth_softnic_flow.c | 1559 if (params->mtr.n_tc != 1) in flow_rule_action_get() 1630 rule_action->mtr.mtr[0].meter_profile_id = meter_profile_id; in flow_rule_action_get() 1631 rule_action->mtr.mtr[0].policer[RTE_COLOR_GREEN] = in flow_rule_action_get() 1633 rule_action->mtr.mtr[0].policer[RTE_COLOR_YELLOW] = in flow_rule_action_get() 1635 rule_action->mtr.mtr[0].policer[RTE_COLOR_RED] = in flow_rule_action_get() 1637 rule_action->mtr.tc_mask = 1; in flow_rule_action_get() 1971 struct softnic_mtr *mtr) in flow_meter_owner_set() argument 1977 mtr->flow = flow; in flow_meter_owner_set() 2007 struct softnic_mtr *mtr; in pmd_flow_create() local 2134 if (mtr) in pmd_flow_create() [all …]
|
| H A D | rte_eth_softnic_cli.c | 1889 p.mtr.n_packets_enabled = 0; in cmd_table_action_profile() 1890 p.mtr.n_bytes_enabled = 0; in cmd_table_action_profile() 1893 p.mtr.n_bytes_enabled = 0; in cmd_table_action_profile() 1896 p.mtr.n_bytes_enabled = 1; in cmd_table_action_profile() 1899 p.mtr.n_bytes_enabled = 1; in cmd_table_action_profile() 3971 &a->mtr.mtr[0]) == 0)) in parse_table_action_meter() 3979 a->mtr.tc_mask = 1; in parse_table_action_meter() 3986 n_tokens - 1, &a->mtr.mtr[1]) == 0) || in parse_table_action_meter() 3989 n_tokens - 11, &a->mtr.mtr[2]) == 0) || in parse_table_action_meter() 3992 n_tokens - 21, &a->mtr.mtr[3]) == 0)) in parse_table_action_meter() [all …]
|
| H A D | rte_eth_softnic_internals.h | 350 struct rte_table_action_mtr_config mtr; member 627 struct mtr_internals mtr; member 980 struct rte_table_action_mtr_params mtr; member
|
| H A D | rte_eth_softnic_action.c | 295 ¶ms->mtr); in softnic_table_action_profile_create()
|
| H A D | rte_eth_softnic_thread.c | 1144 uint32_t tc_mask0 = (1 << ap->params.mtr.n_tc) - 1; in action_check() 1145 uint32_t tc_mask1 = action->mtr.tc_mask; in action_check() 2461 &action->mtr); in action_convert()
|
| /dpdk/drivers/net/mlx5/ |
| H A D | mlx5_flow_aso.c | 667 sq->elts[sq->head & mask].mtr = aso_mtr; in mlx5_aso_mtr_sq_enqueue_single() 740 aso_mtr = sq->elts[(sq->tail + i) & mask].mtr; in mlx5_aso_mtrs_status_update() 811 struct mlx5_aso_mtr *mtr) in mlx5_aso_meter_update_by_wqe() argument 818 if (mlx5_aso_mtr_sq_enqueue_single(sh, sq, mtr)) in mlx5_aso_meter_update_by_wqe() 824 mtr->offset); in mlx5_aso_meter_update_by_wqe() 843 struct mlx5_aso_mtr *mtr) in mlx5_aso_mtr_wait() argument 848 if (__atomic_load_n(&mtr->state, __ATOMIC_RELAXED) == in mlx5_aso_mtr_wait() 853 if (__atomic_load_n(&mtr->state, __ATOMIC_RELAXED) == in mlx5_aso_mtr_wait() 860 mtr->offset); in mlx5_aso_mtr_wait()
|
| H A D | mlx5.h | 553 struct mlx5_aso_mtr *mtr; member 1929 struct mlx5_aso_mtr *mtr); 1931 struct mlx5_aso_mtr *mtr);
|
| H A D | mlx5_flow.c | 4053 const struct rte_flow_action_meter *mtr = actions->conf; in flow_get_rss_action() local 4055 fm = mlx5_flow_meter_find(priv, mtr->mtr_id, &mtr_idx); in flow_get_rss_action() 4466 const struct rte_flow_action_meter *mtr = NULL; in flow_check_meter_action() local 4474 mtr = actions->conf; in flow_check_meter_action() 4475 *meter_id = mtr->mtr_id; in flow_check_meter_action()
|
| H A D | mlx5_flow_dv.c | 15964 const struct rte_flow_action_meter *mtr; in __flow_dv_create_domain_policy_acts() local 15971 mtr = act->conf; in __flow_dv_create_domain_policy_acts() 15973 mtr->mtr_id, in __flow_dv_create_domain_policy_acts() 18034 const struct rte_flow_action_meter *mtr; in flow_dv_validate_mtr_policy_acts() local 18236 mtr = act->conf; in flow_dv_validate_mtr_policy_acts() 18238 mtr->mtr_id, in flow_dv_validate_mtr_policy_acts()
|
| /dpdk/examples/ip_pipeline/ |
| H A D | cli.c | 1183 p.mtr.n_bytes_enabled = 0; in cmd_table_action_profile() 1186 p.mtr.n_bytes_enabled = 0; in cmd_table_action_profile() 1189 p.mtr.n_bytes_enabled = 1; in cmd_table_action_profile() 3266 &a->mtr.mtr[0]) == 0)) in parse_table_action_meter() 3273 a->mtr.tc_mask = 1; in parse_table_action_meter() 3280 n_tokens - 1, &a->mtr.mtr[1]) == 0) || in parse_table_action_meter() 3283 n_tokens - 11, &a->mtr.mtr[2]) == 0) || in parse_table_action_meter() 3286 n_tokens - 21, &a->mtr.mtr[3]) == 0)) in parse_table_action_meter() 3289 a->mtr.tc_mask = 0xF; in parse_table_action_meter() 4938 &a->mtr.mtr[i]; in table_rule_show() [all …]
|
| H A D | action.h | 50 struct rte_table_action_mtr_config mtr; member
|
| H A D | action.c | 263 ¶ms->mtr); in table_action_profile_create()
|
| H A D | pipeline.h | 287 struct rte_table_action_mtr_params mtr; member
|
| H A D | thread.c | 1118 uint32_t tc_mask0 = (1 << ap->params.mtr.n_tc) - 1; in action_check() 1119 uint32_t tc_mask1 = action->mtr.tc_mask; in action_check() 1972 tc_mask = (1 << table->ap->params.mtr.n_tc) - 1; in pipeline_table_rule_mtr_read() 2612 &action->mtr); in action_convert()
|
| /dpdk/lib/pipeline/ |
| H A D | rte_table_action.c | 100 mtr_cfg_check(struct rte_table_action_mtr_config *mtr) in mtr_cfg_check() argument 102 if ((mtr->alg == RTE_TABLE_ACTION_METER_SRTCM) || in mtr_cfg_check() 103 ((mtr->n_tc != 1) && (mtr->n_tc != 4)) || in mtr_cfg_check() 104 (mtr->n_bytes_enabled != 0)) in mtr_cfg_check() 162 mtr_data_size(struct rte_table_action_mtr_config *mtr) in mtr_data_size() argument 164 return mtr->n_tc * sizeof(struct mtr_trtcm_data); in mtr_data_size() 228 struct rte_table_action_mtr_tc_params *p_tc = &p->mtr[i]; in mtr_apply_check() 2219 struct rte_table_action_mtr_config mtr; member 2262 return &ap_config->mtr; in action_cfg_get() 2316 return mtr_data_size(&ap_config->mtr); in action_data_size() [all …]
|
| H A D | rte_table_action.h | 317 struct rte_table_action_mtr_tc_params mtr[RTE_TABLE_ACTION_TC_MAX]; member
|
| /dpdk/doc/guides/tools/ |
| H A D | flow-perf.rst | 393 * ``--policy-mtr=<str>`` 394 Add policy-mtr to create meter with policy and specify policy actions. 395 Example: policy-mtr=rss,mark::drop
|