action_type
acts->actions[0].action_type = cpu_to_le32(VIRTCHNL2_ACTION_QUEUE);
__le32 action_type;
MLX5_SET(set_action_in, modact, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action[0], action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action[1], action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action[2], action_type,
MLX5_SET(copy_action_in, action, action_type, MLX5_ACTION_TYPE_COPY);
MLX5_SET(set_action_in, action, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, modact, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action, action_type, cmd);
MLX5_SET(set_action_in, modact, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(copy_action_in, modact, action_type, MLX5_ACTION_TYPE_COPY);
MLX5_SET(set_action_in, modact, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(copy_action_in, action, action_type, MLX5_ACTION_TYPE_COPY);
MLX5_SET(set_action_in, action, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(set_action_in, action, action_type, MLX5_ACTION_TYPE_SET);
MLX5_SET(stc_ste_param_remove, mh_data, action_type,
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_REMOVE;
MLX5_SET(stc_ste_param_insert, mh_data, action_type,
MLX5_SET(stc_ste_param_remove_words, mh_data, action_type,
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_REMOVE_WORDS;
MLX5_GET(set_action_in, pattern[i].data, action_type);
enum mlx5hws_action_type action_type = dests[i].dest->type;
switch (action_type) {
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_JUMP_TO_STE_TABLE;
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_NOP;
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_ALLOW;
enum mlx5hws_action_type *action_type = at->action_type_arr;
switch (action_type[i]) {
switch (stc_attr->action_type) {
fixup_stc_attr->action_type = MLX5_IFC_STC_ACTION_TYPE_DROP;
i, action_type[i]);
mlx5hws_action_template_create(enum mlx5hws_action_type action_type[])
while (action_type[num_actions++] != MLX5HWS_ACTION_TYP_LAST)
at->action_type_arr = kzalloc_objs(*action_type, num_actions);
at->action_type_arr[i] = action_type[i];
fixup_stc_attr->action_type = MLX5_IFC_STC_ACTION_TYPE_NOP;
fixup_stc_attr->action_type = MLX5_IFC_STC_ACTION_TYPE_JUMP_TO_VPORT;
fixup_stc_attr->action_type = MLX5_IFC_STC_ACTION_TYPE_JUMP_TO_UPLINK;
stc_attr->action_type, table_type);
stc_attr->action_type, table_type);
cleanup_stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_DROP;
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_DROP;
u8 action_type = MLX5_GET(set_action_in, &pattern, action_type);
switch (action_type) {
mlx5hws_err(ctx, "Unsupported action type: 0x%x\n", action_type);
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_TAG;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_DROP;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_ALLOW;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_COUNTER;
attr->action_type = hws_action_get_mh_stc_type(action->ctx,
if (attr->action_type == MLX5_IFC_STC_ACTION_TYPE_ADD ||
attr->action_type == MLX5_IFC_STC_ACTION_TYPE_SET)
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_ACC_MODIFY_LIST;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_JUMP_TO_FT;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_REMOVE;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_INSERT;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_ASO;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_JUMP_TO_VPORT;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_REMOVE_WORDS;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_HEADER_INSERT;
attr->action_type = MLX5_IFC_STC_ACTION_TYPE_REMOVE_WORDS;
enum mlx5hws_action_type action_type,
"Action (type: %d) flags must specify only HWS FDB\n", action_type);
action[i].type = action_type;
const char *mlx5hws_action_type_to_str(enum mlx5hws_action_type action_type)
enum mlx5hws_action_type action_type)
return hws_action_create_generic_bulk(ctx, flags, action_type, 1);
return mlx5hws_action_type_str[action_type];
enum mlx5hws_action_type action_type,
action = hws_action_create_generic(ctx, flags, action_type);
const char *mlx5hws_action_type_to_str(enum mlx5hws_action_type action_type);
stc_attr.action_type = MLX5_IFC_STC_ACTION_TYPE_JUMP_TO_STE_TABLE;
action_type, MLX5_MODIFICATION_TYPE_SET);
switch (stc_attr->action_type) {
MLX5_SET(stc_ste_param_remove, stc_param, action_type,
MLX5_SET(stc_ste_param_insert, stc_param, action_type,
MLX5_SET(stc_ste_param_remove_words, stc_param, action_type,
mlx5_core_err(mdev, "Not supported type %d\n", stc_attr->action_type);
MLX5_SET(stc, attr, action_type, stc_attr->action_type);
stc_attr->action_type);
type = MLX5_GET(set_action_in, &pattern_data[i], action_type);
enum mlx5_ifc_stc_action_type action_type;
enum mlx5hws_action_type action_type;
action_type = at->action_type_arr[j];
seq_printf(f, ",%s", mlx5hws_action_type_to_str(action_type));
enum mlx5hws_action_type action_type;
action_type = MLX5HWS_ACTION_TYP_REFORMAT_TNL_L2_TO_L2;
mlx5hws_action_create_reformat(ctx, action_type, 1,
mlx5hws_action_template_create(enum mlx5hws_action_type action_type[]);
MLX5_GET(set_action_in, &actions[i], action_type);
action_id = MLX5_GET(set_action_in, &actions[i], action_type);
hws_action_modify_check_field_limitation(u8 action_type, __be64 *pattern)
hws_action_modify_get_target_fields(u8 action_type, __be64 *pattern,
switch (action_type) {
pr_warn("HWS: invalid modify header action type %d\n", action_type);
u8 action_type =
MLX5_GET(set_action_in, &pattern[i], action_type);
if (action_type >= MLX5_MODIFICATION_TYPE_MAX) {
mlx5hws_err(ctx, "Unsupported action id %d\n", action_type);
if (hws_action_modify_check_field_limitation(action_type, &pattern[i])) {
u8 action_type;
action_type = MLX5_GET(set_action_in, &pattern[i], action_type);
hws_action_modify_get_target_fields(action_type, &pattern[i],
MLX5_SET(set_action_in, &new_pat[j], action_type,
u8 action_type[0x4];
u8 action_type[0x4];
u8 action_type[0x4];
u8 action_type[0x8];
action->action_type = action_type;
switch (dest_action->action_type) {
switch (action->action_type) {
if (action->action_type == DR_ACTION_TYP_L2_TO_TNL_L2)
mlx5dr_info(dmn, "Reformat type is not supported %d\n", action->action_type);
enum mlx5dr_action_type action_type;
ret = dr_action_reformat_to_action_type(reformat_type, &action_type);
ret = dr_action_verify_reformat_params(action_type, dmn,
action = dr_action_create_generic(action_type);
action = MLX5_GET(set_action_in, sw_action, action_type);
u8 action_type;
action_type = MLX5_GET(set_action_in, sw_action, action_type);
switch (action_type) {
action_type);
switch (action->action_type) {
enum mlx5dr_action_type *action_type)
*action_type = DR_ACTION_TYP_TNL_L2_TO_L2;
*action_type = DR_ACTION_TYP_L2_TO_TNL_L2;
*action_type = DR_ACTION_TYP_TNL_L3_TO_L2;
*action_type = DR_ACTION_TYP_L2_TO_TNL_L3;
*action_type = DR_ACTION_TYP_INSERT_HDR;
*action_type = DR_ACTION_TYP_REMOVE_HDR;
u32 action_type,
*state = next_action_state[action_domain][cur_state][action_type];
switch (dest_action->action_type) {
dr_action_id_to_str(actions[i]->action_type),
actions[i]->action_type);
u32 action_type;
action_type = action->action_type;
switch (action_type) {
mlx5dr_err(dmn, "Unsupported action type %d\n", action_type);
if (++action_type_set[action_type] > max_actions_type) {
action_type, max_actions_type);
action_type,
dr_action_create_generic(enum mlx5dr_action_type action_type)
if (action_type < DR_ACTION_TYP_MAX)
extra_size = action_size[action_type];
switch (action->action_type) {
MLX5_SET(set_action_in, &modify_ttl_action, action_type, MLX5_ACTION_TYPE_ADD);
MLX5_SET(ste_sx_transmit, hw_ste_p, action_type,
MLX5_SET(ste_sx_transmit, hw_ste_p, action_type,
if (action && action->action_type != DR_ACTION_TYP_FT)
enum mlx5dr_action_type action_type;
u8 action_type[0x3];
MLXSW_ITEM32(afa, all, action_type, 0x00, 24, 6);
MLXSW_ITEM32(reg, ralue, action_type, 0x1C, 0, 2);
enum mmal_msg_port_action_type action_type)
m.u.port_action_port.action = action_type;
port_action_type_names[action_type], action_type);
enum mmal_msg_port_action_type action_type,
m.u.port_action_handle.action = action_type;
port_action_type_names[action_type],
action_type, connect_component_handle, connect_port_handle);
u8 action_type[0x4];
u8 action_type[0x4];
u8 action_type[0x4];
__field( u8, action_type )
__entry->action_type = nla_type(a);
__entry->action_type, __entry->action_len,
enum action_type type = ACTION_NONE;
enum action_type type;