| /OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx5/core/ |
| H A 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 93 tt->rule = mlx5_add_flow_rules(tt->termtbl, NULL, flow_act, in mlx5_eswitch_termtbl_create() [all …]
|
| H A D | eswitch_offloads.c | 304 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND, }; in mlx5_eswitch_add_offloaded_rule() local 316 flow_act.action = attr->action; in mlx5_eswitch_add_offloaded_rule() 319 flow_act.action &= ~(MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH | in mlx5_eswitch_add_offloaded_rule() 321 else if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH) { in mlx5_eswitch_add_offloaded_rule() 322 flow_act.vlan[0].ethtype = ntohs(esw_attr->vlan_proto[0]); in mlx5_eswitch_add_offloaded_rule() 323 flow_act.vlan[0].vid = esw_attr->vlan_vid[0]; in mlx5_eswitch_add_offloaded_rule() 324 flow_act.vlan[0].prio = esw_attr->vlan_prio[0]; in mlx5_eswitch_add_offloaded_rule() 325 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_VLAN_PUSH_2) { in mlx5_eswitch_add_offloaded_rule() 326 flow_act.vlan[1].ethtype = ntohs(esw_attr->vlan_proto[1]); in mlx5_eswitch_add_offloaded_rule() 327 flow_act.vlan[1].vid = esw_attr->vlan_vid[1]; in mlx5_eswitch_add_offloaded_rule() [all …]
|
| H A D | fs_core.c | 665 struct mlx5_flow_act *flow_act) in alloc_fte() argument 676 fte->action = *flow_act; in alloc_fte() 854 struct mlx5_flow_act *flow_act) in find_next_fwd_ft() argument 859 next_ns = flow_act->action & MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_NS; in find_next_fwd_ft() 1576 const struct mlx5_flow_act *flow_act) in check_conflicting_ftes() argument 1578 if (check_conflicting_actions(flow_act, &fte->action)) { in check_conflicting_ftes() 1598 struct mlx5_flow_act *flow_act, in add_rule_fg() argument 1608 ret = check_conflicting_ftes(fte, &spec->flow_context, flow_act); in add_rule_fg() 1613 fte->action.action |= flow_act->action; in add_rule_fg() 1615 old_action != flow_act->action); in add_rule_fg() [all …]
|
| H A 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()
|
| H A D | en_arfs.c | 165 MLX5_DECLARE_FLOW_ACT(flow_act); in arfs_add_default_rule() 182 &flow_act, in arfs_add_default_rule() 443 MLX5_DECLARE_FLOW_ACT(flow_act); in arfs_add_rule() 518 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in arfs_add_rule()
|
| H A D | en_fs.c | 169 MLX5_DECLARE_FLOW_ACT(flow_act); in __mlx5e_add_vlan_rule() 224 *rule_p = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in __mlx5e_add_vlan_rule() 825 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_generate_ttc_rule() 852 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5e_generate_ttc_rule() 997 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_generate_inner_ttc_rule() 1020 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dest, 1); in mlx5e_generate_inner_ttc_rule() 1274 MLX5_DECLARE_FLOW_ACT(flow_act); in mlx5e_add_l2_flow_rule() 1309 ai->rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in mlx5e_add_l2_flow_rule()
|
| H A D | en_fs_ethtool.c | 405 struct mlx5_flow_act flow_act = { .flags = FLOW_ACT_NO_APPEND }; in add_ethtool_flow_rule() local 420 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in add_ethtool_flow_rule() 438 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in add_ethtool_flow_rule() 443 rule = mlx5_add_flow_rules(ft, spec, &flow_act, dst, dst ? 1 : 0); in add_ethtool_flow_rule()
|
| H A D | eswitch.c | 193 struct mlx5_flow_act flow_act = {0}; in __esw_fdb_set_vport_rule() local 234 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in __esw_fdb_set_vport_rule() 237 &flow_act, &dest, 1); in __esw_fdb_set_vport_rule() 2106 struct mlx5_flow_act flow_act = {}; in _mlx5_eswitch_set_vepa_locked() local 2134 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in _mlx5_eswitch_set_vepa_locked() 2136 &flow_act, &dest, 1); in _mlx5_eswitch_set_vepa_locked() 2148 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in _mlx5_eswitch_set_vepa_locked() 2150 &flow_act, &dest, 1); in _mlx5_eswitch_set_vepa_locked()
|
| H A D | eswitch.h | 333 struct mlx5_flow_act *flow_act, 341 struct mlx5_flow_act *flow_act,
|
| H A D | en_tc.c | 974 struct mlx5_flow_act flow_act = { in mlx5e_add_offloaded_nic_rule() local 1013 flow_act.flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in mlx5e_add_offloaded_nic_rule() 1015 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) { in mlx5e_add_offloaded_nic_rule() 1022 flow_act.modify_hdr = attr->modify_hdr; in mlx5e_add_offloaded_nic_rule() 1056 &flow_act, dest, dest_ix); in mlx5e_add_offloaded_nic_rule()
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx5/core/esw/acl/ |
| H A 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 …]
|
| H A D | ingress_lgcy.c | 144 struct mlx5_flow_act flow_act = {}; in esw_acl_ingress_lgcy_setup() local 223 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_ALLOW; in esw_acl_ingress_lgcy_setup() 225 &flow_act, NULL, 0); in esw_acl_ingress_lgcy_setup() 235 memset(&flow_act, 0, sizeof(flow_act)); in esw_acl_ingress_lgcy_setup() 236 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in esw_acl_ingress_lgcy_setup() 239 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_COUNT; in esw_acl_ingress_lgcy_setup() 247 &flow_act, dst, dest_num); in esw_acl_ingress_lgcy_setup()
|
| H A D | egress_lgcy.c | 73 struct mlx5_flow_act flow_act = {}; in esw_acl_egress_lgcy_setup() local 127 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_DROP; in esw_acl_egress_lgcy_setup() 131 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_COUNT; in esw_acl_egress_lgcy_setup() 139 &flow_act, dst, dest_num); in esw_acl_egress_lgcy_setup()
|
| H A D | helper.c | 50 struct mlx5_flow_act flow_act = {}; in esw_egress_acl_vlan_create() local 67 flow_act.action = flow_action; in esw_egress_acl_vlan_create() 70 &flow_act, fwd_dest, 0); in esw_egress_acl_vlan_create()
|
| H A D | egress_ofld.c | 22 struct mlx5_flow_act flow_act = {}; in esw_acl_egress_ofld_fwd2vport_create() local 31 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST; in esw_acl_egress_ofld_fwd2vport_create() 35 &flow_act, fwd_dest, 1); in esw_acl_egress_ofld_fwd2vport_create()
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx5/core/en_accel/ |
| H A D | ipsec_fs.c | 57 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() 406 struct mlx5_flow_act *flow_act) in setup_fte_common() argument 455 flow_act->ipsec_obj_id = ipsec_obj_id; in setup_fte_common() 456 flow_act->flags |= FLOW_ACT_NO_APPEND; in setup_fte_common() 469 struct mlx5_flow_act flow_act = {}; in rx_add_rule() local [all …]
|
| H A D | fs_tcp.c | 81 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()
|
| /OK3568_Linux_fs/kernel/drivers/infiniband/hw/mlx5/ |
| H A D | fs.c | 597 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 …]
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/netronome/nfp/flower/ |
| H A D | action.c | 1161 static bool nfp_fl_check_mangle_start(struct flow_action *flow_act, in nfp_fl_check_mangle_start() argument 1167 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_start() 1174 prev_act = flow_act->entries[current_act_idx - 1]; in nfp_fl_check_mangle_start() 1179 static bool nfp_fl_check_mangle_end(struct flow_action *flow_act, in nfp_fl_check_mangle_end() argument 1185 current_act = flow_act->entries[current_act_idx]; in nfp_fl_check_mangle_end() 1189 if (current_act_idx == flow_act->num_entries) in nfp_fl_check_mangle_end() 1192 next_act = flow_act->entries[current_act_idx + 1]; in nfp_fl_check_mangle_end()
|
| /OK3568_Linux_fs/kernel/include/linux/mlx5/ |
| H A D | fs.h | 230 struct mlx5_flow_act *flow_act,
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx5/core/en/ |
| H A D | tc_ct.c | 1338 struct mlx5_flow_act flow_act = {}; in tc_ct_pre_ct_add_rules() local 1369 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | in tc_ct_pre_ct_add_rules() 1371 flow_act.flags |= FLOW_ACT_IGNORE_FLOW_LEVEL; in tc_ct_pre_ct_add_rules() 1372 flow_act.modify_hdr = mod_hdr; in tc_ct_pre_ct_add_rules() 1384 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in tc_ct_pre_ct_add_rules() 1395 rule = mlx5_add_flow_rules(ft, spec, &flow_act, &dest, 1); in tc_ct_pre_ct_add_rules()
|
| /OK3568_Linux_fs/kernel/drivers/net/ethernet/mellanox/mlx5/core/fpga/ |
| H A D | ipsec.c | 642 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()
|
| /OK3568_Linux_fs/kernel/drivers/vdpa/mlx5/net/ |
| H A D | mlx5_vnet.c | 1274 struct mlx5_flow_act flow_act = {}; in add_fwd_to_tir() local 1298 flow_act.action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | MLX5_FLOW_CONTEXT_ACTION_COUNT; in add_fwd_to_tir() 1303 ndev->rx_rule = mlx5_add_flow_rules(ndev->rxft, NULL, &flow_act, dest, 2); in add_fwd_to_tir()
|