net/mlx5: DR, Proper handling of unsupported Connect-X6DX SW steering
STEs format for Connect-X5 and Connect-X6DX different. Currently, on
Connext-X6DX the SW steering would break at some point when building STEs
w/o giving a proper error message. Fix this by checking the STE format of
the current device when initializing domain: add mlx5_ifc definitions for
Connect-X6DX SW steering, read FW capability to get the current format
version, and check this version when domain is being created.
Fixes: 26d688e33f
("net/mlx5: DR, Add Steering entry (STE) utilities")
Signed-off-by: Yevgeny Kliteynik <kliteyn@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:

committed by
Jakub Kicinski

parent
b336e6b25e
commit
d421e466c2
@@ -1223,6 +1223,11 @@ enum mlx5_fc_bulk_alloc_bitmask {
|
||||
|
||||
#define MLX5_FC_BULK_NUM_FCS(fc_enum) (MLX5_FC_BULK_SIZE_FACTOR * (fc_enum))
|
||||
|
||||
enum {
|
||||
MLX5_STEERING_FORMAT_CONNECTX_5 = 0,
|
||||
MLX5_STEERING_FORMAT_CONNECTX_6DX = 1,
|
||||
};
|
||||
|
||||
struct mlx5_ifc_cmd_hca_cap_bits {
|
||||
u8 reserved_at_0[0x30];
|
||||
u8 vhca_id[0x10];
|
||||
@@ -1521,7 +1526,9 @@ struct mlx5_ifc_cmd_hca_cap_bits {
|
||||
|
||||
u8 general_obj_types[0x40];
|
||||
|
||||
u8 reserved_at_440[0x20];
|
||||
u8 reserved_at_440[0x4];
|
||||
u8 steering_format_version[0x4];
|
||||
u8 create_qp_start_hint[0x18];
|
||||
|
||||
u8 reserved_at_460[0x3];
|
||||
u8 log_max_uctx[0x5];
|
||||
|
Reference in New Issue
Block a user