---
name: "osmtest"
section: "8"
platform: "linux"
package: "opensm"
version: "3.3.23-3.1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/osmtest"
---

# osmtest(8)

InfiniBand subnet manager and administration (SM/SA) test program

## NAME

osmtest - InfiniBand subnet manager and administration (SM/SA) test program

## SYNOPSIS

**osmtest** \[-f(low) \<c\|a\|v\|s\|e\|f\|m\|q\|t\>\] \[-w(ait) \<trap\_wait\_time\>\] \[-d(ebug) \<number\>\] \[-m(ax\_lid) \<LID in hex\>\] \[-g(uid)\[=\]\<GUID in hex\>\] \[-p(ort)\] \[-i(nventory) \<filename\>\] \[-s(tress)\] \[-M(ulticast\_Mode)\] \[-t(imeout) \<milliseconds\>\] \[-l \| --log\_file\] \[-v\] \[-vf \<flags\>\] \[-h(elp)\]

## DESCRIPTION

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\
    \-d4  - Use full world path record queries

- **-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 -f 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 (RMPP) response SA queries\
    \-s2  - Multi-MAD (RMPP) response SA queries\
    \-s3  - Multi-MAD (RMPP) Path Record SA queries\
    \-s4  - Single-MAD (non RMPP) get 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

- **-h**, **--help**

  Display this usage info then exit.

## AUTHORS

- Hal Rosenstock

  \<*hal.rosenstock@gmail.com*\>

- Eitan Zahavi

  \<*eitan@mellanox.co.il*\>
