mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 07:01:23 +00:00
net/mlx5: Increase the maximum flow counters supported
Read new NIC capability field which represnts 16 MSBs of the max flow counters number supported (max_flow_counter_31_16). Backward compatibility with older firmware is preserved, the modified driver reads max_flow_counter_31_16 as 0 from the older firmware and uses up to 64K counters. Changed flow counter id from 16 bits to 32 bits. Backward compatibility with older firmware is preserved as we kept the 16 LSBs of the counter id in place and added 16 MSBs from reserved field. Changed the background bulk reading of flow counters to work in chunks of at most 32K counters, to make sure we don't attempt to allocate very large buffers. Signed-off-by: Rabie Loulou <rabiel@mellanox.com> Reviewed-by: Or Gerlitz <ogerlitz@mellanox.com> Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
This commit is contained in:
parent
61690e09c3
commit
a8ffcc741a
6 changed files with 32 additions and 27 deletions
|
@ -963,7 +963,7 @@ struct mlx5_ifc_cmd_hca_cap_bits {
|
|||
u8 reserved_at_2a0[0x10];
|
||||
u8 max_wqe_sz_rq[0x10];
|
||||
|
||||
u8 reserved_at_2c0[0x10];
|
||||
u8 max_flow_counter_31_16[0x10];
|
||||
u8 max_wqe_sz_sq_dc[0x10];
|
||||
|
||||
u8 reserved_at_2e0[0x7];
|
||||
|
@ -981,7 +981,7 @@ struct mlx5_ifc_cmd_hca_cap_bits {
|
|||
|
||||
u8 reserved_at_340[0x8];
|
||||
u8 log_max_flow_counter_bulk[0x8];
|
||||
u8 max_flow_counter[0x10];
|
||||
u8 max_flow_counter_15_0[0x10];
|
||||
|
||||
|
||||
u8 reserved_at_360[0x3];
|
||||
|
@ -1071,8 +1071,7 @@ struct mlx5_ifc_dest_format_struct_bits {
|
|||
};
|
||||
|
||||
struct mlx5_ifc_flow_counter_list_bits {
|
||||
u8 reserved_at_0[0x10];
|
||||
u8 flow_counter_id[0x10];
|
||||
u8 flow_counter_id[0x20];
|
||||
|
||||
u8 reserved_at_20[0x20];
|
||||
};
|
||||
|
@ -4402,8 +4401,7 @@ struct mlx5_ifc_query_flow_counter_in_bits {
|
|||
u8 reserved_at_c1[0xf];
|
||||
u8 num_of_counters[0x10];
|
||||
|
||||
u8 reserved_at_e0[0x10];
|
||||
u8 flow_counter_id[0x10];
|
||||
u8 flow_counter_id[0x20];
|
||||
};
|
||||
|
||||
struct mlx5_ifc_query_esw_vport_context_out_bits {
|
||||
|
@ -6271,8 +6269,7 @@ struct mlx5_ifc_dealloc_flow_counter_in_bits {
|
|||
u8 reserved_at_20[0x10];
|
||||
u8 op_mod[0x10];
|
||||
|
||||
u8 reserved_at_40[0x10];
|
||||
u8 flow_counter_id[0x10];
|
||||
u8 flow_counter_id[0x20];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
};
|
||||
|
@ -7097,8 +7094,7 @@ struct mlx5_ifc_alloc_flow_counter_out_bits {
|
|||
|
||||
u8 syndrome[0x20];
|
||||
|
||||
u8 reserved_at_40[0x10];
|
||||
u8 flow_counter_id[0x10];
|
||||
u8 flow_counter_id[0x20];
|
||||
|
||||
u8 reserved_at_60[0x20];
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue