| /linux/drivers/net/ethernet/mellanox/mlx5/core/ |
| A D | eswitch_offloads_termtbl.c | 13 struct mlx5_flow_act flow_act; member 26 hash = jhash_1word(flow_act->action, 0); 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 113 struct mlx5_flow_act *flow_act, in mlx5_eswitch_termtbl_get_create() argument 127 flow_act, dest)) { in mlx5_eswitch_termtbl_get_create() 145 memcpy(&tt->flow_act, flow_act, sizeof(*flow_act)); in mlx5_eswitch_termtbl_get_create() [all …]
|
| A D | eswitch_offloads.c | 231 struct mlx5_flow_act *flow_act, in esw_setup_ft_dest() argument 312 struct mlx5_flow_act *flow_act, in esw_setup_chain_src_port_rewrite() argument 570 struct mlx5_flow_act *flow_act, in esw_setup_dests() argument 688 flow_act.action = attr->action; in mlx5_eswitch_add_offloaded_rule() 774 &flow_act, dest, i); in mlx5_eswitch_add_offloaded_rule() 1019 spec, &flow_act, &dest, 1); in mlx5_eswitch_add_send_to_vport_rule() 1068 spec, &flow_act, &dest, 1); in mlx5_eswitch_add_send_to_vport_meta_rule() 1385 spec, &flow_act, &dest, 1); in esw_add_fdb_miss_rule() 1400 spec, &flow_act, &dest, 1); in esw_add_fdb_miss_rule() 2157 &flow_act, dest, 1); in mlx5_eswitch_create_vport_rx_rule() [all …]
|
| A D | rdma.c | 29 struct mlx5_flow_act flow_act = {}; in mlx5_rdma_enable_roce_steering() local 77 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; in mlx5_rdma_enable_roce_steering() 78 flow_rule = mlx5_add_flow_rules(ft, spec, &flow_act, NULL, 0); in mlx5_rdma_enable_roce_steering()
|
| A D | fs_core.c | 840 struct mlx5_flow_act *flow_act) in alloc_fte() argument 851 fte->act_dests.action = *flow_act; in alloc_fte() 1050 struct mlx5_flow_act *flow_act) in find_next_fwd_ft() argument 1956 struct mlx5_flow_act *flow_act, in add_rule_fg() argument 1998 struct mlx5_flow_act *flow_act, in dest_is_valid() argument 2002 u32 action = flow_act->action; in dest_is_valid() 2207 fte = alloc_fte(ft, spec, flow_act); in try_add_to_existing_fg() 2297 struct mlx5_flow_act *flow_act, in _mlx5_add_flow_rules() argument 2368 fte = alloc_fte(ft, spec, flow_act); in _mlx5_add_flow_rules() 2412 struct mlx5_flow_act *flow_act, in mlx5_add_flow_rules() argument [all …]
|
| A D | en_fs.c | 226 MLX5_DECLARE_FLOW_ACT(flow_act); in __mlx5e_add_vlan_rule() 281 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in __mlx5e_add_vlan_rule() 371 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_trap_rule() 383 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_trap_rule() 749 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_promisc_rule() 760 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_promisc_rule() 960 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_l2_flow_rule() 992 ai->rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_l2_flow_rule()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/lib/ |
| A D | macsec_fs.c | 397 struct mlx5_flow_act flow_act = {}; in macsec_fs_tx_create() local 462 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_tx_create() 498 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_tx_create() 513 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_tx_create() 1155 memset(flow_act, 0, sizeof(*flow_act)); in macsec_fs_rx_create_check_decap_rule() 1329 MLX5_DECLARE_FLOW_ACT(flow_act); in macsec_fs_rx_roce_jump_to_rdma_rules_create() 1362 flow_act.modify_hdr = modify_hdr; in macsec_fs_rx_roce_jump_to_rdma_rules_create() 1375 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_rx_roce_jump_to_rdma_rules_create() 1592 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_rx_create() 1806 memset(&flow_act, 0, sizeof(flow_act)); in macsec_fs_rx_add_rule() [all …]
|
| A D | ipsec_fs_roce.c | 137 MLX5_DECLARE_FLOW_ACT(flow_act); in ipsec_fs_roce_rx_rule_setup() 148 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in ipsec_fs_roce_rx_rule_setup() 156 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, &dst, 1); in ipsec_fs_roce_rx_rule_setup() 167 rule = mlx5_add_flow_rules(roce->ft, spec, &flow_act, default_dst, 1); in ipsec_fs_roce_rx_rule_setup() 180 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in ipsec_fs_roce_rx_rule_setup() 210 MLX5_DECLARE_FLOW_ACT(flow_act); in ipsec_fs_roce_tx_rule_setup() 214 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in ipsec_fs_roce_tx_rule_setup() 217 rule = mlx5_add_flow_rules(roce->ft, NULL, &flow_act, &dst, in ipsec_fs_roce_tx_rule_setup() 236 MLX5_DECLARE_FLOW_ACT(flow_act); in ipsec_fs_roce_tx_mpv_rule_setup() 250 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in ipsec_fs_roce_tx_mpv_rule_setup() [all …]
|
| A D | fs_ttc.c | 268 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5_generate_ttc_rule() 300 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5_generate_ttc_rule() 457 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5_generate_inner_ttc_rule() 485 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5_generate_inner_ttc_rule()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
| A D | ingress_ofld.c | 23 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_prio_tag_create() local 42 flow_act.vlan[0].ethtype = ETH_P_8021Q; in esw_acl_ingress_prio_tag_create() 43 flow_act.vlan[0].vid = 0; in esw_acl_ingress_prio_tag_create() 44 flow_act.vlan[0].prio = 0; in esw_acl_ingress_prio_tag_create() 47 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; in esw_acl_ingress_prio_tag_create() 52 &flow_act, NULL, 0); in esw_acl_ingress_prio_tag_create() 69 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_mod_metadata_create() local 101 NULL, &flow_act, NULL, 0); in esw_acl_ingress_mod_metadata_create() 127 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_src_port_drop_create() local 139 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in esw_acl_ingress_src_port_drop_create() [all …]
|
| A 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 …]
|
| A 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()
|
| A D | helper.c | 54 struct mlx5_flow_act flow_act = {}; in esw_egress_acl_vlan_create() local 71 flow_act.action = flow_action; in esw_egress_acl_vlan_create() 74 &flow_act, fwd_dest, 0); in esw_egress_acl_vlan_create()
|
| A D | egress_ofld.c | 45 struct mlx5_flow_act flow_act = {}; in esw_acl_egress_ofld_fwd2vport_create() local 54 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in esw_acl_egress_ofld_fwd2vport_create() 58 &flow_act, fwd_dest, 1); in esw_acl_egress_ofld_fwd2vport_create()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/esw/ |
| A D | indir_table.c | 104 struct mlx5_flow_act flow_act = {}; in mlx5_esw_indir_table_rule_get() local 132 if (IS_ERR(flow_act.modify_hdr)) { in mlx5_esw_indir_table_rule_get() 133 err = PTR_ERR(flow_act.modify_hdr); in mlx5_esw_indir_table_rule_get() 138 flow_act.flags = FLOW_ACT_IGNORE_FLOW_LEVEL | FLOW_ACT_NO_APPEND; in mlx5_esw_indir_table_rule_get() 139 flow_act.fg = e->recirc_grp; in mlx5_esw_indir_table_rule_get() 146 handle = mlx5_add_flow_rules(e->ft, NULL, &flow_act, &dest, 1); in mlx5_esw_indir_table_rule_get() 154 rule->mh = flow_act.modify_hdr; in mlx5_esw_indir_table_rule_get() 162 mlx5_modify_header_dealloc(esw->dev, flow_act.modify_hdr); in mlx5_esw_indir_table_rule_get() 214 struct mlx5_flow_act flow_act = {}; in mlx5_create_indir_fwd_group() local 230 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in mlx5_create_indir_fwd_group() [all …]
|
| A D | ipsec_fs.h | 16 struct mlx5_flow_act *flow_act); 34 struct mlx5_flow_act *flow_act) in mlx5_esw_ipsec_rx_setup_modify_header() argument
|
| A D | ipsec_fs.c | 44 struct mlx5_flow_act *flow_act) in mlx5_esw_ipsec_rx_setup_modify_header() argument 78 flow_act->modify_hdr = modify_hdr; in mlx5_esw_ipsec_rx_setup_modify_header() 79 flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; in mlx5_esw_ipsec_rx_setup_modify_header()
|
| A D | bridge_mcast.c | 56 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_mdb_flow_create() local 512 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_mcast_flow_with_esw_create() local 530 handle = mlx5_add_flow_rules(port->mcast.ft, rule_spec, &flow_act, NULL, 0); in mlx5_esw_bridge_mcast_flow_with_esw_create() 575 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_mcast_vlan_flow_create() local 594 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; in mlx5_esw_bridge_mcast_vlan_flow_create() 595 flow_act.pkt_reformat = vlan->pkt_reformat_pop; in mlx5_esw_bridge_mcast_vlan_flow_create() 647 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_mcast_fwd_flow_create() local 886 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_igmp_fh_create() local 904 handle = mlx5_add_flow_rules(ingress_ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_bridge_ingress_igmp_fh_create() 918 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_mld_fh_create() local [all …]
|
| A 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() 295 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in _mlx5_eswitch_set_vepa_locked() 297 &flow_act, &dest, 1); in _mlx5_eswitch_set_vepa_locked()
|
| A D | bridge.c | 578 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_flow_with_esw_create() local 606 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT | in mlx5_esw_bridge_ingress_flow_with_esw_create() 608 flow_act.pkt_reformat = vlan->pkt_reformat_push; in mlx5_esw_bridge_ingress_flow_with_esw_create() 609 flow_act.modify_hdr = vlan->pkt_mod_hdr_push_mark; in mlx5_esw_bridge_ingress_flow_with_esw_create() 691 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_ingress_filter_flow_create() local 744 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_egress_flow_create() local 771 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_PACKET_REFORMAT; in mlx5_esw_bridge_egress_flow_create() 772 flow_act.pkt_reformat = vlan->pkt_reformat_pop; in mlx5_esw_bridge_egress_flow_create() 796 handle = mlx5_add_flow_rules(bridge->egress_ft, rule_spec, &flow_act, &dest, 1); in mlx5_esw_bridge_egress_flow_create() 811 struct mlx5_flow_act flow_act = { in mlx5_esw_bridge_egress_miss_flow_create() local [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
| A D | ipsec_fs.c | 175 struct mlx5_flow_act flow_act = {}; in rx_add_rule_drop_auth_trailer() local 195 flow_act.flags = FLOW_ACT_NO_APPEND; in rx_add_rule_drop_auth_trailer() 257 struct mlx5_flow_act flow_act = {}; in rx_add_rule_drop_replay() local 276 flow_act.flags = FLOW_ACT_NO_APPEND; in rx_add_rule_drop_replay() 316 struct mlx5_flow_act flow_act = {}; in ipsec_rx_status_drop_all_create() local 384 struct mlx5_flow_act flow_act = {}; in ipsec_rx_status_pass_create() local 458 MLX5_DECLARE_FLOW_ACT(flow_act); in ipsec_miss_create() 1686 if (flow_act.pkt_reformat) in rx_add_rule() 1689 if (flow_act.modify_hdr) in rx_add_rule() 1782 if (flow_act.pkt_reformat) in tx_add_rule() [all …]
|
| A 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/drivers/infiniband/hw/mlx5/ |
| A D | fs.c | 876 struct mlx5_flow_act flow_act = {}; in mlx5_ib_fs_add_op_fc() local 948 flow_act.action = in mlx5_ib_fs_add_op_fc() 953 &flow_act, &dst, 1); in mlx5_ib_fs_add_op_fc() 1046 struct mlx5_flow_act flow_act = {}; in _create_flow_rule() local 1126 flow_act.action |= in _create_flow_rule() 1143 &flow_act, in _create_flow_rule() 1519 struct mlx5_flow_act *flow_act, in _create_raw_flow_rule() argument 1544 flow_act, dst, dst_num); in _create_raw_flow_rule() 1913 struct mlx5_flow_act flow_act = {}; in UVERBS_HANDLER() local 2145 struct mlx5_flow_act flow_act = {}; in steering_anchor_create_rule_drop() local [all …]
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| A 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() 370 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_fs_tt_redirect_any_add_rule() 385 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_fs_tt_redirect_any_add_rule() 402 MLX5_DECLARE_FLOW_ACT(flow_act); in fs_any_add_default_rule() 408 rule = mlx5_add_flow_rules(fs_any_t->t, NULL, &flow_act, &dest, 1); in fs_any_add_default_rule()
|
| /linux/drivers/net/ethernet/mellanox/mlx5/core/en/tc/ |
| A 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/drivers/net/ethernet/netronome/nfp/flower/ |
| A D | action.c | 1236 static bool nfp_fl_check_mangle_start(struct flow_action *flow_act, in nfp_fl_check_mangle_start() argument 1242 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_start() 1249 prev_act = flow_act->entries[current_act_idx - 1]; in nfp_fl_check_mangle_start() 1254 static bool nfp_fl_check_mangle_end(struct flow_action *flow_act, in nfp_fl_check_mangle_end() argument 1260 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_end() 1264 if (current_act_idx == flow_act->num_entries) in nfp_fl_check_mangle_end() 1267 next_act = flow_act->entries[current_act_idx + 1]; in nfp_fl_check_mangle_end()
|