osmtest is a test program to validate InfiniBand subnet manager and
administration (SM/SA).
Default is to run all flows with the exception of the QoS flow.
osmtest provides a test suite for opensm.
osmtest has the following capabilities and testing flows:
It creates an inventory file of all available Nodes, Ports, and PathRecords,
including all their fields.
It verifies the existing inventory, with all the object fields, and matches it
to a pre-saved one.
A Multicast Compliancy test.
An Event Forwarding test.
A Service Record registration test.
An RMPP stress test.
A Small SA Queries stress test.
It is recommended that after installing opensm, the user should run
"osmtest -f c" to generate the inventory file, and
immediately afterwards run "osmtest -f a" to test OpenSM.
Another recommendation for osmtest usage is to create the inventory when the
IB fabric is stable, and occasionally
run "osmtest -v" to verify that nothing has changed.
OPTIONS
-f, --flow
This option directs osmtest to run a specific flow:
FLOW DESCRIPTION
c = create an inventory file with all nodes, ports and paths
a = run all validation tests (expecting an input inventory)
v = only validate the given inventory file
s = run service registration, deregistration, and lease test
e = run event forwarding test
f = flood the SA with queries according to the stress mode
m = multicast flow
q = QoS info: dump VLArb and SLtoVL tables
t = run trap 64/65 flow (this flow requires running of external tool)
(default is all flows except QoS)
-w, --wait
This option specifies the wait time for trap 64/65 in seconds
It is used only when running -f t - the trap 64/65 flow
(default to 10 sec)
-d, --debug
This option specifies a debug option.
These options are not normally needed.
The number following -d selects the debug
option to enable as follows:
OPT Description
--- -----------------
-d0 - Ignore other SM nodes
-d1 - Force single threaded dispatching
-d2 - Force log flushing after each log message
-d3 - Disable multicast support
-m, --max_lid
This option specifies the maximal LID number to be searched
for during inventory file build (default to 100)
-g, --guid
This option specifies the local port GUID value
with which OpenSM should bind. OpenSM may be
bound to 1 port at a time.
If GUID given is 0, OpenSM displays a list
of possible port GUIDs and waits for user input.
Without -g, OpenSM trys to use the default port.
-p, --port
This option displays a menu of possible local port GUID values
with which osmtest could bind
-i, --inventory
This option specifies the name of the inventory file
Normally, osmtest expects to find an inventory file,
which osmtest uses to validate real-time information
received from the SA during testing
If -i is not specified, osmtest defaults to the file
'osmtest.dat'
See -c option for related information
-s, --stress
This option runs the specified stress test instead
of the normal test suite
Stress test options are as follows:
OPT Description
--- -----------------
-s1 - Single-MAD response SA queries
-s2 - Multi-MAD (RMPP) response SA queries
-s3 - Multi-MAD (RMPP) Path Record SA queries
Without -s, stress testing is not performed
-M, --Multicast_Mode
This option specify length of Multicast test:
OPT Description
--- -----------------
-M1 - Short Multicast Flow (default) - single mode
-M2 - Short Multicast Flow - multiple mode
-M3 - Long Multicast Flow - single mode
-M4 - Long Multicast Flow - multiple mode
Single mode - Osmtest is tested alone, with no other
apps that interact with OpenSM MC
Multiple mode - Could be run with other apps using MC with
OpenSM. Without -M, default flow testing is performed
-t, --timeout
This option specifies the time in milliseconds
used for transaction timeouts.
Specifying -t 0 disables timeouts.
Without -t, OpenSM defaults to a timeout value of
200 milliseconds.
-l, --log_file
This option defines the log to be the given file.
By default the log goes to stdout.
-v, --verbose
This option increases the log verbosity level.
The -v option may be specified multiple times
to further increase the verbosity level.
See the -vf option for more information about.
log verbosity.
-V
This option sets the maximum verbosity level and
forces log flushing.
The -V is equivalent to '-vf 0xFF -d 2'.
See the -vf option for more information about.
log verbosity.
-vf
This option sets the log verbosity level.
A flags field must follow the -D option.
A bit set/clear in the flags enables/disables a
specific log level as follows:
BIT LOG LEVEL ENABLED
---- -----------------
0x01 - ERROR (error messages)
0x02 - INFO (basic messages, low volume)
0x04 - VERBOSE (interesting stuff, moderate volume)
0x08 - DEBUG (diagnostic, high volume)
0x10 - FUNCS (function entry/exit, very high volume)
0x20 - FRAMES (dumps all SMP and GMP frames)
0x40 - ROUTING (dump FDB routing information)
0x80 - currently unused.
Without -vf, osmtest defaults to ERROR + INFO (0x3)
Specifying -vf 0 disables all messages
Specifying -vf 0xFF enables all messages (see -V)
High verbosity levels may require increasing
the transaction timeout with the -t option