Go to main content

man pages section 1: User Commands

Exit Print View

Updated: Wednesday, February 9, 2022

ibdiagnet (1)


ibdiagnet - IB diagnostic net


Please see following description for synopsis


IBDIAGNET(1)                 IB DIAGNOSTIC PACKAGE                IBDIAGNET(1)

       ibdiagnet - IB diagnostic net

       ibdiagnet [-c <count>] [-v] [-r] [-vlr] [-u] [-o <out-dir>]
         [-t <topo-file>] [-s <sys-name>] [-i <dev-index>] [-p <port-num>]
         [-pm] [-pc] [-P <<PM>=<Value>>]
         [-lw <1x|4x|12x>] [-ls <2.5|5|10>]
         [-skip <ibdiag_check/s>] [-load_db <db_file>]

       ibdiagnet scans the fabric using directed route packets and extracts
       all the available information regarding its connectivity and devices.
       It then produces the following files in the output directory (which
       defined by the -o option (see below)).

       ibdiagnet.log -
           A dump of all the application reports generate according to the
           provided flags

       ibdiagnet.lst -
           List of all the nodes, ports and links in the fabric

       ibdiagnet.fdbs -
           A dump of the unicast forwarding tables of the fabric switches

       ibdiagnet.mcfdbs -
           A dump of the multicast forwarding tables of the fabric switches

       ibdiagnet.masks -
           In case of duplicate port/node Guids, these file include the map
           between masked Guid and real Guids

       ibdiagnet.sm -
           List of all the SM (state and priority) in the fabric

       ibdiagnet.pm -
           A dump of the pm Counters values, of the fabric links

       ibdiagnet.pkey -
           A dump of the the existing partitions and their member host ports

       ibdiagnet.mcgs -
           A dump of the multicast groups, their properties and member host

       ibdiagnet.psl -
           A dump of the path record SL of each possible source node guid and
           DLID pairs.  Created only if -vlr option is provided

       ibdiagnet.slvl -
           A dump of the SL2VL Tables from all the switches.  Created only if
           -vlr option is provided

       ibdiagnet.db -
           A dump of the internal subnet database. This file can be loaded in
           later runs using the -load_db option

       In addition to generating the files above, the discovery phase also
       checks for duplicate node/port GUIDs in the IB fabric. If such an error
       is detected, it is displayed on the standard output. After the
       discovery phase is completed, directed route packets are sent multiple
       times (according to the -c option) to detect possible problematic paths
       on which packets may be lost. Such paths are explored, and a report of
       the suspected bad links is displayed on the standard output.

       After scanning the fabric, if the -r option is provided, a full report
       of the fabric qualities is displayed.  This report includes:

       o   SM report

       o   Number of nodes and systems

       o   Hop-count information

            maximal hop-count, an example path, and a hop-count histogram
       o   All CA-to-CA paths traced

       o   Credit loop report

       o   mgid-mlid-HCAs multicast group and report

       o   Partitions report

       o   IPoIB report

       Note: In case the IB fabric includes only one CA, then CA-to-CA paths
       are not reported.  Furthermore, if a topology file is provided,
       ibdiagnet uses the names defined in it for the output reports.

       -c <count>      :
               Min number of packets to be sent across each link (default =

       -v              :
               Enable verbose mode

       -r              :
               Provides a report of the fabric qualities

       -u              :
               Credit loop check based on UpDown rules

       -t <topo-file>  :
               Specifies the topology file name.  The system name (-s) must
               also be specified if this option is used.

       -s <sys-name>   :
               Specifies the local system name. Meaningful only if a topology
               file is specified

       -i <dev-index>  :
               Specifies the index of the device of the port used to connect
               to the IB fabric (in case of multiple devices on the local

       -p <port-num>   :
               Specifies the local device's port num used to connect to the IB

       -o <out-dir>    :
               Specifies the directory where the output files will be placed
               (default = /tmp)

       -lw <1x|4x|12x> :
               Specifies the expected link width

       -ls <2.5|5|10>  :
               Specifies the expected link speed

       -pm             :
               Dump all the fabric links, pm Counters into ibdiagnet.pm

       -pc             :
               Reset all the fabric links pmCounters

       -P <PM=<Trash>> :
               If any of the provided pm is greater then its provided value,
               print it to screen

       -skip <skip-option(s)> :
               Skip the executions of the selected checks.  Skip options (one
               or more can be specified) : dup_guids  zero_guids pm
               logical_state part ipoib all

       -wt <file-name>> :
               Write out the discovered topology into the given file. This
               flag is useful if you later want to check for changes from the
               current state of the fabric.  A directory named ibdiag_ibnl is
               also created by this option, and holds the IBNL files required
               to load this topology. To use these files you will need to set
               the environment variable named IBDM_IBNL_PATH to that
               directory. The directory is located in /var/cache/ibutils or in
               the output directory provided by the -o flag.

       -load_db <file-name>> :
               Load subnet data from the given .db file, and skip subnet
               discovery stage.  Note: Some of the checks require actual
               subnet discovery, and therefore would not run when load_db is
               specified. These checks are : Duplicated/zero guids, link
               state, SMs status.

       -vlr :
               VL based Routing - provide this option to create the paths SL
               file (psl), SL2VL file (slvl) and use them in credit loops
               check (if -r option is provided).

               NOTE: Since number of paths is N^2 extracting the PSL file may
               take some time.

       -h|--help       :
               Prints the help page information

       -V|--version    :
               Prints the version of the tool

       --vars          :
               Prints the tool's environment variables and their values

       1 - Failed to fully discover the fabric
       2 - Failed to parse command line options
       3 - Failed to intract with IB fabric
       4 - Failed to use local device or local port
       5 - Failed to use Topology File
       6 - Failed to load requierd Package

       See attributes(7) for descriptions of the following attributes:

       |Availability   | network/open-fabrics  |
       |Stability      | Pass-through volatile |
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from

       Further information about this software can be found on the open source
       community website at http://www.openfabrics.org/.

IBDIAG 1.0                        2021-12-22                      IBDIAGNET(1)