/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/ |
D | eswitch_offloads_termtbl.c | 13 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 …]
|
D | eswitch_offloads.c | 206 struct mlx5_flow_act *flow_act, in esw_setup_sampler_dest() argument 210 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_sampler_dest() 219 struct mlx5_flow_act *flow_act, in esw_setup_ft_dest() argument 225 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_ft_dest() 235 esw_setup_accept_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, in esw_setup_accept_dest() argument 239 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_accept_dest() 245 esw_setup_slow_path_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, in esw_setup_slow_path_dest() argument 249 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_slow_path_dest() 256 struct mlx5_flow_act *flow_act, in esw_setup_chain_dest() argument 263 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in esw_setup_chain_dest() [all …]
|
D | rdma.c | 29 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()
|
D | fs_core.c | 724 struct mlx5_flow_act *flow_act) in alloc_fte() argument 735 fte->action = *flow_act; in alloc_fte() 912 struct mlx5_flow_act *flow_act) in find_next_fwd_ft() argument 917 next_ns = flow_act->action & MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_NS; in find_next_fwd_ft() 1653 const struct mlx5_flow_act *flow_act) in check_conflicting_ftes() argument 1655 if (check_conflicting_actions(flow_act, &fte->action)) { in check_conflicting_ftes() 1675 struct mlx5_flow_act *flow_act, in add_rule_fg() argument 1685 ret = check_conflicting_ftes(fte, &spec->flow_context, flow_act); in add_rule_fg() 1690 fte->action.action |= flow_act->action; in add_rule_fg() 1692 old_action != flow_act->action); in add_rule_fg() [all …]
|
D | en_fs.c | 219 MLX5_DECLARE_FLOW_ACT(flow_act); in __mlx5e_add_vlan_rule() 274 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in __mlx5e_add_vlan_rule() 364 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_trap_rule() 376 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_trap_rule() 744 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_promisc_rule() 755 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_promisc_rule() 956 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_l2_flow_rule() 988 ai->rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_l2_flow_rule()
|
D | en_arfs.c | 204 MLX5_DECLARE_FLOW_ACT(flow_act); in arfs_add_default_rule() 220 &flow_act, in arfs_add_default_rule() 496 MLX5_DECLARE_FLOW_ACT(flow_act); in arfs_add_rule() 571 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in arfs_add_rule()
|
D | en_fs_ethtool.c | 466 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND }; in add_ethtool_flow_rule() local 481 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in add_ethtool_flow_rule() 494 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in add_ethtool_flow_rule() 499 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dst, dst ? 1 : 0); in add_ethtool_flow_rule()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
D | macsec_fs.c | 245 struct mlx5_flow_act flow_act = {}; in macsec_fs_tx_create() local 295 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_tx_create() 301 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; in macsec_fs_tx_create() 303 rule = mlx5_add_flow_rules(ft_crypto->t, spec, &flow_act, NULL, 0); in macsec_fs_tx_create() 312 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_tx_create() 313 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; in macsec_fs_tx_create() 314 rule = mlx5_add_flow_rules(ft_crypto->t, NULL, &flow_act, NULL, 0); in macsec_fs_tx_create() 348 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_tx_create() 351 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP | MLX5_FLOW_CONTEXT_ACTION_COUNT; in macsec_fs_tx_create() 352 rule = mlx5_add_flow_rules(tx_tables->ft_check, NULL, &flow_act, &dest, 1); in macsec_fs_tx_create() [all …]
|
D | ipsec_fs.c | 59 struct mlx5_flow_act flow_act = {}; in rx_err_add_rule() local 88 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_MOD_HDR | in rx_err_add_rule() 90 flow_act.modify_hdr = modify_hdr; in rx_err_add_rule() 91 fte = mlx5_add_flow_rules(rx_err->ft, spec, &flow_act, in rx_err_add_rule() 118 MLX5_DECLARE_FLOW_ACT(flow_act); in rx_fs_create() 142 miss_rule = mlx5_add_flow_rules(ft, spec, &flow_act, &fs_prot->default_dest, 1); in rx_fs_create() 342 struct mlx5_flow_act *flow_act) in setup_fte_common() argument 391 flow_act->crypto.type = MLX5_FLOW_CONTEXT_ENCRYPT_DECRYPT_TYPE_IPSEC; in setup_fte_common() 392 flow_act->crypto.obj_id = ipsec_obj_id; in setup_fte_common() 393 flow_act->flags |= FLOW_ACT_NO_APPEND; in setup_fte_common() [all …]
|
D | fs_tcp.c | 81 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_accel_fs_add_sk() 138 flow = mlx5_add_flow_rules(ft->t, spec, &flow_act, &dest, 1); in mlx5e_accel_fs_add_sk() 155 MLX5_DECLARE_FLOW_ACT(flow_act); in accel_fs_tcp_add_default_rule() 162 rule = mlx5_add_flow_rules(accel_fs_t->t, NULL, &flow_act, &dest, 1); in accel_fs_tcp_add_default_rule()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
D | ingress_ofld.c | 20 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 …]
|
D | ingress_lgcy.c | 145 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 …]
|
D | egress_lgcy.c | 74 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()
|
D | helper.c | 53 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()
|
D | egress_ofld.c | 31 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()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
D | post_meter.c | 92 struct mlx5_flow_act flow_act = {}; in mlx5e_post_meter_rules_create() local 103 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP | in mlx5e_post_meter_rules_create() 105 flow_act.flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in mlx5e_post_meter_rules_create() 109 rule = mlx5_add_flow_rules(post_meter->ft, spec, &flow_act, dest, 1); in mlx5e_post_meter_rules_create() 119 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | in mlx5e_post_meter_rules_create() 126 rule = mlx5_add_flow_rules(post_meter->ft, spec, &flow_act, dest, 2); in mlx5e_post_meter_rules_create()
|
D | int_port.c | 67 struct mlx5_flow_act flow_act = {}; in mlx5e_int_port_create_rx_rule() local 92 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in mlx5e_int_port_create_rx_rule() 94 &flow_act, dest, 1); in mlx5e_int_port_create_rx_rule()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
D | indir_table.c | 132 struct mlx5_flow_act flow_act = {}; in mlx5_esw_indir_table_rule_get() local 213 flow_act.modify_hdr = mlx5_modify_header_alloc(esw->dev, MLX5_FLOW_NAMESPACE_FDB, in mlx5_esw_indir_table_rule_get() 215 if (IS_ERR(flow_act.modify_hdr)) { in mlx5_esw_indir_table_rule_get() 216 err = PTR_ERR(flow_act.modify_hdr); in mlx5_esw_indir_table_rule_get() 220 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; in mlx5_esw_indir_table_rule_get() 221 flow_act.flags = FLOW_ACT_IGNORE_FLOW_LEVEL | FLOW_ACT_NO_APPEND; in mlx5_esw_indir_table_rule_get() 228 handle = mlx5_add_flow_rules(e->ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_indir_table_rule_get() 237 rule->mh = flow_act.modify_hdr; in mlx5_esw_indir_table_rule_get() 248 mlx5_modify_header_dealloc(esw->dev, flow_act.modify_hdr); in mlx5_esw_indir_table_rule_get() 345 struct mlx5_flow_act flow_act = {}; in mlx5_create_indir_fwd_group() local [all …]
|
D | legacy.c | 254 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()
|
D | bridge.c | 663 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_flow_with_esw_create() local 691 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT | in mlx5_esw_bridge_ingress_flow_with_esw_create() 693 flow_act.pkt_reformat = vlan->pkt_reformat_push; in mlx5_esw_bridge_ingress_flow_with_esw_create() 694 flow_act.modify_hdr = vlan->pkt_mod_hdr_push_mark; in mlx5_esw_bridge_ingress_flow_with_esw_create() 718 handle = mlx5_add_flow_rules(br_offloads->ingress_ft, rule_spec, &flow_act, dests, in mlx5_esw_bridge_ingress_flow_with_esw_create() 763 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_filter_flow_create() local 801 handle = mlx5_add_flow_rules(br_offloads->ingress_ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_bridge_ingress_filter_flow_create() 816 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_egress_flow_create() local 843 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; in mlx5_esw_bridge_egress_flow_create() 844 flow_act.pkt_reformat = vlan->pkt_reformat_pop; in mlx5_esw_bridge_egress_flow_create() [all …]
|
/linux-6.1.9/drivers/infiniband/hw/mlx5/ |
D | fs.c | 879 struct mlx5_flow_act flow_act = {}; in mlx5_ib_fs_add_op_fc() local 951 flow_act.action = in mlx5_ib_fs_add_op_fc() 956 &flow_act, &dst, 1); in mlx5_ib_fs_add_op_fc() 1049 struct mlx5_flow_act flow_act = {}; in _create_flow_rule() local 1077 ib_flow, flow_attr, &flow_act, in _create_flow_rule() 1086 if (dst && !(flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP)) { in _create_flow_rule() 1108 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) { in _create_flow_rule() 1111 err = mlx5_ib_flow_counters_set_data(flow_act.counters, ucmd); in _create_flow_rule() 1115 mcounters = to_mcounters(flow_act.counters); in _create_flow_rule() 1116 handler->ibcounters = flow_act.counters; in _create_flow_rule() [all …]
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/en/ |
D | fs_tt_redirect.c | 85 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_fs_tt_redirect_udp_add_rule() 103 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_fs_tt_redirect_udp_add_rule() 120 MLX5_DECLARE_FLOW_ACT(flow_act); in fs_udp_add_default_rule() 127 rule = mlx5_add_flow_rules(fs_udp_t->t, NULL, &flow_act, &dest, 1); in fs_udp_add_default_rule() 369 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_fs_tt_redirect_any_add_rule() 384 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_fs_tt_redirect_any_add_rule() 401 MLX5_DECLARE_FLOW_ACT(flow_act); in fs_any_add_default_rule() 407 rule = mlx5_add_flow_rules(fs_any_t->t, NULL, &flow_act, &dest, 1); in fs_any_add_default_rule()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
D | fs_ttc.c | 198 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() 363 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5_generate_inner_ttc_rule() 386 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5_generate_inner_ttc_rule()
|
/linux-6.1.9/drivers/net/ethernet/netronome/nfp/flower/ |
D | action.c | 1221 static bool nfp_fl_check_mangle_start(struct flow_action *flow_act, in nfp_fl_check_mangle_start() argument 1227 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_start() 1234 prev_act = flow_act->entries[current_act_idx - 1]; in nfp_fl_check_mangle_start() 1239 static bool nfp_fl_check_mangle_end(struct flow_action *flow_act, in nfp_fl_check_mangle_end() argument 1245 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_end() 1249 if (current_act_idx == flow_act->num_entries) in nfp_fl_check_mangle_end() 1252 next_act = flow_act->entries[current_act_idx + 1]; in nfp_fl_check_mangle_end()
|
/linux-6.1.9/drivers/net/ethernet/mellanox/mlx5/core/lag/ |
D | port_sel.c | 45 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5_lag_create_port_sel_table() 76 flow_act.flags |= FLOW_ACT_NO_APPEND; in mlx5_lag_create_port_sel_table() 87 NULL, &flow_act, in mlx5_lag_create_port_sel_table()
|