1INFINIBAND-DIAGS(8) Open IB Diagnostics INFINIBAND-DIAGS(8)
2
3
4
6 INFINIBAND-DIAGS -
7
9 DESCRIPTION
10 infiniband-diags is a set of utilities designed to help configure,
11 debug, and maintain infiniband fabrics. Many tools and utilities are
12 provided. Some with similar functionality.
13
14 The base utilities use directed route MAD's to perform their opera‐
15 tions. They may therefore work even in unconfigured subnets. Other,
16 higher level utilities, require LID routed MAD's and to some extent
17 SA/SM access.
18
19 THE USE OF SMPs (QP0)
20 Many of the tools in this package rely on the use of SMPs via QP0 to
21 acquire data directly from the SMA. While this mode of operation is
22 not technically in compliance with the InfiniBand specification, prac‐
23 tical experience has found that this level of diagnostics is valuable
24 when working with a fabric which is broken or only partially config‐
25 ured. For this reason many of these tools may require the use of an
26 MKey or operation from Virtual Machines may be restricted for security
27 reasons.
28
29 COMMON OPTIONS
30 Most OpenIB diagnostics take some of the following common flags. The
31 exact list of supported flags per utility can be found in the documen‐
32 tation for those commands.
33
34 Addressing Flags
35 The -D and -G option have two forms:
36
37 -D, --Direct The address specified is a directed route
38
39 Examples:
40 [options] -D [options] "0" # self port
41 [options] -D [options] "0,1,2,1,4" # out via port 1, then 2, ...
42
43 (Note the second number in the path specified must match the port being
44 used. This can be specified using the port selection flag '-P' or the
45 port found through the automatic selection process.)
46
47 -D, --Direct <dr_path> The address specified is a directed route
48
49 Examples:
50 -D "0" # self port
51 -D "0,1,2,1,4" # out via port 1, then 2, ...
52
53 (Note the second number in the path specified must match the port being
54 used. This can be specified using the port selection flag '-P' or the
55 port found through the automatic selection process.)
56
57 -G, --Guid The address specified is a Port GUID
58
59 --port-guid, -G <port_guid> Specify a port_guid
60
61 -L, --Lid The address specified is a LID
62
63 -s, --sm_port <smlid> use 'smlid' as the target lid for SA queries.
64
65 Port Selection flags
66 -C, --Ca <ca_name> use the specified ca_name.
67
68 -P, --Port <ca_port> use the specified ca_port.
69
70 Local port Selection
71 Multiple port/Multiple CA support: when no IB device or port is speci‐
72 fied (see the "local umad parameters" below), the libibumad library
73 selects the port to use by the following criteria:
74
75 1. the first port that is ACTIVE.
76
77 2. if not found, the first port that is UP (physical link up).
78
79 If a port and/or CA name is specified, the libibumad library
80 attempts to fulfill the user request, and will fail if it is not
81 possible.
82
83 For example:
84
85 ibaddr # use the first port (criteria #1 above)
86 ibaddr -C mthca1 # pick the best port from "mthca1" only.
87 ibaddr -P 2 # use the second (active/up) port from the first available IB device.
88 ibaddr -C mthca0 -P 2 # use the specified port only.
89
90 Debugging flags
91 -d raise the IB debugging level. May be used several times (-ddd
92 or -d -d -d).
93
94 -e show send and receive errors (timeouts and others)
95
96 -h, --help show the usage message
97
98 -v, --verbose
99 increase the application verbosity level. May be used several
100 times (-vv or -v -v -v)
101
102 -V, --version show the version info.
103
104 Configuration flags
105 -t, --timeout <timeout_ms> override the default timeout for the
106 solicited mads.
107
108 --outstanding_smps, -o <val>
109 Specify the number of outstanding SMP's which should be issued
110 during the scan
111
112 Default: 2
113
114 --node-name-map <node-name-map> Specify a node name map.
115 This file maps GUIDs to more user friendly names. See FILES sec‐
116 tion.
117
118 --config, -z <config_file> Specify alternate config file.
119 Default: /etc/infiniband-diags/ibdiag.conf
120
121 COMMON FILES
122 The following config files are common amongst many of the utilities.
123
124 CONFIG FILE
125 /etc/infiniband-diags/ibdiag.conf
126
127 A global config file is provided to set some of the common options for
128 all tools. See supplied config file for details.
129
130 NODE NAME MAP FILE FORMAT
131 The node name map is used to specify user friendly names for nodes in
132 the output. GUIDs are used to perform the lookup.
133
134 This functionality is provided by the opensm-libs package. See
135 opensm(8) for the file location for your installation.
136
137 Generically:
138
139 # comment
140 <guid> "<name>"
141
142 Example:
143
144 # IB1
145 # Line cards
146 0x0008f104003f125c "IB1 (Rack 11 slot 1 ) ISR9288/ISR9096 Voltaire sLB-24D"
147 0x0008f104003f125d "IB1 (Rack 11 slot 1 ) ISR9288/ISR9096 Voltaire sLB-24D"
148 0x0008f104003f10d2 "IB1 (Rack 11 slot 2 ) ISR9288/ISR9096 Voltaire sLB-24D"
149 0x0008f104003f10d3 "IB1 (Rack 11 slot 2 ) ISR9288/ISR9096 Voltaire sLB-24D"
150 0x0008f104003f10bf "IB1 (Rack 11 slot 12 ) ISR9288/ISR9096 Voltaire sLB-24D"
151
152 # Spines
153 0x0008f10400400e2d "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D"
154 0x0008f10400400e2e "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D"
155 0x0008f10400400e2f "IB1 (Rack 11 spine 1 ) ISR9288 Voltaire sFB-12D"
156 0x0008f10400400e31 "IB1 (Rack 11 spine 2 ) ISR9288 Voltaire sFB-12D"
157 0x0008f10400400e32 "IB1 (Rack 11 spine 2 ) ISR9288 Voltaire sFB-12D"
158
159 # GUID Node Name
160 0x0008f10400411a08 "SW1 (Rack 3) ISR9024 Voltaire 9024D"
161 0x0008f10400411a28 "SW2 (Rack 3) ISR9024 Voltaire 9024D"
162 0x0008f10400411a34 "SW3 (Rack 3) ISR9024 Voltaire 9024D"
163 0x0008f104004119d0 "SW4 (Rack 3) ISR9024 Voltaire 9024D"
164
165 TOPOLOGY FILE FORMAT
166 The topology file format is human readable and largely intuitive. Most
167 identifiers are given textual names like vendor ID (vendid), device ID
168 (device ID), GUIDs of various types (sysimgguid, caguid, switchguid,
169 etc.). PortGUIDs are shown in parentheses (). For switches, this is
170 shown on the switchguid line. For CA and router ports, it is shown on
171 the connectivity lines. The IB node is identified followed by the num‐
172 ber of ports and a quoted the node GUID. On the right of this line is
173 a comment (#) followed by the NodeDescription in quotes. If the node
174 is a switch, this line also contains whether switch port 0 is base or
175 enhanced, and the LID and LMC of port 0. Subsequent lines pertaining
176 to this node show the connectivity. On the left is the port number of
177 the current node. On the right is the peer node (node at other end of
178 link). It is identified in quotes with nodetype followed by - followed
179 by NodeGUID with the port number in square brackets. Further on the
180 right is a comment (#). What follows the comment is dependent on the
181 node type. If it it a switch node, it is followed by the NodeDescrip‐
182 tion in quotes and the LID of the peer node. If it is a CA or router
183 node, it is followed by the local LID and LMC and then followed by the
184 NodeDescription in quotes and the LID of the peer node. The active
185 link width and speed are then appended to the end of this output line.
186
187 An example of this is:
188
189 #
190 # Topology file: generated on Tue Jun 5 14:15:10 2007
191 #
192 # Max of 3 hops discovered
193 # Initiated from node 0008f10403960558 port 0008f10403960559
194
195 Non-Chassis Nodes
196
197 vendid=0x8f1
198 devid=0x5a06
199 sysimgguid=0x5442ba00003000
200 switchguid=0x5442ba00003080(5442ba00003080)
201 Switch 24 "S-005442ba00003080" # "ISR9024 Voltaire" base port 0 lid 6 lmc 0
202 [22] "H-0008f10403961354"[1](8f10403961355) # "MT23108 InfiniHost Mellanox Technologies" lid 4 4xSDR
203 [10] "S-0008f10400410015"[1] # "SW-6IB4 Voltaire" lid 3 4xSDR
204 [8] "H-0008f10403960558"[2](8f1040396055a) # "MT23108 InfiniHost Mellanox Technologies" lid 14 4xSDR
205 [6] "S-0008f10400410015"[3] # "SW-6IB4 Voltaire" lid 3 4xSDR
206 [12] "H-0008f10403960558"[1](8f10403960559) # "MT23108 InfiniHost Mellanox Technologies" lid 10 4xSDR
207
208 vendid=0x8f1
209 devid=0x5a05
210 switchguid=0x8f10400410015(8f10400410015)
211 Switch 8 "S-0008f10400410015" # "SW-6IB4 Voltaire" base port 0 lid 3 lmc 0
212 [6] "H-0008f10403960984"[1](8f10403960985) # "MT23108 InfiniHost Mellanox Technologies" lid 16 4xSDR
213 [4] "H-005442b100004900"[1](5442b100004901) # "MT23108 InfiniHost Mellanox Technologies" lid 12 4xSDR
214 [1] "S-005442ba00003080"[10] # "ISR9024 Voltaire" lid 6 1xSDR
215 [3] "S-005442ba00003080"[6] # "ISR9024 Voltaire" lid 6 4xSDR
216
217 vendid=0x2c9
218 devid=0x5a44
219 caguid=0x8f10403960984
220 Ca 2 "H-0008f10403960984" # "MT23108 InfiniHost Mellanox Technologies"
221 [1](8f10403960985) "S-0008f10400410015"[6] # lid 16 lmc 1 "SW-6IB4 Voltaire" lid 3 4xSDR
222
223 vendid=0x2c9
224 devid=0x5a44
225 caguid=0x5442b100004900
226 Ca 2 "H-005442b100004900" # "MT23108 InfiniHost Mellanox Technologies"
227 [1](5442b100004901) "S-0008f10400410015"[4] # lid 12 lmc 1 "SW-6IB4 Voltaire" lid 3 4xSDR
228
229 vendid=0x2c9
230 devid=0x5a44
231 caguid=0x8f10403961354
232 Ca 2 "H-0008f10403961354" # "MT23108 InfiniHost Mellanox Technologies"
233 [1](8f10403961355) "S-005442ba00003080"[22] # lid 4 lmc 1 "ISR9024 Voltaire" lid 6 4xSDR
234
235 vendid=0x2c9
236 devid=0x5a44
237 caguid=0x8f10403960558
238 Ca 2 "H-0008f10403960558" # "MT23108 InfiniHost Mellanox Technologies"
239 [2](8f1040396055a) "S-005442ba00003080"[8] # lid 14 lmc 1 "ISR9024 Voltaire" lid 6 4xSDR
240 [1](8f10403960559) "S-005442ba00003080"[12] # lid 10 lmc 1 "ISR9024 Voltaire" lid 6 1xSDR
241
242 When grouping is used, IB nodes are organized into chassis which are
243 numbered. Nodes which cannot be determined to be in a chassis are dis‐
244 played as "Non-Chassis Nodes". External ports are also shown on the
245 connectivity lines.
246
247 Utilities list
248 Basic fabric conectivity
249 See: ibnetdiscover, iblinkinfo
250
251 Node information
252 See: ibnodes, ibswitches, ibhosts, ibrouters
253
254 Port information
255 See: ibportstate, ibaddr
256
257 Switch Forwarding Table info
258 See: ibtracert, ibroute, dump_lfts, dump_mfts, check_lft_balance,
259 ibfindnodesusing
260
261 Peformance counters
262 See: ibqueryerrors, perfquery
263
264 Local HCA info
265 See: ibstat, ibstatus
266
267 Connectivity check
268 See: ibping, ibsysstat
269
270 Low level query tools
271 See: smpquery, smpdump, saquery, sminfo
272
273 Fabric verification tools
274 See: ibidsverify
275
276 Backwards compatibility scripts
277 The following scripts have been identified as redundant and/or lower
278 performing as compared to the above scripts. They are provided as
279 legacy scripts when --enable-compat-utils is specified at build time.
280
281 ibcheckerrors, ibclearcounters, ibclearerrors, ibdatacounters ibcheck‐
282 net, ibchecknode, ibcheckport, ibcheckportstate, ibcheckportwidth,
283 ibcheckstate, ibcheckwidth, ibswportwatch, ibprintca, ibprintrt,
284 ibprintswitch, set_nodedesc.sh
285
286 AUTHORS
287 Ira Weiny
288 < ira.weiny@intel.com >
289
290
291
292
293 INFINIBAND-DIAGS(8)