Home
last modified time | relevance | path

Searched refs:flow_act (Results 1 – 25 of 27) sorted by relevance

12

/drivers/net/ethernet/mellanox/mlx5/core/
Deswitch_offloads_termtbl.c13 struct mlx5_flow_act flow_act; member
21 mlx5_eswitch_termtbl_hash(struct mlx5_flow_act *flow_act, in mlx5_eswitch_termtbl_hash() argument
26 hash = jhash_1word(flow_act->action, 0); in mlx5_eswitch_termtbl_hash()
27 hash = jhash((const void *)&flow_act->vlan, in mlx5_eswitch_termtbl_hash()
28 sizeof(flow_act->vlan), hash); in mlx5_eswitch_termtbl_hash()
33 if (flow_act->pkt_reformat) in mlx5_eswitch_termtbl_hash()
34 hash = jhash(flow_act->pkt_reformat, in mlx5_eswitch_termtbl_hash()
35 sizeof(*flow_act->pkt_reformat), in mlx5_eswitch_termtbl_hash()
66 struct mlx5_flow_act *flow_act) in mlx5_eswitch_termtbl_create() argument
94 tt->rule = mlx5_add_flow_rules(tt->termtbl, NULL, flow_act, in mlx5_eswitch_termtbl_create()
[all …]
Deswitch_offloads.c189 struct mlx5_flow_act *flow_act, in esw_setup_sampler_dest() argument
193 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_sampler_dest()
202 struct mlx5_flow_act *flow_act, in esw_setup_ft_dest() argument
208 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_ft_dest()
219 struct mlx5_flow_act *flow_act, in esw_setup_slow_path_dest() argument
224 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_slow_path_dest()
231 struct mlx5_flow_act *flow_act, in esw_setup_chain_dest() argument
238 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_chain_dest()
277 struct mlx5_flow_act *flow_act, in esw_setup_chain_src_port_rewrite() argument
290 err = esw_setup_chain_dest(dest, flow_act, chains, attr->dest_chain, 1, 0, *i); in esw_setup_chain_src_port_rewrite()
[all …]
Drdma.c29 struct mlx5_flow_act flow_act = {}; in mlx5_rdma_enable_roce_steering() local
89 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; in mlx5_rdma_enable_roce_steering()
90 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0); in mlx5_rdma_enable_roce_steering()
Dfs_core.c666 struct mlx5_flow_act *flow_act) in alloc_fte() argument
677 fte->action = *flow_act; in alloc_fte()
876 struct mlx5_flow_act *flow_act) in find_next_fwd_ft() argument
881 next_ns = flow_act->action & MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_NS; in find_next_fwd_ft()
1639 const struct mlx5_flow_act *flow_act) in check_conflicting_ftes() argument
1641 if (check_conflicting_actions(flow_act, &fte->action)) { in check_conflicting_ftes()
1661 struct mlx5_flow_act *flow_act, in add_rule_fg() argument
1671 ret = check_conflicting_ftes(fte, &spec->flow_context, flow_act); in add_rule_fg()
1676 fte->action.action |= flow_act->action; in add_rule_fg()
1678 old_action != flow_act->action); in add_rule_fg()
[all …]
Den_fs.c193 MLX5_DECLARE_FLOW_ACT(flow_act); in __mlx5e_add_vlan_rule()
248 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in __mlx5e_add_vlan_rule()
338 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_trap_rule()
350 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_trap_rule()
713 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_promisc_rule()
724 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_promisc_rule()
926 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_l2_flow_rule()
958 ai->rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_l2_flow_rule()
Den_arfs.c196 MLX5_DECLARE_FLOW_ACT(flow_act); in arfs_add_default_rule()
213 &flow_act, in arfs_add_default_rule()
485 MLX5_DECLARE_FLOW_ACT(flow_act); in arfs_add_rule()
560 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in arfs_add_rule()
Den_fs_ethtool.c456 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND }; in add_ethtool_flow_rule() local
471 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in add_ethtool_flow_rule()
484 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in add_ethtool_flow_rule()
489 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dst, dst ? 1 : 0); in add_ethtool_flow_rule()
Deswitch.h383 struct mlx5_flow_act *flow_act,
391 struct mlx5_flow_act *flow_act,
Deswitch.c196 struct mlx5_flow_act flow_act = {0}; in __esw_fdb_set_vport_rule() local
237 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in __esw_fdb_set_vport_rule()
240 &flow_act, &dest, 1); in __esw_fdb_set_vport_rule()
/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/
Dingress_ofld.c20 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_prio_tag_create() local
37 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH | in esw_acl_ingress_prio_tag_create()
39 flow_act.vlan[0].ethtype = ETH_P_8021Q; in esw_acl_ingress_prio_tag_create()
40 flow_act.vlan[0].vid = 0; in esw_acl_ingress_prio_tag_create()
41 flow_act.vlan[0].prio = 0; in esw_acl_ingress_prio_tag_create()
44 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; in esw_acl_ingress_prio_tag_create()
45 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; in esw_acl_ingress_prio_tag_create()
49 &flow_act, NULL, 0); in esw_acl_ingress_prio_tag_create()
66 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_mod_metadata_create() local
93 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_MOD_HDR | MLX5_FLOW_CONTEXT_ACTION_ALLOW; in esw_acl_ingress_mod_metadata_create()
[all …]
Dingress_lgcy.c145 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_lgcy_setup() local
220 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; in esw_acl_ingress_lgcy_setup()
222 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH; in esw_acl_ingress_lgcy_setup()
223 flow_act.vlan[0].prio = vport->info.qos; in esw_acl_ingress_lgcy_setup()
224 flow_act.vlan[0].vid = vport->info.vlan; in esw_acl_ingress_lgcy_setup()
225 flow_act.vlan[0].ethtype = ETH_P_8021Q; in esw_acl_ingress_lgcy_setup()
244 &flow_act, NULL, 0); in esw_acl_ingress_lgcy_setup()
257 memset(&flow_act, 0, sizeof(flow_act)); in esw_acl_ingress_lgcy_setup()
258 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in esw_acl_ingress_lgcy_setup()
261 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_COUNT; in esw_acl_ingress_lgcy_setup()
[all …]
Degress_lgcy.c74 struct mlx5_flow_act flow_act = {}; in esw_acl_egress_lgcy_setup() local
132 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in esw_acl_egress_lgcy_setup()
136 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_COUNT; in esw_acl_egress_lgcy_setup()
144 &flow_act, dst, dest_num); in esw_acl_egress_lgcy_setup()
Dhelper.c53 struct mlx5_flow_act flow_act = {}; in esw_egress_acl_vlan_create() local
70 flow_act.action = flow_action; in esw_egress_acl_vlan_create()
73 &flow_act, fwd_dest, 0); in esw_egress_acl_vlan_create()
Degress_ofld.c31 struct mlx5_flow_act flow_act = {}; in esw_acl_egress_ofld_fwd2vport_create() local
40 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in esw_acl_egress_ofld_fwd2vport_create()
44 &flow_act, fwd_dest, 1); in esw_acl_egress_ofld_fwd2vport_create()
/drivers/net/ethernet/mellanox/mlx5/core/en_accel/
Dipsec_fs.c57 struct mlx5_flow_act flow_act = {}; in rx_err_add_rule() local
86 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_MOD_HDR | in rx_err_add_rule()
88 flow_act.modify_hdr = modify_hdr; in rx_err_add_rule()
89 fte = mlx5_add_flow_rules(rx_err->ft, spec, &flow_act, in rx_err_add_rule()
189 MLX5_DECLARE_FLOW_ACT(flow_act); in rx_fs_create()
228 miss_rule = mlx5_add_flow_rules(ft, spec, &flow_act, &fs_prot->default_dest, 1); in rx_fs_create()
407 struct mlx5_flow_act *flow_act) in setup_fte_common() argument
456 flow_act->ipsec_obj_id = ipsec_obj_id; in setup_fte_common()
457 flow_act->flags |= FLOW_ACT_NO_APPEND; in setup_fte_common()
470 struct mlx5_flow_act flow_act = {}; in rx_add_rule() local
[all …]
Dfs_tcp.c81 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_accel_fs_add_sk()
140 flow = mlx5_add_flow_rules(ft->t, spec, &flow_act, &dest, 1); in mlx5e_accel_fs_add_sk()
157 MLX5_DECLARE_FLOW_ACT(flow_act); in accel_fs_tcp_add_default_rule()
165 rule = mlx5_add_flow_rules(accel_fs_t->t, NULL, &flow_act, &dest, 1); in accel_fs_tcp_add_default_rule()
/drivers/net/ethernet/mellanox/mlx5/core/esw/
Dindir_table.c128 struct mlx5_flow_act flow_act = {}; in mlx5_esw_indir_table_rule_get() local
209 flow_act.modify_hdr = mlx5_modify_header_alloc(esw->dev, MLX5_FLOW_NAMESPACE_FDB, in mlx5_esw_indir_table_rule_get()
211 if (IS_ERR(flow_act.modify_hdr)) { in mlx5_esw_indir_table_rule_get()
212 err = PTR_ERR(flow_act.modify_hdr); in mlx5_esw_indir_table_rule_get()
216 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; in mlx5_esw_indir_table_rule_get()
217 flow_act.flags = FLOW_ACT_IGNORE_FLOW_LEVEL | FLOW_ACT_NO_APPEND; in mlx5_esw_indir_table_rule_get()
224 handle = mlx5_add_flow_rules(e->ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_indir_table_rule_get()
233 rule->mh = flow_act.modify_hdr; in mlx5_esw_indir_table_rule_get()
244 mlx5_modify_header_dealloc(esw->dev, flow_act.modify_hdr); in mlx5_esw_indir_table_rule_get()
341 struct mlx5_flow_act flow_act = {}; in mlx5_create_indir_fwd_group() local
[all …]
Dlegacy.c254 struct mlx5_flow_act flow_act = {}; in _mlx5_eswitch_set_vepa_locked() local
282 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in _mlx5_eswitch_set_vepa_locked()
284 &flow_act, &dest, 1); in _mlx5_eswitch_set_vepa_locked()
296 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in _mlx5_eswitch_set_vepa_locked()
298 &flow_act, &dest, 1); in _mlx5_eswitch_set_vepa_locked()
Dbridge.c418 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_flow_with_esw_create() local
446 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; in mlx5_esw_bridge_ingress_flow_with_esw_create()
447 flow_act.pkt_reformat = vlan->pkt_reformat_push; in mlx5_esw_bridge_ingress_flow_with_esw_create()
464 handle = mlx5_add_flow_rules(br_offloads->ingress_ft, rule_spec, &flow_act, dests, in mlx5_esw_bridge_ingress_flow_with_esw_create()
509 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_filter_flow_create() local
540 handle = mlx5_add_flow_rules(br_offloads->ingress_ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_bridge_ingress_filter_flow_create()
555 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_egress_flow_create() local
578 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; in mlx5_esw_bridge_egress_flow_create()
579 flow_act.pkt_reformat = vlan->pkt_reformat_pop; in mlx5_esw_bridge_egress_flow_create()
596 handle = mlx5_add_flow_rules(bridge->egress_ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_bridge_egress_flow_create()
/drivers/infiniband/hw/mlx5/
Dfs.c597 const struct mlx5_flow_act *flow_act, in is_valid_esp_aes_gcm() argument
602 (flow_act->action & (MLX5_FLOW_CONTEXT_ACTION_ENCRYPT | in is_valid_esp_aes_gcm()
605 bool is_drop = flow_act->action & MLX5_FLOW_CONTEXT_ACTION_DROP; in is_valid_esp_aes_gcm()
622 const struct mlx5_flow_act *flow_act, in is_valid_spec() argument
626 return is_valid_esp_aes_gcm(mdev, spec, flow_act, egress) != VALID_SPEC_INVALID; in is_valid_spec()
911 struct mlx5_flow_act flow_act = {}; in _create_flow_rule() local
939 ib_flow, flow_attr, &flow_act, in _create_flow_rule()
948 if (dst && !(flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP)) { in _create_flow_rule()
971 !is_valid_spec(dev->mdev, spec, &flow_act, is_egress)) { in _create_flow_rule()
976 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) { in _create_flow_rule()
[all …]
/drivers/net/ethernet/mellanox/mlx5/core/en/
Dfs_tt_redirect.c84 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_fs_tt_redirect_udp_add_rule()
104 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_fs_tt_redirect_udp_add_rule()
119 MLX5_DECLARE_FLOW_ACT(flow_act); in fs_udp_add_default_rule()
128 rule = mlx5_add_flow_rules(fs_udp_t->t, NULL, &flow_act, &dest, 1); in fs_udp_add_default_rule()
365 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_fs_tt_redirect_any_add_rule()
382 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_fs_tt_redirect_any_add_rule()
397 MLX5_DECLARE_FLOW_ACT(flow_act); in fs_any_add_default_rule()
406 rule = mlx5_add_flow_rules(fs_any_t->t, NULL, &flow_act, &dest, 1); in fs_any_add_default_rule()
Dtc_ct.c1395 struct mlx5_flow_act flow_act = {}; in tc_ct_pre_ct_add_rules() local
1426 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | in tc_ct_pre_ct_add_rules()
1428 flow_act.flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in tc_ct_pre_ct_add_rules()
1429 flow_act.modify_hdr = mod_hdr; in tc_ct_pre_ct_add_rules()
1441 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in tc_ct_pre_ct_add_rules()
1451 rule = mlx5_add_flow_rules(ft, NULL, &flow_act, &dest, 1); in tc_ct_pre_ct_add_rules()
/drivers/net/ethernet/mellanox/mlx5/core/lib/
Dfs_ttc.c198 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5_generate_ttc_rule()
225 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5_generate_ttc_rule()
359 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5_generate_inner_ttc_rule()
382 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5_generate_inner_ttc_rule()
/drivers/net/ethernet/netronome/nfp/flower/
Daction.c1160 static bool nfp_fl_check_mangle_start(struct flow_action *flow_act, in nfp_fl_check_mangle_start() argument
1166 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_start()
1173 prev_act = flow_act->entries[current_act_idx - 1]; in nfp_fl_check_mangle_start()
1178 static bool nfp_fl_check_mangle_end(struct flow_action *flow_act, in nfp_fl_check_mangle_end() argument
1184 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_end()
1188 if (current_act_idx == flow_act->num_entries) in nfp_fl_check_mangle_end()
1191 next_act = flow_act->entries[current_act_idx + 1]; in nfp_fl_check_mangle_end()
/drivers/net/ethernet/mellanox/mlx5/core/fpga/
Dipsec.c642 struct mlx5_flow_act *flow_act, in mlx5_is_fpga_egress_ipsec_rule() argument
661 (flow_act->action & ~(MLX5_FLOW_CONTEXT_ACTION_ENCRYPT | MLX5_FLOW_CONTEXT_ACTION_ALLOW)) || in mlx5_is_fpga_egress_ipsec_rule()

12