Skip to content

Commit 0c90e9c

Browse files
Maor GottliebSaeed Mahameed
authored andcommitted
net/mlx5: Update flow table commands layout
Update struct mlx5_ifc_create(modify)_flow_table_bits according to the last device specification. Signed-off-by: Maor Gottlieb <maorg@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
1 parent 2b64beb commit 0c90e9c

File tree

2 files changed

+40
-38
lines changed

2 files changed

+40
-38
lines changed

drivers/net/ethernet/mellanox/mlx5/core/fs_cmd.c

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -78,28 +78,33 @@ int mlx5_cmd_create_flow_table(struct mlx5_core_dev *dev,
7878
MLX5_CMD_OP_CREATE_FLOW_TABLE);
7979

8080
MLX5_SET(create_flow_table_in, in, table_type, type);
81-
MLX5_SET(create_flow_table_in, in, level, level);
82-
MLX5_SET(create_flow_table_in, in, log_size, log_size);
81+
MLX5_SET(create_flow_table_in, in, flow_table_context.level, level);
82+
MLX5_SET(create_flow_table_in, in, flow_table_context.log_size, log_size);
8383
if (vport) {
8484
MLX5_SET(create_flow_table_in, in, vport_number, vport);
8585
MLX5_SET(create_flow_table_in, in, other_vport, 1);
8686
}
8787

88-
MLX5_SET(create_flow_table_in, in, decap_en, en_encap_decap);
89-
MLX5_SET(create_flow_table_in, in, encap_en, en_encap_decap);
88+
MLX5_SET(create_flow_table_in, in, flow_table_context.decap_en,
89+
en_encap_decap);
90+
MLX5_SET(create_flow_table_in, in, flow_table_context.encap_en,
91+
en_encap_decap);
9092

9193
switch (op_mod) {
9294
case FS_FT_OP_MOD_NORMAL:
9395
if (next_ft) {
94-
MLX5_SET(create_flow_table_in, in, table_miss_mode, 1);
95-
MLX5_SET(create_flow_table_in, in, table_miss_id, next_ft->id);
96+
MLX5_SET(create_flow_table_in, in,
97+
flow_table_context.table_miss_action, 1);
98+
MLX5_SET(create_flow_table_in, in,
99+
flow_table_context.table_miss_id, next_ft->id);
96100
}
97101
break;
98102

99103
case FS_FT_OP_MOD_LAG_DEMUX:
100104
MLX5_SET(create_flow_table_in, in, op_mod, 0x1);
101105
if (next_ft)
102-
MLX5_SET(create_flow_table_in, in, lag_master_next_table_id,
106+
MLX5_SET(create_flow_table_in, in,
107+
flow_table_context.lag_master_next_table_id,
103108
next_ft->id);
104109
break;
105110
}
@@ -146,10 +151,10 @@ int mlx5_cmd_modify_flow_table(struct mlx5_core_dev *dev,
146151
MLX5_MODIFY_FLOW_TABLE_LAG_NEXT_TABLE_ID);
147152
if (next_ft) {
148153
MLX5_SET(modify_flow_table_in, in,
149-
lag_master_next_table_id, next_ft->id);
154+
flow_table_context.lag_master_next_table_id, next_ft->id);
150155
} else {
151156
MLX5_SET(modify_flow_table_in, in,
152-
lag_master_next_table_id, 0);
157+
flow_table_context.lag_master_next_table_id, 0);
153158
}
154159
} else {
155160
if (ft->vport) {
@@ -160,11 +165,14 @@ int mlx5_cmd_modify_flow_table(struct mlx5_core_dev *dev,
160165
MLX5_SET(modify_flow_table_in, in, modify_field_select,
161166
MLX5_MODIFY_FLOW_TABLE_MISS_TABLE_ID);
162167
if (next_ft) {
163-
MLX5_SET(modify_flow_table_in, in, table_miss_mode, 1);
164-
MLX5_SET(modify_flow_table_in, in, table_miss_id,
168+
MLX5_SET(modify_flow_table_in, in,
169+
flow_table_context.table_miss_action, 1);
170+
MLX5_SET(modify_flow_table_in, in,
171+
flow_table_context.table_miss_id,
165172
next_ft->id);
166173
} else {
167-
MLX5_SET(modify_flow_table_in, in, table_miss_mode, 0);
174+
MLX5_SET(modify_flow_table_in, in,
175+
flow_table_context.table_miss_action, 0);
168176
}
169177
}
170178

include/linux/mlx5/mlx5_ifc.h

Lines changed: 20 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -6627,6 +6627,24 @@ struct mlx5_ifc_create_flow_table_out_bits {
66276627
u8 reserved_at_60[0x20];
66286628
};
66296629

6630+
struct mlx5_ifc_flow_table_context_bits {
6631+
u8 encap_en[0x1];
6632+
u8 decap_en[0x1];
6633+
u8 reserved_at_2[0x2];
6634+
u8 table_miss_action[0x4];
6635+
u8 level[0x8];
6636+
u8 reserved_at_10[0x8];
6637+
u8 log_size[0x8];
6638+
6639+
u8 reserved_at_20[0x8];
6640+
u8 table_miss_id[0x18];
6641+
6642+
u8 reserved_at_40[0x8];
6643+
u8 lag_master_next_table_id[0x18];
6644+
6645+
u8 reserved_at_60[0xe0];
6646+
};
6647+
66306648
struct mlx5_ifc_create_flow_table_in_bits {
66316649
u8 opcode[0x10];
66326650
u8 reserved_at_10[0x10];
@@ -6645,21 +6663,7 @@ struct mlx5_ifc_create_flow_table_in_bits {
66456663

66466664
u8 reserved_at_a0[0x20];
66476665

6648-
u8 encap_en[0x1];
6649-
u8 decap_en[0x1];
6650-
u8 reserved_at_c2[0x2];
6651-
u8 table_miss_mode[0x4];
6652-
u8 level[0x8];
6653-
u8 reserved_at_d0[0x8];
6654-
u8 log_size[0x8];
6655-
6656-
u8 reserved_at_e0[0x8];
6657-
u8 table_miss_id[0x18];
6658-
6659-
u8 reserved_at_100[0x8];
6660-
u8 lag_master_next_table_id[0x18];
6661-
6662-
u8 reserved_at_120[0x80];
6666+
struct mlx5_ifc_flow_table_context_bits flow_table_context;
66636667
};
66646668

66656669
struct mlx5_ifc_create_flow_group_out_bits {
@@ -8277,17 +8281,7 @@ struct mlx5_ifc_modify_flow_table_in_bits {
82778281
u8 reserved_at_a0[0x8];
82788282
u8 table_id[0x18];
82798283

8280-
u8 reserved_at_c0[0x4];
8281-
u8 table_miss_mode[0x4];
8282-
u8 reserved_at_c8[0x18];
8283-
8284-
u8 reserved_at_e0[0x8];
8285-
u8 table_miss_id[0x18];
8286-
8287-
u8 reserved_at_100[0x8];
8288-
u8 lag_master_next_table_id[0x18];
8289-
8290-
u8 reserved_at_120[0x80];
8284+
struct mlx5_ifc_flow_table_context_bits flow_table_context;
82918285
};
82928286

82938287
struct mlx5_ifc_ets_tcn_config_reg_bits {

0 commit comments

Comments
 (0)