| /dpdk/app/test-flow-perf/ |
| H A D | actions_gen.c | 60 add_mark(struct rte_flow_action *actions, in add_mark() argument 77 add_queue(struct rte_flow_action *actions, in add_queue() argument 92 add_jump(struct rte_flow_action *actions, in add_jump() argument 107 add_rss(struct rte_flow_action *actions, in add_rss() argument 158 add_set_tag(struct rte_flow_action *actions, in add_set_tag() argument 183 actions[actions_counter].conf = &port_id; in add_port_id() 187 add_drop(struct rte_flow_action *actions, in add_drop() argument 195 add_count(struct rte_flow_action *actions, in add_count() argument 522 add_flag(struct rte_flow_action *actions, in add_flag() argument 950 struct rte_flow_action *actions, in fill_actions() [all …]
|
| H A D | flow_gen.c | 58 struct rte_flow_action actions[MAX_ACTIONS_NUM]; in generate_flow() local 62 memset(actions, 0, sizeof(actions)); in generate_flow() 67 fill_actions(actions, flow_actions, in generate_flow() 74 flow = rte_flow_create(port_id, &attr, items, actions, error); in generate_flow()
|
| /dpdk/drivers/net/cnxk/ |
| H A D | cn10k_flow.c | 25 const struct rte_flow_action actions[]) in cn10k_mtr_configure() argument 37 if (actions[i].type == RTE_FLOW_ACTION_TYPE_METER) { in cn10k_mtr_configure() 39 *)(actions[i].conf); in cn10k_mtr_configure() 43 if (actions[i].type == RTE_FLOW_ACTION_TYPE_QUEUE) { in cn10k_mtr_configure() 45 *)(actions[i].conf); in cn10k_mtr_configure() 50 if (actions[i].type == RTE_FLOW_ACTION_TYPE_RSS) { in cn10k_mtr_configure() 52 *)(actions[i].conf); in cn10k_mtr_configure() 127 const struct rte_flow_action actions[], in cn10k_flow_create() argument 146 act_q = &actions[i]; in cn10k_flow_create() 150 action_rss = &actions[i]; in cn10k_flow_create() [all …]
|
| H A D | cnxk_flow.c | 128 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in cnxk_map_actions() 129 switch (actions->type) { in cnxk_map_actions() 136 in_actions[i].conf = actions->conf; in cnxk_map_actions() 157 in_actions[i].conf = actions->conf; in cnxk_map_actions() 162 in_actions[i].conf = actions->conf; in cnxk_map_actions() 164 actions->conf; in cnxk_map_actions() 192 actions->conf; in cnxk_map_actions() 199 in_actions[i].conf = actions->conf; in cnxk_map_actions() 207 in_actions[i].conf = actions->conf; in cnxk_map_actions() 213 in_actions[i].conf = actions->conf; in cnxk_map_actions() [all …]
|
| /dpdk/app/test/ |
| H A D | test_flow_classify.c | 316 actions[1] = end_action; in test_valid_parameters() 319 actions, &error); in test_valid_parameters() 365 actions[1] = end_action; in test_invalid_patterns() 371 actions, &error); in test_invalid_patterns() 399 actions, &error); in test_invalid_patterns() 444 actions[1] = end_action; in test_invalid_actions() 447 actions, &error); in test_invalid_actions() 656 actions[1] = end_action; in test_query_udp() 659 actions, &error); in test_query_udp() 726 actions, &error); in test_query_tcp() [all …]
|
| /dpdk/drivers/common/cnxk/ |
| H A D | roc_npc.c | 364 for (; actions->type != ROC_NPC_ACTION_TYPE_END; actions++) { in npc_parse_actions() 370 actions->conf; in npc_parse_actions() 418 actions->conf; in npc_parse_actions() 476 actions->conf; in npc_parse_actions() 866 for (; actions->type != ROC_NPC_ACTION_TYPE_END; actions++) { in npc_rss_action_program() 952 actions->conf; in npc_vtag_insert_action_parse() 971 actions->conf; in npc_vtag_insert_action_parse() 989 actions->conf; in npc_vtag_insert_action_parse() 1143 for (; actions->type != ROC_NPC_ACTION_TYPE_END; actions++) { in npc_vtag_action_program() 1155 actions++; in npc_vtag_action_program() [all …]
|
| /dpdk/doc/guides/tools/ |
| H A D | flow-perf.rst | 249 Add RSS action to all flows actions, 267 Add jump action to all flows actions. 272 Add mark action to all flows actions. 277 Add count action to all flows actions. 280 Add set-meta action to all flows actions. 285 Add set-tag action to all flows actions. 293 Add drop action to all flows actions. 373 Add flag action to all flows actions. 376 Add raw encap action to all flows actions. 381 Add raw decap action to all flows actions. [all …]
|
| /dpdk/doc/guides/howto/ |
| H A D | rte_flow.rst | 37 struct rte_flow_action actions[MAX_ACTIONS_IN_FLOW]; 61 actions[0].type = RTE_FLOW_ACTION_TYPE_DROP; 62 actions[1].type = RTE_FLOW_ACTION_TYPE_END; 123 end actions drop / end 132 struct rte_flow_action actions[MAX_ACTIONS_IN_FLOW]; 159 actions[0].type = RTE_FLOW_ACTION_TYPE_DROP; 160 actions[1].type = RTE_FLOW_ACTION_TYPE_END; 223 end actions queue index 3 / end 252 actions[0].type = RTE_FLOW_ACTION_TYPE_QUEUE; 253 actions[0].conf = &queue; [all …]
|
| /dpdk/drivers/net/e1000/ |
| H A D | igb_flow.c | 43 act = (actions) + (index); \ 46 act = (actions) + (index); \ 116 if (!actions) { in cons_parse_ntuple_filter() 509 if (!actions) { in cons_parse_ethertype_filter() 683 actions, filter, error); in igb_parse_ethertype_filter() 779 if (!actions) { in cons_parse_syn_filter() 989 actions, filter, error); in igb_parse_syn_filter() 1065 if (!actions) { in cons_parse_flex_filter() 1283 actions, filter, error); in igb_parse_flex_filter() 1578 actions, &rss_conf, error); in igb_flow_create() [all …]
|
| /dpdk/drivers/net/mlx5/ |
| H A D | mlx5_flow.c | 1639 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) in mlx5_flow_find_action() 1641 return actions; in mlx5_flow_find_action() 4033 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_get_rss_action() 4356 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_parse_metadata_split_actions_info() 4471 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_check_meter_action() 4522 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_check_hairpin_split() 4945 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_mreg_update_copy_table() 5014 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_hairpin_split() 5417 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_meter_split_prep() 5798 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_check_match_action() [all …]
|
| H A D | mlx5_flow_hw.c | 550 struct rte_flow_action *actions = at->actions; in flow_hw_actions_translate() local 570 switch (actions->type) { in flow_hw_actions_translate() 578 (dev, actions, acts, actions - action_start, i)) in flow_hw_actions_translate() 601 actions->type, actions - action_start, i)) in flow_hw_actions_translate() 611 actions->conf)->group; in flow_hw_actions_translate() 631 actions); in flow_hw_actions_translate() 648 actions); in flow_hw_actions_translate() 691 actions->conf; in flow_hw_actions_translate() 1634 NULL, 0, actions, error); in flow_hw_actions_template_create() 1654 actions, error); in flow_hw_actions_template_create() [all …]
|
| H A D | mlx5_flow_verbs.c | 1428 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_verbs_validate() 1429 switch (actions->type) { in flow_verbs_validate() 1484 actions, in flow_verbs_validate() 1522 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_verbs_get_actions_size() 1523 switch (actions->type) { in flow_verbs_get_actions_size() 1726 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_verbs_translate() 1729 switch (actions->type) { in flow_verbs_translate() 1759 actions, in flow_verbs_translate() 1768 actions, in flow_verbs_translate() 2060 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in flow_verbs_query() [all …]
|
| /dpdk/drivers/net/txgbe/ |
| H A D | txgbe_flow.c | 95 cur ? cur + 1 : &actions[0]; in next_no_void_action() 168 if (!actions) { in cons_parse_ntuple_filter() 663 if (!actions) { in cons_parse_ethertype_filter() 827 actions, filter, error); in txgbe_parse_ethertype_filter() 908 if (!actions) { in cons_parse_syn_filter() 1113 actions, filter, error); in txgbe_parse_syn_filter() 1164 if (!actions) { in cons_parse_l2_tn_filter() 1567 if (!actions) { in txgbe_parse_fdir_filter_normal() 2202 if (!actions) { in txgbe_parse_fdir_filter_tunnel() 2445 actions, rule, error); in txgbe_parse_fdir_filter() [all …]
|
| /dpdk/lib/ethdev/ |
| H A D | rte_mtr.h | 213 const struct rte_flow_action *actions[RTE_COLORS]; member 590 .actions[RTE_COLOR_GREEN] = (struct rte_flow_action[]) { \ 601 .actions[RTE_COLOR_YELLOW] = (struct rte_flow_action[]) { \ 612 .actions[RTE_COLOR_RED] = (struct rte_flow_action[]) { \ 632 .actions[RTE_COLOR_GREEN] = NULL, \ 633 .actions[RTE_COLOR_YELLOW] = NULL, \ 634 .actions[RTE_COLOR_RED] = (struct rte_flow_action[]) { \
|
| /dpdk/drivers/net/enic/ |
| H A D | enic_flow.c | 1144 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in enic_copy_action_v1() 1148 switch (actions->type) { in enic_copy_action_v1() 1152 actions->conf; in enic_copy_action_v1() 1192 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in enic_copy_action_v2() 1193 switch (actions->type) { in enic_copy_action_v2() 1197 actions->conf; in enic_copy_action_v2() 1210 actions->conf; in enic_copy_action_v2() 1252 actions->conf; in enic_copy_action_v2() 1337 uint8_t actions; in enic_get_action_cap() local 1339 actions = enic->filter_actions; in enic_get_action_cap() [all …]
|
| /dpdk/drivers/net/ixgbe/ |
| H A D | ixgbe_flow.c | 129 cur ? cur + 1 : &actions[0]; in next_no_void_action() 202 if (!actions) { in cons_parse_ntuple_filter() 701 if (!actions) { in cons_parse_ethertype_filter() 868 actions, filter, error); in ixgbe_parse_ethertype_filter() 949 if (!actions) { in cons_parse_syn_filter() 1157 actions, filter, error); in ixgbe_parse_syn_filter() 1208 if (!actions) { in cons_parse_l2_tn_filter() 1626 if (!actions) { in ixgbe_parse_fdir_filter_normal() 2326 if (!actions) { in ixgbe_parse_fdir_filter_tunnel() 2771 actions, rule, error); in ixgbe_parse_fdir_filter() [all …]
|
| /dpdk/drivers/net/hns3/ |
| H A D | hns3_flow.c | 111 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in hns3_find_rss_general_action() 113 act = actions; in hns3_find_rss_general_action() 397 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in hns3_handle_actions() 398 switch (actions->type) { in hns3_handle_actions() 427 actions, in hns3_handle_actions() 443 actions, in hns3_handle_actions() 1718 if (actions == NULL) in hns3_flow_args_check() 2032 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in hns3_flow_query() 2033 switch (actions->type) { in hns3_flow_query() 2046 actions, "action is not supported"); in hns3_flow_query() [all …]
|
| /dpdk/drivers/net/failsafe/ |
| H A D | failsafe_flow.c | 21 const struct rte_flow_action *actions) in fs_flow_allocate() argument 27 .actions_ro = actions, in fs_flow_allocate() 68 const struct rte_flow_action actions[], in fs_flow_validate() argument 79 attr, patterns, actions, error); in fs_flow_validate() 95 const struct rte_flow_action actions[], in fs_flow_create() argument 103 flow = fs_flow_allocate(attr, patterns, actions); in fs_flow_create() 106 attr, patterns, actions, error); in fs_flow_create()
|
| /dpdk/drivers/net/sfc/ |
| H A D | sfc_flow_tunnel.c | 57 const struct rte_flow_action *actions, in sfc_flow_tunnel_detect_jump_rule() argument 74 if (actions == NULL) { in sfc_flow_tunnel_detect_jump_rule() 81 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; ++actions) { in sfc_flow_tunnel_detect_jump_rule() 82 if (actions->type == RTE_FLOW_ACTION_TYPE_VOID) in sfc_flow_tunnel_detect_jump_rule() 85 if (actions->conf == NULL) { in sfc_flow_tunnel_detect_jump_rule() 90 switch (actions->type) { in sfc_flow_tunnel_detect_jump_rule() 95 action_mark = actions->conf; in sfc_flow_tunnel_detect_jump_rule() 103 action_jump = actions->conf; in sfc_flow_tunnel_detect_jump_rule()
|
| /dpdk/drivers/net/bonding/ |
| H A D | rte_eth_bond_flow.c | 19 const struct rte_flow_action *actions) in bond_flow_alloc() argument 25 .actions_ro = actions, in bond_flow_alloc() 65 const struct rte_flow_action actions[], in bond_flow_validate() argument 74 patterns, actions, err); in bond_flow_validate() 87 const struct rte_flow_action actions[], in bond_flow_create() argument 94 flow = bond_flow_alloc(dev->data->numa_node, attr, patterns, actions); in bond_flow_create() 102 attr, patterns, actions, err); in bond_flow_create()
|
| /dpdk/drivers/net/ipn3ke/ |
| H A D | ipn3ke_flow.c | 721 ipn3ke_flow_convert_actions(const struct rte_flow_action actions[], in ipn3ke_flow_convert_actions() argument 726 if (!actions) { in ipn3ke_flow_convert_actions() 735 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; ++actions) { in ipn3ke_flow_convert_actions() 736 switch (actions->type) { in ipn3ke_flow_convert_actions() 745 actions, in ipn3ke_flow_convert_actions() 750 mark = actions->conf; in ipn3ke_flow_convert_actions() 755 actions, in ipn3ke_flow_convert_actions() 762 actions, in ipn3ke_flow_convert_actions() 779 actions, in ipn3ke_flow_convert_actions() 789 actions, in ipn3ke_flow_convert_actions() [all …]
|
| /dpdk/drivers/net/hinic/ |
| H A D | hinic_pmd_flow.c | 135 cur ? cur + 1 : &actions[0]; in next_no_void_action() 180 const struct rte_flow_action *actions, in hinic_check_filter_arg() argument 189 if (!actions) { in hinic_check_filter_arg() 242 act = next_no_void_action(actions, NULL); in hinic_parse_ethertype_aciton() 259 act = next_no_void_action(actions, act); in hinic_parse_ethertype_aciton() 288 const struct rte_flow_action *actions, in cons_parse_ethertype_filter() argument 1649 actions, &ntuple_filter, error); in hinic_flow_validate() 1655 actions, ðertype_filter, error); in hinic_flow_validate() 1662 actions, &fdir_rule, error); in hinic_flow_validate() 2981 actions, &ntuple_filter, error); in hinic_flow_create() [all …]
|
| /dpdk/drivers/net/iavf/ |
| H A D | iavf_generic_flow.c | 27 const struct rte_flow_action actions[], 32 const struct rte_flow_action actions[], 39 const struct rte_flow_action *actions, 2093 pattern, actions, &meta, error) < 0) in iavf_parse_engine_create() 2165 if (!actions) { in iavf_flow_process_filter() 2184 actions, error); in iavf_flow_process_filter() 2189 actions, error); in iavf_flow_process_filter() 2194 pattern, actions, error); in iavf_flow_process_filter() 2355 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; actions++) { in iavf_flow_query() 2356 switch (actions->type) { in iavf_flow_query() [all …]
|
| /dpdk/lib/pipeline/ |
| H A D | rte_swx_ctl.c | 142 struct action *actions; member 171 if (!ctl->actions) in action_free() 180 free(ctl->actions); in action_free() 181 ctl->actions = NULL; in action_free() 739 free(table->actions); in table_free() 981 free(l->actions); in learner_free() 1209 if (!ctl->actions) in rte_swx_ctl_pipeline_create() 1288 if (!t->actions) in rte_swx_ctl_pipeline_create() 1295 &t->actions[j]); in rte_swx_ctl_pipeline_create() 1419 if (!l->actions) in rte_swx_ctl_pipeline_create() [all …]
|
| /dpdk/drivers/net/tap/ |
| H A D | tap_flow.c | 146 struct rte_flow_action actions[2]; member 185 const struct rte_flow_action actions[], 1157 actions: in priv_flow_process() 1158 for (; actions->type != RTE_FLOW_ACTION_TYPE_END; ++actions) { in priv_flow_process() 1197 actions->conf; in priv_flow_process() 1222 actions->conf; in priv_flow_process() 1247 actions = drop; in priv_flow_process() 1248 goto actions; in priv_flow_process() 1260 actions, "action not supported"); in priv_flow_process() 1676 struct rte_flow_action *actions = implicit_rte_flows[idx].actions; in tap_flow_implicit_create() local [all …]
|