Lines Matching refs:spec

184 			   struct mlx5_flow_spec *spec,
189 struct mlx5_flow_context *flow_context = &spec->flow_context;
190 u32 *match_c = spec->match_criteria;
191 u32 *match_v = spec->match_value;
523 /* for now support only one counters spec per flow */
810 struct mlx5_flow_spec *spec)
818 MLX5_SET_TO_ONES(fte_match_param, &spec->match_criteria,
820 MLX5_SET(fte_match_param, &spec->match_value,
827 struct mlx5_flow_spec *spec, int ipv)
834 set_vhca_port_spec(dev, port_num, spec))
837 MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria,
839 MLX5_SET(fte_match_param, spec->match_value, outer_headers.ip_ecn,
841 MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria,
843 MLX5_SET(fte_match_param, spec->match_value, outer_headers.ip_version,
846 spec->match_criteria_enable =
847 get_match_criteria_enable(spec->match_criteria);
853 struct mlx5_flow_spec *spec)
856 set_vhca_port_spec(dev, port_num, spec))
859 MLX5_SET_TO_ONES(fte_match_param, spec->match_criteria,
861 MLX5_SET(fte_match_param, spec->match_value, misc_parameters.bth_opcode,
864 spec->match_criteria_enable =
865 get_match_criteria_enable(spec->match_criteria);
880 struct mlx5_flow_spec *spec;
882 spec = kcalloc(MAX_OPFC_RULES, sizeof(*spec), GFP_KERNEL);
883 if (!spec)
888 if (set_ecn_ce_spec(dev, port_num, &spec[0],
890 set_ecn_ce_spec(dev, port_num, &spec[1],
903 set_cnp_spec(dev, port_num, &spec[0])) {
915 set_cnp_spec(dev, port_num, &spec[0])) {
952 opfc->rule[i] = mlx5_add_flow_rules(prio->flow_table, &spec[i],
960 kfree(spec);
969 kfree(spec);
986 struct mlx5_flow_spec *spec,
990 spec->match_criteria,
992 void *misc_params_v = MLX5_ADDR_OF(fte_match_param, spec->match_value,
1006 struct mlx5_flow_spec *spec,
1013 misc = MLX5_ADDR_OF(fte_match_param, spec->match_value,
1019 misc = MLX5_ADDR_OF(fte_match_param, spec->match_criteria,
1025 misc = MLX5_ADDR_OF(fte_match_param, spec->match_value,
1030 misc = MLX5_ADDR_OF(fte_match_param, spec->match_criteria,
1047 struct mlx5_flow_spec *spec;
1063 spec = kvzalloc(sizeof(*spec), GFP_KERNEL);
1065 if (!handler || !spec) {
1073 err = parse_flow_attr(dev->mdev, spec,
1089 set_underlay_qp(dev, spec, underlay_qpn);
1100 mlx5_ib_set_rule_source_port(dev, spec, rep);
1103 spec->match_criteria_enable = get_match_criteria_enable(spec->match_criteria);
1134 if ((spec->flow_context.flags & FLOW_CONTEXT_HAS_TAG) &&
1138 spec->flow_context.flow_tag, flow_attr->type);
1142 handler->rule = mlx5_add_flow_rules(ft, spec,
1161 kvfree(spec);
1524 struct mlx5_flow_spec *spec;
1528 spec = kvzalloc(sizeof(*spec), GFP_KERNEL);
1530 if (!handler || !spec) {
1537 memcpy(spec->match_value, cmd_in, inlen);
1538 memcpy(spec->match_criteria, fs_matcher->matcher_mask.match_params,
1540 spec->match_criteria_enable = fs_matcher->match_criteria_enable;
1541 spec->flow_context = *flow_context;
1543 handler->rule = mlx5_add_flow_rules(ft, spec,
1559 kvfree(spec);