Bug #13241

mlxcx sending wrong length SET_FLOW_TABLE_ROOT on some parts

Added by Alex Wilson 5 months ago. Updated 4 months ago.

Start date:
Due date:
% Done:


Estimated time:
Gerrit CR:


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

  • Gerrit CR set to 1004

Updated by Alex Wilson 5 months ago

  • Description updated (diff)

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)


  • 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 simple ping)
  • 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 <>
Date:   2020-10-27T18:16:23.000Z

    13241 mlxcx sending wrong length SET_FLOW_TABLE_ROOT on some parts
    Reviewed by: Paul Winder <>
    Reviewed by: Andy Fiddaman <>
    Approved by: Robert Mustacchi <>

Also available in: Atom PDF