Lines Matching refs:pre_attr

46 	struct mlx5_flow_attr *pre_attr;  member
479 struct mlx5_flow_attr *pre_attr; in mlx5e_tc_sample_offload() local
541 pre_attr = mlx5_alloc_flow_attr(MLX5_FLOW_NAMESPACE_FDB); in mlx5e_tc_sample_offload()
542 if (!pre_attr) { in mlx5e_tc_sample_offload()
546 pre_attr->action = MLX5_FLOW_CONTEXT_ACTION_FWD_DEST | MLX5_FLOW_CONTEXT_ACTION_MOD_HDR; in mlx5e_tc_sample_offload()
551 pre_attr->action |= MLX5_FLOW_CONTEXT_ACTION_DECAP; in mlx5e_tc_sample_offload()
552 pre_attr->modify_hdr = sample_flow->restore->modify_hdr; in mlx5e_tc_sample_offload()
553 pre_attr->flags = MLX5_ATTR_FLAG_SAMPLE; in mlx5e_tc_sample_offload()
554 pre_attr->inner_match_level = attr->inner_match_level; in mlx5e_tc_sample_offload()
555 pre_attr->outer_match_level = attr->outer_match_level; in mlx5e_tc_sample_offload()
556 pre_attr->chain = attr->chain; in mlx5e_tc_sample_offload()
557 pre_attr->prio = attr->prio; in mlx5e_tc_sample_offload()
558 pre_attr->ft = attr->ft; in mlx5e_tc_sample_offload()
559 pre_attr->sample_attr = *sample_attr; in mlx5e_tc_sample_offload()
560 pre_esw_attr = pre_attr->esw_attr; in mlx5e_tc_sample_offload()
563 sample_flow->pre_rule = mlx5_eswitch_add_offloaded_rule(esw, spec, pre_attr); in mlx5e_tc_sample_offload()
568 sample_flow->pre_attr = pre_attr; in mlx5e_tc_sample_offload()
573 kfree(pre_attr); in mlx5e_tc_sample_offload()
604 mlx5_eswitch_del_offloaded_rule(esw, sample_flow->pre_rule, sample_flow->pre_attr); in mlx5e_tc_sample_unoffload()
612 kfree(sample_flow->pre_attr); in mlx5e_tc_sample_unoffload()