Lines Matching defs:action

145 			   struct mlx5_flow_act *action)
150 if (action->action & (MLX5_FLOW_CONTEXT_ACTION_ENCRYPT |
154 action->esp_id = (uintptr_t)maction->esp_aes_gcm.ctx;
155 action->action |= is_egress ?
162 if (action->action & MLX5_FLOW_CONTEXT_ACTION_MOD_HDR)
164 action->action |= MLX5_FLOW_CONTEXT_ACTION_MOD_HDR;
165 action->modify_hdr =
171 if (action->action & MLX5_FLOW_CONTEXT_ACTION_DECAP)
173 action->action |= MLX5_FLOW_CONTEXT_ACTION_DECAP;
178 if (action->action &
181 action->action |=
183 action->pkt_reformat =
197 struct mlx5_flow_act *action, u32 prev_type)
527 action->action |= MLX5_FLOW_CONTEXT_ACTION_DROP;
530 ret = parse_flow_flow_action(to_mflow_act(ib_spec->action.act),
531 flow_attr->flags & IB_FLOW_ATTR_FLAGS_EGRESS, action);
541 if (action->action & MLX5_FLOW_CONTEXT_ACTION_COUNT)
544 action->counters = ib_spec->flow_count.counters;
545 action->action |= MLX5_FLOW_CONTEXT_ACTION_COUNT;
602 (flow_act->action & (MLX5_FLOW_CONTEXT_ACTION_ENCRYPT |
605 bool is_drop = flow_act->action & MLX5_FLOW_CONTEXT_ACTION_DROP;
948 if (dst && !(flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP)) {
976 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_COUNT) {
992 if (flow_act.action & MLX5_FLOW_CONTEXT_ACTION_DROP) {
997 flow_act.action |=
1000 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_ALLOW;
1002 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
1510 flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
1515 flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_FWD_DEST;
1519 flow_act->action |= MLX5_FLOW_CONTEXT_ACTION_ALLOW;
1525 if (flow_act->action & MLX5_FLOW_CONTEXT_ACTION_COUNT) {
1577 struct mlx5_ib_flow_action *action;
1611 action = kmalloc(sizeof(*action), GFP_KERNEL);
1612 if (!action)
1615 action->esp_aes_gcm.ib_flags = attr->flags;
1634 accel_attrs.action |= MLX5_ACCEL_ESP_ACTION_ENCRYPT;
1636 action->esp_aes_gcm.ctx =
1638 if (IS_ERR(action->esp_aes_gcm.ctx)) {
1639 err = PTR_ERR(action->esp_aes_gcm.ctx);
1643 action->esp_aes_gcm.ib_flags = attr->flags;
1645 return &action->ib_action;
1648 kfree(action);
1653 mlx5_ib_modify_flow_action_esp(struct ib_flow_action *action,
1657 struct mlx5_ib_flow_action *maction = to_mflow_act(action);
1718 static int mlx5_ib_destroy_flow_action(struct ib_flow_action *action)
1720 struct mlx5_ib_flow_action *maction = to_mflow_act(action);
1722 switch (action->type) {
1953 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_FWD_NEXT_NS;
1956 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_DROP;
1983 flow_act.action |= MLX5_FLOW_CONTEXT_ACTION_COUNT;
2203 struct ib_flow_action *action;
2224 action = mlx5_ib_create_modify_header(mdev, ft_type, num_actions, in);
2225 if (IS_ERR(action))
2226 return PTR_ERR(action);
2228 uverbs_flow_action_fill_action(action, uobj, &mdev->ib_dev,