/linux-master/drivers/net/ethernet/mellanox/mlx5/core/ |
H A D | eswitch_offloads_termtbl.c | 13 struct mlx5_flow_act flow_act; member in struct:mlx5_termtbl_handle 21 mlx5_eswitch_termtbl_hash(struct mlx5_flow_act *flow_act, argument 26 hash = jhash_1word(flow_act->action, 0); 27 hash = jhash((const void *)&flow_act->vlan, 28 sizeof(flow_act->vlan), hash); 33 if (flow_act->pkt_reformat) 34 hash = jhash(flow_act->pkt_reformat, 35 sizeof(*flow_act->pkt_reformat), 66 struct mlx5_flow_act *flow_act) 94 tt->rule = mlx5_add_flow_rules(tt->termtbl, NULL, flow_act, 64 mlx5_eswitch_termtbl_create(struct mlx5_core_dev *dev, struct mlx5_termtbl_handle *tt, struct mlx5_flow_act *flow_act) argument 112 mlx5_eswitch_termtbl_get_create(struct mlx5_eswitch *esw, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest, struct mlx5_esw_flow_attr *attr) argument 214 mlx5_eswitch_termtbl_required(struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, struct mlx5_flow_act *flow_act, struct mlx5_flow_spec *spec) argument 244 mlx5_eswitch_add_termtbl_rule(struct mlx5_eswitch *esw, struct mlx5_flow_table *fdb, struct mlx5_flow_spec *spec, struct mlx5_esw_flow_attr *attr, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest, int num_dest) argument [all...] |
H A D | eswitch_offloads.c | 215 struct mlx5_flow_act *flow_act, 219 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; 228 struct mlx5_flow_act *flow_act, 233 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; 243 esw_setup_accept_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, argument 247 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; 253 esw_setup_slow_path_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, argument 257 flow_act->flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; 264 struct mlx5_flow_act *flow_act, 271 flow_act 214 esw_setup_sampler_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, u32 sampler_id, int i) argument 227 esw_setup_ft_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, int i) argument 263 esw_setup_chain_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_fs_chains *chains, u32 chain, u32 prio, u32 level, int i) argument 308 esw_setup_chain_src_port_rewrite(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_fs_chains *chains, struct mlx5_flow_attr *attr, int *i) argument 374 esw_setup_indir_table(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, int *i) argument 467 esw_setup_dest_fwd_vport(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_esw_flow_attr *esw_attr, int attr_idx, int dest_idx, bool pkt_reformat) argument 492 esw_setup_dest_fwd_ipsec(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_esw_flow_attr *esw_attr, int attr_idx, int dest_idx, bool pkt_reformat) argument 506 esw_setup_vport_dest(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_esw_flow_attr *esw_attr, int attr_idx, int dest_idx, bool pkt_reformat) argument 519 esw_setup_vport_dests(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_esw_flow_attr *esw_attr, int i) argument 566 esw_setup_dests(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_eswitch *esw, struct mlx5_flow_attr *attr, struct mlx5_flow_spec *spec, int *i) argument 637 esw_setup_meter(struct mlx5_flow_attr *attr, struct mlx5_flow_act *flow_act) argument 655 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND, }; local 792 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND, }; local 934 struct mlx5_flow_act flow_act = {0}; local 1034 struct mlx5_flow_act flow_act = {0}; local 1178 struct mlx5_flow_act flow_act = {0}; local 1347 struct mlx5_flow_act flow_act = {0}; local 1408 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND, }; local 2133 struct mlx5_flow_act flow_act = {0}; local 2160 struct mlx5_flow_act flow_act = {}; local 2664 struct mlx5_flow_act flow_act = {}; local [all...] |
H A D | rdma.c | 29 struct mlx5_flow_act flow_act = {}; local 77 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; 78 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0);
|
H A D | fs_core.c | 774 struct mlx5_flow_act *flow_act) 785 fte->action = *flow_act; 984 struct mlx5_flow_act *flow_act) 989 next_ns = flow_act->action & MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_NS; 1775 const struct mlx5_flow_act *flow_act) 1777 if (check_conflicting_actions(flow_act, &fte->action)) { 1797 struct mlx5_flow_act *flow_act, 1807 ret = check_conflicting_ftes(fte, &spec->flow_context, flow_act); 1812 fte->action.action |= flow_act->action; 1814 old_action != flow_act 772 alloc_fte(struct mlx5_flow_table *ft, const struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act) argument 983 find_next_fwd_ft(struct mlx5_flow_table *ft, struct mlx5_flow_act *flow_act) argument 1773 check_conflicting_ftes(struct fs_fte *fte, const struct mlx5_flow_context *flow_context, const struct mlx5_flow_act *flow_act) argument 1795 add_rule_fg(struct mlx5_flow_group *fg, const struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest, int dest_num, struct fs_fte *fte) argument 1838 dest_is_valid(struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_flow_table *ft) argument 1965 try_add_to_existing_fg(struct mlx5_flow_table *ft, struct list_head *match_head, const struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest, int dest_num, int ft_version) argument 2065 _mlx5_add_flow_rules(struct mlx5_flow_table *ft, const struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest, int dest_num) argument 2180 mlx5_add_flow_rules(struct mlx5_flow_table *ft, const struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act, struct mlx5_flow_destination *dest, int num_dest) argument [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
H A D | ipsec_fs.h | 16 struct mlx5_flow_act *flow_act); 34 struct mlx5_flow_act *flow_act) 33 mlx5_esw_ipsec_rx_setup_modify_header(struct mlx5e_ipsec_sa_entry *sa_entry, struct mlx5_flow_act *flow_act) argument
|
H A D | indir_table.c | 104 struct mlx5_flow_act flow_act = {}; local 130 flow_act.modify_hdr = mlx5_modify_header_alloc(esw->dev, MLX5_FLOW_NAMESPACE_FDB, 132 if (IS_ERR(flow_act.modify_hdr)) { 133 err = PTR_ERR(flow_act.modify_hdr); 137 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; 138 flow_act.flags = FLOW_ACT_IGNORE_FLOW_LEVEL | FLOW_ACT_NO_APPEND; 139 flow_act.fg = e->recirc_grp; 146 handle = mlx5_add_flow_rules(e->ft, NULL, &flow_act, &dest, 1); 154 rule->mh = flow_act.modify_hdr; 162 mlx5_modify_header_dealloc(esw->dev, flow_act 214 struct mlx5_flow_act flow_act = {}; local [all...] |
H A D | ipsec_fs.c | 44 struct mlx5_flow_act *flow_act) 78 flow_act->modify_hdr = modify_hdr; 79 flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; 43 mlx5_esw_ipsec_rx_setup_modify_header(struct mlx5e_ipsec_sa_entry *sa_entry, struct mlx5_flow_act *flow_act) argument
|
H A D | bridge_mcast.c | 56 struct mlx5_flow_act flow_act = { local 111 handle = mlx5_add_flow_rules(bridge->egress_ft, rule_spec, &flow_act, dests, num_dests); 512 struct mlx5_flow_act flow_act = { local 530 handle = mlx5_add_flow_rules(port->mcast.ft, rule_spec, &flow_act, NULL, 0); 575 struct mlx5_flow_act flow_act = { local 594 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; 595 flow_act.pkt_reformat = vlan->pkt_reformat_pop; 615 handle = mlx5_add_flow_rules(port->mcast.ft, rule_spec, &flow_act, &dest, 1); 647 struct mlx5_flow_act flow_act = { local 668 handle = mlx5_add_flow_rules(port->mcast.ft, rule_spec, &flow_act, 886 struct mlx5_flow_act flow_act = { local 918 struct mlx5_flow_act flow_act = { local [all...] |
H A D | legacy.c | 254 struct mlx5_flow_act flow_act = {}; local 282 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 284 &flow_act, &dest, 1); 295 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 297 &flow_act, &dest, 1);
|
H A D | bridge.c | 578 struct mlx5_flow_act flow_act = { local 606 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT | 608 flow_act.pkt_reformat = vlan->pkt_reformat_push; 609 flow_act.modify_hdr = vlan->pkt_mod_hdr_push_mark; 633 handle = mlx5_add_flow_rules(br_offloads->ingress_ft, rule_spec, &flow_act, dests, 691 struct mlx5_flow_act flow_act = { local 729 handle = mlx5_add_flow_rules(br_offloads->ingress_ft, rule_spec, &flow_act, &dest, 1); 744 struct mlx5_flow_act flow_act = { local 771 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; 772 flow_act 811 struct mlx5_flow_act flow_act = { local [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
H A D | ingress_ofld.c | 20 struct mlx5_flow_act flow_act = {}; local 37 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH | 39 flow_act.vlan[0].ethtype = ETH_P_8021Q; 40 flow_act.vlan[0].vid = 0; 41 flow_act.vlan[0].prio = 0; 44 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; 45 flow_act.modify_hdr = vport->ingress.offloads.modify_metadata; 49 &flow_act, NULL, 0); 66 struct mlx5_flow_act flow_act = {}; local 93 flow_act 124 struct mlx5_flow_act flow_act = {}; local [all...] |
H A D | ingress_lgcy.c | 145 struct mlx5_flow_act flow_act = {}; local 220 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; 222 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH; 223 flow_act.vlan[0].prio = vport->info.qos; 224 flow_act.vlan[0].vid = vport->info.vlan; 225 flow_act.vlan[0].ethtype = ETH_P_8021Q; 244 &flow_act, NULL, 0); 257 memset(&flow_act, 0, sizeof(flow_act)); 258 flow_act [all...] |
H A D | helper.c | 54 struct mlx5_flow_act flow_act = {}; local 71 flow_act.action = flow_action; 74 &flow_act, fwd_dest, 0);
|
H A D | egress_lgcy.c | 74 struct mlx5_flow_act flow_act = {}; local 132 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; 136 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_COUNT; 144 &flow_act, dst, dest_num);
|
H A D | egress_ofld.c | 45 struct mlx5_flow_act flow_act = {}; local 54 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 58 &flow_act, fwd_dest, 1);
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
H A D | macsec_fs.c | 397 struct mlx5_flow_act flow_act = {}; local 451 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; 453 rule = mlx5_add_flow_rules(ft_crypto->t, spec, &flow_act, NULL, 0); 462 memset(&flow_act, 0, sizeof(flow_act)); 463 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; 464 rule = mlx5_add_flow_rules(ft_crypto->t, NULL, &flow_act, NULL, 0); 498 memset(&flow_act, 0, sizeof(flow_act)); 501 flow_act 577 macsec_fs_tx_setup_fte(struct mlx5_macsec_fs *macsec_fs, struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act, u32 macsec_obj_id, u32 *fs_id) argument 812 struct mlx5_flow_act flow_act = {}; local 1135 macsec_fs_rx_create_check_decap_rule(struct mlx5_macsec_fs *macsec_fs, struct mlx5_flow_destination *dest, struct mlx5_flow_act *flow_act, struct mlx5_flow_spec *spec, int reformat_param_size) argument 1220 struct mlx5_flow_act flow_act = {}; local 1506 struct mlx5_flow_act flow_act = {}; local 1680 macsec_fs_rx_setup_fte(struct mlx5_flow_spec *spec, struct mlx5_flow_act *flow_act, struct mlx5_macsec_rule_attrs *attrs, bool sci_present) argument 1741 struct mlx5_flow_act flow_act = {}; local 2134 struct mlx5_flow_act flow_act = {}; local 2203 struct mlx5_flow_act flow_act = {}; local [all...] |
H A D | ipsec_fs_roce.c | 137 MLX5_DECLARE_FLOW_ACT(flow_act); 148 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 156 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, &dst, 1); 167 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, default_dst, 1); 180 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 183 rule = mlx5_add_flow_rules(roce->nic_master_ft, NULL, &flow_act, &dst, 210 MLX5_DECLARE_FLOW_ACT(flow_act); 214 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 217 rule = mlx5_add_flow_rules(roce->ft, NULL, &flow_act, &dst, 236 MLX5_DECLARE_FLOW_ACT(flow_act); [all...] |
H A D | fs_ttc.c | 198 MLX5_DECLARE_FLOW_ACT(flow_act); 225 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); 363 MLX5_DECLARE_FLOW_ACT(flow_act); 386 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1);
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
H A D | ipsec_fs.c | 175 struct mlx5_flow_act flow_act = {}; local 194 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP | MLX5_FLOW_CONTEXT_ACTION_COUNT; 195 flow_act.flags = FLOW_ACT_NO_APPEND; 208 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); 228 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); 257 struct mlx5_flow_act flow_act = {}; local 275 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP | MLX5_FLOW_CONTEXT_ACTION_COUNT; 276 flow_act.flags = FLOW_ACT_NO_APPEND; 288 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); 316 struct mlx5_flow_act flow_act local 384 struct mlx5_flow_act flow_act = {}; local 864 struct mlx5_flow_act flow_act = {}; local 1316 setup_modify_header(struct mlx5e_ipsec *ipsec, int type, u32 val, u8 dir, struct mlx5_flow_act *flow_act) argument 1544 setup_pkt_reformat(struct mlx5e_ipsec *ipsec, struct mlx5_accel_esp_xfrm_attrs *attrs, struct mlx5_flow_act *flow_act) argument 1586 struct mlx5_flow_act flow_act = {}; local 1705 struct mlx5_flow_act flow_act = {}; local 1798 struct mlx5_flow_act flow_act = {}; local 1882 struct mlx5_flow_act flow_act = {}; local [all...] |
H A D | fs_tcp.c | 81 MLX5_DECLARE_FLOW_ACT(flow_act); 138 flow = mlx5_add_flow_rules(ft->t, spec, &flow_act, &dest, 1); 155 MLX5_DECLARE_FLOW_ACT(flow_act); 162 rule = mlx5_add_flow_rules(accel_fs_t->t, NULL, &flow_act, &dest, 1);
|
/linux-master/drivers/infiniband/hw/mlx5/ |
H A D | fs.c | 876 struct mlx5_flow_act flow_act = {}; local 948 flow_act.action = 953 &flow_act, &dst, 1); 1046 struct mlx5_flow_act flow_act = {}; local 1074 ib_flow, flow_attr, &flow_act, 1083 if (dst && !(flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP)) { 1105 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) { 1108 err = mlx5_ib_flow_counters_set_data(flow_act.counters, ucmd); 1112 mcounters = to_mcounters(flow_act.counters); 1113 handler->ibcounters = flow_act 1514 _create_raw_flow_rule(struct mlx5_ib_dev *dev, struct mlx5_ib_flow_prio *ft_prio, struct mlx5_flow_destination *dst, struct mlx5_ib_flow_matcher *fs_matcher, struct mlx5_flow_context *flow_context, struct mlx5_flow_act *flow_act, void *cmd_in, int inlen, int dst_num) argument 1603 raw_fs_rule_add( struct mlx5_ib_dev *dev, struct mlx5_ib_flow_matcher *fs_matcher, struct mlx5_flow_context *flow_context, struct mlx5_flow_act *flow_act, u32 counter_id, void *cmd_in, int inlen, int dest_id, int dest_type) argument 1913 struct mlx5_flow_act flow_act = {}; local 2145 struct mlx5_flow_act flow_act = {}; local 2176 struct mlx5_flow_act flow_act = {}; local [all...] |
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/ |
H A D | fs_tt_redirect.c | 85 MLX5_DECLARE_FLOW_ACT(flow_act); 103 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); 120 MLX5_DECLARE_FLOW_ACT(flow_act); 127 rule = mlx5_add_flow_rules(fs_udp_t->t, NULL, &flow_act, &dest, 1); 370 MLX5_DECLARE_FLOW_ACT(flow_act); 385 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); 402 MLX5_DECLARE_FLOW_ACT(flow_act); 408 rule = mlx5_add_flow_rules(fs_any_t->t, NULL, &flow_act, &dest, 1);
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
H A D | int_port.c | 67 struct mlx5_flow_act flow_act = {}; local 92 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; 94 &flow_act, dest, 1);
|
/linux-master/drivers/net/ethernet/netronome/nfp/flower/ |
H A D | action.c | 1221 static bool nfp_fl_check_mangle_start(struct flow_action *flow_act, argument 1227 current_act = flow_act->entries[current_act_idx]; 1234 prev_act = flow_act->entries[current_act_idx - 1]; 1239 static bool nfp_fl_check_mangle_end(struct flow_action *flow_act, argument 1245 current_act = flow_act->entries[current_act_idx]; 1249 if (current_act_idx == flow_act->num_entries) 1252 next_act = flow_act->entries[current_act_idx + 1];
|
/linux-master/drivers/net/ethernet/mellanox/mlx5/core/lag/ |
H A D | port_sel.c | 45 MLX5_DECLARE_FLOW_ACT(flow_act); 76 flow_act.flags |= FLOW_ACT_NO_APPEND; 87 NULL, &flow_act,
|