Bug #13241
mlxcx sending wrong length SET_FLOW_TABLE_ROOT on some parts
100%
Description
It seems like on newer revisions of the parts supported by mlxcx
, the SET_FLOW_TABLE_ROOT
command has grown some extra fields and is now 64 bytes long instead.
Unfortunately it also seems like when you send the old shorter version of this command to some of them, they baulk:
WARNING: mlxcx1: command MLXCX_OP_SET_FLOW_TABLE_ROOT 0x92f failed with status code MLXCX_CMD_R_BAD_PARAM (0x3)
According to the PRM we can detect whether the part has the new fields tacked on the end of this command or not by looking at the eswitch capabilities set for HCA_CAP.root_ft_on_other_esw=1
. We should do that.
Updated by Alex Wilson 5 months ago
Looking at the open edition of the PRM, it seems like even the older editions had this command at 64b length. I guess I misread it originally when making the struct for this command.
So, we could probably just send it at 64b to everything and not bother checking that capability?
Updated by Alex Wilson 4 months ago
Decided to proceed with just sending the 64-byte length on all parts rather than doing it only based on the eswitch capabilities bits. (This is in PS#2)
Testing:
- Brought up ps#2 on a ConnectX-5 which previously displayed symptoms, verified that it now attaches and the interface comes up and passes traffic (brought up with
ipadm
and did a simpleping
)
- Booted a machine with a ConnectX-4 Lx (previously working) to the same kernel to check for regression. Still attaches, comes up and passes traffic (same test)
Updated by Electric Monk 4 months ago
- Status changed from New to Closed
- % Done changed from 0 to 100
git commit 7cbbb9b50e91b71fbcb3cde98921fc7fbcbe83ea
commit 7cbbb9b50e91b71fbcb3cde98921fc7fbcbe83ea Author: Alex Wilson <alex@cooperi.net> Date: 2020-10-27T18:16:23.000Z 13241 mlxcx sending wrong length SET_FLOW_TABLE_ROOT on some parts Reviewed by: Paul Winder <paul@winder.uk.net> Reviewed by: Andy Fiddaman <andy@omniosce.org> Approved by: Robert Mustacchi <rm@fingolfin.org>