Blame doc/man/infiniband-diags.8.in

Packit db064d
.\" Man page generated from reStructuredText.
Packit db064d
.
Packit db064d
.TH INFINIBAND-DIAGS 8 "@BUILD_DATE@" "" "Open IB Diagnostics"
Packit db064d
.SH NAME
Packit db064d
infiniband-diags \- Diagnostics for InfiniBand Fabrics
Packit db064d
.
Packit db064d
.nr rst2man-indent-level 0
Packit db064d
.
Packit db064d
.de1 rstReportMargin
Packit db064d
\\$1 \\n[an-margin]
Packit db064d
level \\n[rst2man-indent-level]
Packit db064d
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
Packit db064d
-
Packit db064d
\\n[rst2man-indent0]
Packit db064d
\\n[rst2man-indent1]
Packit db064d
\\n[rst2man-indent2]
Packit db064d
..
Packit db064d
.de1 INDENT
Packit db064d
.\" .rstReportMargin pre:
Packit db064d
. RS \\$1
Packit db064d
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
Packit db064d
. nr rst2man-indent-level +1
Packit db064d
.\" .rstReportMargin post:
Packit db064d
..
Packit db064d
.de UNINDENT
Packit db064d
. RE
Packit db064d
.\" indent \\n[an-margin]
Packit db064d
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
Packit db064d
.nr rst2man-indent-level -1
Packit db064d
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
Packit db064d
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
Packit db064d
..
Packit db064d
.SH DESCRIPTION
Packit db064d
.sp
Packit db064d
infiniband\-diags is a set of utilities designed to help configure, debug, and
Packit db064d
maintain infiniband fabrics.  Many tools and utilities are provided.  Some with
Packit db064d
similar functionality.
Packit db064d
.sp
Packit db064d
The base utilities use directed route MAD\(aqs to perform their operations.  They
Packit db064d
may therefore work even in unconfigured subnets.  Other, higher level
Packit db064d
utilities, require LID routed MAD\(aqs and to some extent SA/SM access.
Packit db064d
.SH THE USE OF SMPS (QP0)
Packit db064d
.sp
Packit db064d
Many of the tools in this package rely on the use of SMPs via QP0 to acquire
Packit db064d
data directly from the SMA.  While this mode of operation is not technically in
Packit db064d
compliance with the InfiniBand specification, practical experience has found
Packit db064d
that this level of diagnostics is valuable when working with a fabric which is
Packit db064d
broken or only partially configured.  For this reason many of these tools may
Packit db064d
require the use of an MKey or operation from Virtual Machines may be restricted
Packit db064d
for security reasons.
Packit db064d
.SH COMMON OPTIONS
Packit db064d
.sp
Packit db064d
Most OpenIB diagnostics take some of the following common flags. The exact list
Packit db064d
of supported flags per utility can be found in the documentation for those
Packit db064d
commands.
Packit db064d
.SS Addressing Flags
Packit db064d
.sp
Packit db064d
The \-D and \-G option have two forms:
Packit db064d
.\" Define the common option -D for Directed routes
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-D, \-\-Direct\fP     The address specified is a directed route
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.sp
Packit db064d
.nf
Packit db064d
.ft C
Packit db064d
Examples:
Packit db064d
   [options] \-D [options] "0"          # self port
Packit db064d
   [options] \-D [options] "0,1,2,1,4"  # out via port 1, then 2, ...
Packit db064d
Packit db064d
   (Note the second number in the path specified must match the port being
Packit db064d
   used.  This can be specified using the port selection flag \(aq\-P\(aq or the
Packit db064d
   port found through the automatic selection process.)
Packit db064d
.ft P
Packit db064d
.fi
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option -D for Directed routes
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-D, \-\-Direct <dr_path>\fP     The address specified is a directed route
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.sp
Packit db064d
.nf
Packit db064d
.ft C
Packit db064d
Examples:
Packit db064d
   \-D "0"          # self port
Packit db064d
   \-D "0,1,2,1,4"  # out via port 1, then 2, ...
Packit db064d
Packit db064d
   (Note the second number in the path specified must match the port being
Packit db064d
   used.  This can be specified using the port selection flag \(aq\-P\(aq or the
Packit db064d
   port found through the automatic selection process.)
Packit db064d
.ft P
Packit db064d
.fi
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option -G
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-G, \-\-Guid\fP     The address specified is a Port GUID
Packit db064d
.\" Define the common option -G
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-\-port\-guid, \-G <port_guid>\fP  Specify a port_guid
Packit db064d
.\" Define the common option -L
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-L, \-\-Lid\fP   The address specified is a LID
Packit db064d
.\" Define the common option -s
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-s, \-\-sm_port <smlid>\fP     use \(aqsmlid\(aq as the target lid for SA queries.
Packit db064d
.SS Port Selection flags
Packit db064d
.\" Define the common option -C
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-C, \-\-Ca <ca_name>\fP    use the specified ca_name.
Packit db064d
.\" Define the common option -P
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-P, \-\-Port <ca_port>\fP    use the specified ca_port.
Packit db064d
.\" Explanation of local port selection
Packit db064d
.
Packit db064d
.SS Local port Selection
Packit db064d
.sp
Packit db064d
Multiple port/Multiple CA support: when no IB device or port is specified
Packit db064d
(see the "local umad parameters" below), the libibumad library
Packit db064d
selects the port to use by the following criteria:
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.INDENT 0.0
Packit db064d
.IP 1. 3
Packit db064d
the first port that is ACTIVE.
Packit db064d
.IP 2. 3
Packit db064d
if not found, the first port that is UP (physical link up).
Packit db064d
.UNINDENT
Packit db064d
.sp
Packit db064d
If a port and/or CA name is specified, the libibumad library attempts
Packit db064d
to fulfill the user request, and will fail if it is not possible.
Packit db064d
.sp
Packit db064d
For example:
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.sp
Packit db064d
.nf
Packit db064d
.ft C
Packit db064d
ibaddr                 # use the first port (criteria #1 above)
Packit db064d
ibaddr \-C mthca1       # pick the best port from "mthca1" only.
Packit db064d
ibaddr \-P 2            # use the second (active/up) port from the first available IB device.
Packit db064d
ibaddr \-C mthca0 \-P 2  # use the specified port only.
Packit db064d
.ft P
Packit db064d
.fi
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Debugging flags
Packit db064d
.\" Define the common option -d
Packit db064d
.
Packit db064d
.INDENT 0.0
Packit db064d
.TP
Packit db064d
.B \-d
Packit db064d
raise the IB debugging level.
Packit db064d
May be used several times (\-ddd or \-d \-d \-d).
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option -e
Packit db064d
.
Packit db064d
.INDENT 0.0
Packit db064d
.TP
Packit db064d
.B \-e
Packit db064d
show send and receive errors (timeouts and others)
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option -h
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-h, \-\-help\fP      show the usage message
Packit db064d
.\" Define the common option -v
Packit db064d
.
Packit db064d
.INDENT 0.0
Packit db064d
.TP
Packit db064d
.B \fB\-v, \-\-verbose\fP
Packit db064d
increase the application verbosity level.
Packit db064d
May be used several times (\-vv or \-v \-v \-v)
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option -V
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-V, \-\-version\fP     show the version info.
Packit db064d
.SS Configuration flags
Packit db064d
.\" Define the common option -t
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-t, \-\-timeout <timeout_ms>\fP override the default timeout for the solicited mads.
Packit db064d
.\" Define the common option -z
Packit db064d
.
Packit db064d
.INDENT 0.0
Packit db064d
.TP
Packit db064d
.B \fB\-\-outstanding_smps, \-o <val>\fP
Packit db064d
Specify the number of outstanding SMP\(aqs which should be issued during the scan
Packit db064d
.sp
Packit db064d
Default: 2
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option --node-name-map
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-\-node\-name\-map <node\-name\-map>\fP Specify a node name map.
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
This file maps GUIDs to more user friendly names.  See FILES section.
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.\" Define the common option -z
Packit db064d
.
Packit db064d
.sp
Packit db064d
\fB\-\-config, \-z  <config_file>\fP Specify alternate config file.
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
Default: @IBDIAG_CONFIG_PATH@/ibdiag.conf
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SH COMMON FILES
Packit db064d
.sp
Packit db064d
The following config files are common amongst many of the utilities.
Packit db064d
.\" Common text for the config file
Packit db064d
.
Packit db064d
.SS CONFIG FILE
Packit db064d
.sp
Packit db064d
@IBDIAG_CONFIG_PATH@/ibdiag.conf
Packit db064d
.sp
Packit db064d
A global config file is provided to set some of the common options for all
Packit db064d
tools.  See supplied config file for details.
Packit db064d
.\" Common text to describe the node name map file.
Packit db064d
.
Packit db064d
.SS NODE NAME MAP FILE FORMAT
Packit db064d
.sp
Packit db064d
The node name map is used to specify user friendly names for nodes in the
Packit db064d
output.  GUIDs are used to perform the lookup.
Packit db064d
.sp
Packit db064d
This functionality is provided by the opensm\-libs package.  See \fBopensm(8)\fP
Packit db064d
for the file location for your installation.
Packit db064d
.sp
Packit db064d
\fBGenerically:\fP
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.sp
Packit db064d
.nf
Packit db064d
.ft C
Packit db064d
# comment
Packit db064d
<guid> "<name>"
Packit db064d
.ft P
Packit db064d
.fi
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.sp
Packit db064d
\fBExample:\fP
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.sp
Packit db064d
.nf
Packit db064d
.ft C
Packit db064d
# IB1
Packit db064d
# Line cards
Packit db064d
0x0008f104003f125c "IB1 (Rack 11 slot 1   ) ISR9288/ISR9096 Voltaire sLB\-24D"
Packit db064d
0x0008f104003f125d "IB1 (Rack 11 slot 1   ) ISR9288/ISR9096 Voltaire sLB\-24D"
Packit db064d
0x0008f104003f10d2 "IB1 (Rack 11 slot 2   ) ISR9288/ISR9096 Voltaire sLB\-24D"
Packit db064d
0x0008f104003f10d3 "IB1 (Rack 11 slot 2   ) ISR9288/ISR9096 Voltaire sLB\-24D"
Packit db064d
0x0008f104003f10bf "IB1 (Rack 11 slot 12  ) ISR9288/ISR9096 Voltaire sLB\-24D"
Packit db064d
Packit db064d
# Spines
Packit db064d
0x0008f10400400e2d "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB\-12D"
Packit db064d
0x0008f10400400e2e "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB\-12D"
Packit db064d
0x0008f10400400e2f "IB1 (Rack 11 spine 1   ) ISR9288 Voltaire sFB\-12D"
Packit db064d
0x0008f10400400e31 "IB1 (Rack 11 spine 2   ) ISR9288 Voltaire sFB\-12D"
Packit db064d
0x0008f10400400e32 "IB1 (Rack 11 spine 2   ) ISR9288 Voltaire sFB\-12D"
Packit db064d
Packit db064d
# GUID   Node Name
Packit db064d
0x0008f10400411a08 "SW1  (Rack  3) ISR9024 Voltaire 9024D"
Packit db064d
0x0008f10400411a28 "SW2  (Rack  3) ISR9024 Voltaire 9024D"
Packit db064d
0x0008f10400411a34 "SW3  (Rack  3) ISR9024 Voltaire 9024D"
Packit db064d
0x0008f104004119d0 "SW4  (Rack  3) ISR9024 Voltaire 9024D"
Packit db064d
.ft P
Packit db064d
.fi
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.\" Common text to describe the Topology file.
Packit db064d
.
Packit db064d
.SS TOPOLOGY FILE FORMAT
Packit db064d
.sp
Packit db064d
The topology file format is human readable and largely intuitive.
Packit db064d
Most identifiers are given textual names like vendor ID (vendid), device ID
Packit db064d
(device ID), GUIDs of various types (sysimgguid, caguid, switchguid, etc.).
Packit db064d
PortGUIDs are shown in parentheses ().  For switches, this is shown on the
Packit db064d
switchguid line.  For CA and router ports, it is shown on the connectivity
Packit db064d
lines.  The IB node is identified followed by the number of ports and a quoted
Packit db064d
the node GUID.  On the right of this line is a comment (#) followed by the
Packit db064d
NodeDescription in quotes.  If the node is a switch, this line also contains
Packit db064d
whether switch port 0 is base or enhanced, and the LID and LMC of port 0.
Packit db064d
Subsequent lines pertaining to this node show the connectivity.   On the
Packit db064d
left is the port number of the current node.  On the right is the peer node
Packit db064d
(node at other end of link). It is identified in quotes with nodetype
Packit db064d
followed by \- followed by NodeGUID with the port number in square brackets.
Packit db064d
Further on the right is a comment (#).  What follows the comment is
Packit db064d
dependent on the node type.  If it it a switch node, it is followed by
Packit db064d
the NodeDescription in quotes and the LID of the peer node.  If it is a
Packit db064d
CA or router node, it is followed by the local LID and LMC and then
Packit db064d
followed by the NodeDescription in quotes and the LID of the peer node.
Packit db064d
The active link width and speed are then appended to the end of this
Packit db064d
output line.
Packit db064d
.sp
Packit db064d
An example of this is:
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
.sp
Packit db064d
.nf
Packit db064d
.ft C
Packit db064d
#
Packit db064d
# Topology file: generated on Tue Jun  5 14:15:10 2007
Packit db064d
#
Packit db064d
# Max of 3 hops discovered
Packit db064d
# Initiated from node 0008f10403960558 port 0008f10403960559
Packit db064d
Packit db064d
Non\-Chassis Nodes
Packit db064d
Packit db064d
vendid=0x8f1
Packit db064d
devid=0x5a06
Packit db064d
sysimgguid=0x5442ba00003000
Packit db064d
switchguid=0x5442ba00003080(5442ba00003080)
Packit db064d
Switch  24 "S\-005442ba00003080"         # "ISR9024 Voltaire" base port 0 lid 6 lmc 0
Packit db064d
[22]    "H\-0008f10403961354"[1](8f10403961355)         # "MT23108 InfiniHost Mellanox Technologies" lid 4 4xSDR
Packit db064d
[10]    "S\-0008f10400410015"[1]         # "SW\-6IB4 Voltaire" lid 3 4xSDR
Packit db064d
[8]     "H\-0008f10403960558"[2](8f1040396055a)         # "MT23108 InfiniHost Mellanox Technologies" lid 14 4xSDR
Packit db064d
[6]     "S\-0008f10400410015"[3]         # "SW\-6IB4 Voltaire" lid 3 4xSDR
Packit db064d
[12]    "H\-0008f10403960558"[1](8f10403960559)         # "MT23108 InfiniHost Mellanox Technologies" lid 10 4xSDR
Packit db064d
Packit db064d
vendid=0x8f1
Packit db064d
devid=0x5a05
Packit db064d
switchguid=0x8f10400410015(8f10400410015)
Packit db064d
Switch  8 "S\-0008f10400410015"          # "SW\-6IB4 Voltaire" base port 0 lid 3 lmc 0
Packit db064d
[6]     "H\-0008f10403960984"[1](8f10403960985)         # "MT23108 InfiniHost Mellanox Technologies" lid 16 4xSDR
Packit db064d
[4]     "H\-005442b100004900"[1](5442b100004901)        # "MT23108 InfiniHost Mellanox Technologies" lid 12 4xSDR
Packit db064d
[1]     "S\-005442ba00003080"[10]                # "ISR9024 Voltaire" lid 6 1xSDR
Packit db064d
[3]     "S\-005442ba00003080"[6]         # "ISR9024 Voltaire" lid 6 4xSDR
Packit db064d
Packit db064d
vendid=0x2c9
Packit db064d
devid=0x5a44
Packit db064d
caguid=0x8f10403960984
Packit db064d
Ca      2 "H\-0008f10403960984"          # "MT23108 InfiniHost Mellanox Technologies"
Packit db064d
[1](8f10403960985)     "S\-0008f10400410015"[6]         # lid 16 lmc 1 "SW\-6IB4 Voltaire" lid 3 4xSDR
Packit db064d
Packit db064d
vendid=0x2c9
Packit db064d
devid=0x5a44
Packit db064d
caguid=0x5442b100004900
Packit db064d
Ca      2 "H\-005442b100004900"          # "MT23108 InfiniHost Mellanox Technologies"
Packit db064d
[1](5442b100004901)     "S\-0008f10400410015"[4]         # lid 12 lmc 1 "SW\-6IB4 Voltaire" lid 3 4xSDR
Packit db064d
Packit db064d
vendid=0x2c9
Packit db064d
devid=0x5a44
Packit db064d
caguid=0x8f10403961354
Packit db064d
Ca      2 "H\-0008f10403961354"          # "MT23108 InfiniHost Mellanox Technologies"
Packit db064d
[1](8f10403961355)     "S\-005442ba00003080"[22]                # lid 4 lmc 1 "ISR9024 Voltaire" lid 6 4xSDR
Packit db064d
Packit db064d
vendid=0x2c9
Packit db064d
devid=0x5a44
Packit db064d
caguid=0x8f10403960558
Packit db064d
Ca      2 "H\-0008f10403960558"          # "MT23108 InfiniHost Mellanox Technologies"
Packit db064d
[2](8f1040396055a)     "S\-005442ba00003080"[8]         # lid 14 lmc 1 "ISR9024 Voltaire" lid 6 4xSDR
Packit db064d
[1](8f10403960559)     "S\-005442ba00003080"[12]                # lid 10 lmc 1 "ISR9024 Voltaire" lid 6 1xSDR
Packit db064d
.ft P
Packit db064d
.fi
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.sp
Packit db064d
When grouping is used, IB nodes are organized into chassis which are
Packit db064d
numbered. Nodes which cannot be determined to be in a chassis are
Packit db064d
displayed as "Non\-Chassis Nodes".  External ports are also shown on the
Packit db064d
connectivity lines.
Packit db064d
.SH UTILITIES LIST
Packit db064d
.SS Basic fabric conectivity
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibnetdiscover, iblinkinfo
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Node information
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibnodes, ibswitches, ibhosts, ibrouters
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Port information
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibportstate, ibaddr
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Switch Forwarding Table info
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibtracert, ibroute, dump_lfts, dump_mfts, check_lft_balance, ibfindnodesusing
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Performance counters
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibqueryerrors, perfquery
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Local HCA info
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibstat, ibstatus
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Connectivity check
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibping, ibsysstat
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Low level query tools
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: smpquery, smpdump, saquery, sminfo
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SS Fabric verification tools
Packit db064d
.INDENT 0.0
Packit db064d
.INDENT 3.5
Packit db064d
See: ibidsverify
Packit db064d
.UNINDENT
Packit db064d
.UNINDENT
Packit db064d
.SH BACKWARDS COMPATIBILITY SCRIPTS
Packit db064d
.sp
Packit db064d
The following scripts have been identified as redundant and/or lower performing
Packit db064d
as compared to the above scripts.  They are provided as legacy scripts when
Packit db064d
\-\-enable\-compat\-utils is specified at build time.
Packit db064d
.sp
Packit db064d
ibcheckerrors, ibclearcounters, ibclearerrors, ibdatacounters
Packit db064d
ibchecknet, ibchecknode, ibcheckport, ibcheckportstate,
Packit db064d
ibcheckportwidth, ibcheckstate, ibcheckwidth, ibswportwatch,
Packit db064d
ibprintca, ibprintrt, ibprintswitch, set_nodedesc.sh
Packit db064d
.SH AUTHORS
Packit db064d
.INDENT 0.0
Packit db064d
.TP
Packit db064d
.B Ira Weiny
Packit db064d
< \fI\%ira.weiny@intel.com\fP >
Packit db064d
.UNINDENT
Packit db064d
.\" Generated by docutils manpage writer.
Packit db064d
.