[openib-general] [RFC] Proposed OpenIB Diagnostic Tools
Hal Rosenstock
halr at voltaire.com
Tue Nov 30 08:34:11 PST 2004
Hi,
Attached is an initial proposal for diagnostic tools. They fall into two
categories: host and network. Applications (or scripts) and library
support would be supplied.
This is an initial writeup on the high level descriptions of the tools
and an initial syntax. All comments welcome.
BTW, are there coding guidelines for user space ?
Note that the implementation of these tools will take a back seat to
getting the OpenSM up and running with gen2.
At some point soon, I will put a copy of this in the gen2 tree perhaps
at /gen2/trunk/src/userspace/diags
-- Hal
-------------- next part --------------
Diagnostic Tools
11/29/04
user space applications (also library support)
two categories: host and network
Host Oriented Diagnostic Tools
1. ibstatus
Description:
ibstatus displays basic information obtained from the local IB driver.
-v enables verbose mode. Normal output includes LID, SMLID, port state,
link width active, and port physical state. Verbose includes all sysfs
supported parameters for that interface and port.
Syntax:
ibstatus [-v] [-I mthca0] [-p port]
Dependencies:
sysfs support in mthca
2. ibroute
Description:
ibroute uses SMPs to display the forwarding tables (unicast
(LinearForwardingTable or LFT) or multicast (MulticastForwardingTable or MFT))
for the specified LID.
Syntax:
ibroute [-multi] [-m mkey] [-pa path] [-I mthca0] [-p port] LID
Dependencies:
user MAD access, SMA
3. ibtracert
Description:
ibtracert uses SMPs to trace the path from a source GID/LID to a
destination GID/LID. The source GID/LID must be local to the node.
Each hop along the path is displayed until the destination is reached or
a hop does not respond. By using -mg and/or -ml options, multicast path
tracing can be performed between source and destination nodes.
Syntax:
ibtracert [-m mkey] [-pa path] [-sg SGID] [-sl SLID] [-dg DGID] [-dl DLID] \
[-mg MGID] [-ml MLID] [-I mthca0] [-p port]
Dependencies:
user MAD access, SMA
4. smpquery
Description:
smpquery allows a basic subset of standard SMP queries including the following:
local information (LID, GID, etc.), node information (from NodeDescription,
NodeInfo, and possibly SwitchInfo if node is a switch), port information
(port address and state), and port parameters (SLtoVLMappingTable,
VLArbitrationTable, HOQLife, ...).
Syntax:
smpquery [-m mkey] [-l LID] [-pa path] [-I mthca0] [-p port] \
[-l] [-n] [-pi] [-pp]
Dependencies:
User MAD access
5. smpdump
Description:
smpdump is a general purpose SMP utility which gets SM attributes from a
specified SMA. The result is dumped as hex (-x) or string (-s), with hex
as the default.
Syntax:
smpdump [-m mkey] [-l LID] [-p path] [-I mthca0] [-p port] \
[-a attributeID] [-am attributeModifier] [-s] [-x]
Dependencies:
User MAD access
6. perfquery
Description:
perfquery uses PerfMgt GMPs to obtain the PortCounters (basic performance
and error counters) from the PMA at the node specified. -r resets these
counters after obtaining them.
Syntax:
perfquery [-I mthca0] [-p port] [-r] [-g GID] LID
Dependencies:
User MAD access, PMA
7. ibping
Description:
ibping uses UD transport to validate connectivity between IB nodes.
It is run as client/server (daemon). -v option uses vendor MADs rather than
normal UD transport.
Syntax:
ibping [-d] [-v] [-c count] [-i interval] [-s packetsize] \
[-I mthca0] [-p port] [-q qkey] [-g DGID] [-qp dqp] [-dl DLID]
-d: run as daemon (server)
Dependencies:
user MAD access
Network Oriented Diagnostics
8. ibnetdiscover
Description:
ibnetdiscover performs IB subnet discovery and outputs a human readable
topology file. GUIDs, node types, and port numbers are displayed
as well as port LIDs and NodeDescriptions. All nodes (and links) are displayed
(full topology).
Syntax:
ibnetdiscover [-I mthca0] [-p port] [-o topology-filename]
Dependencies:
user MAD access
Future versions of this file will be annotated with additional information
including system guid, system type, internal to physical mapping, and physical
location information (blade or ASIC number, etc.).
9. ibhosts
Description:
ibhosts either walks the IB subnet topology or uses an already saved topology
file and extracts the HCA nodes.
Syntax:
ibhosts [-I mthca0] [-p port] [-i topology-filename] [-o ibhosts-filename]
Dependencies:
user MAD access, ibnetdiscover
10. ibswitches
Description:
ibswitches either walks the IB subnet topology or uses an already saved
topology file and extracts the IB switches.
Syntax:
ibswitches [-I mthca0] [-p port] \
[-i topology-filename] [-o ibswitches-filename]
Dependencies:
user MAD access, ibnetdiscover
11. ibnetverify
Description:
ibnetverify uses a full topology file that was created by ibnetdiscover,
scans the network to see if the current topology matches or not displaying
any discrepancies, and validates the connectivity and reports errors
(from port counters).
Syntax:
ibnetverify -f filename [-I mthca0] [-p port]
Dependencies:
user MAD access, ibnetdiscover
More information about the general
mailing list