OSMTEST(8)

✨ NAME ✨

osmtest β€” the InfiniBand subnet manager and administration (SM/SA) test program, bestie πŸ’…


🌸 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 πŸ¦‹

okay so osmtest is literally a test program that validates your InfiniBand subnet manager and administration (SM/SA). it's giving "quality control but make it slay". πŸ’–

by default it runs all the flows, with the one exception of the QoS flow. no cap.

osmtest provides a test suite for opensm. periodt.

here's what it can do, the full vibe check of its 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. there's a Multicast Compliancy test. an Event Forwarding test. a Service Record registration test. an RMPP stress test. and a Small SA Queries stress test. iconic behavior honestly. ✨

recommendation time, bestie: after installing opensm, you 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: create the inventory when the IB fabric is stable, and occasionally run osmtest -v to verify that nothing has changed. main character maintenance energy. πŸ‘‘


πŸ’… OPTIONS πŸ’…

  • -f, --flow β€” directs osmtest to run a specific flow, babes:
    • 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 β€” specifies the wait time for trap 64/65 in seconds. it's only used when you're running -f t, the trap 64/65 flow (default to 10 sec). ⏳
  • -d, --debug β€” specifies a debug option. these options are not normally needed, so don't come for them unless you must. the number following -d selects the debug option to enable, like so:
    • -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 β€” specifies the maximal LID number to be searched for during inventory file build (default to 100).
  • -g, --guid β€” specifies the local port GUID value with which OpenSM should bind. OpenSM may be bound to 1 port at a time. if the GUID given is 0, OpenSM displays a list of possible port GUIDs and waits for user input. without -g, OpenSM tries to use the default port.
  • -p, --port β€” displays a menu of possible local port GUID values with which osmtest could bind. cute little picker, go off. πŸŽ€
  • -i, --inventory β€” 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 the -f c option for related information.
  • -s, --stress β€” runs the specified stress test instead of the normal test suite. stress test options are as follows:
    • -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. no stress, no mess. 😌

  • -M, --Multicast_Mode β€” specifies the length of the Multicast test:
    • -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 β€” 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 β€” defines the log to be the given file. by default the log goes to stdout.
  • -v, --verbose β€” 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. stack 'em up, girl. πŸ”₯
  • -V β€” 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 β€” 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, like this:
    • 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. bye bestie! 🫢

🌈 AUTHORS 🌈

  • Hal Rosenstock <hal.rosenstock@gmail.com>
  • Eitan Zahavi <eitan@mellanox.co.il>

and that's the whole page, bestie!! πŸ’–βœ¨ this lil masterpiece is brought to you by OpenIB, dated March 9, 2013 β€” go forth and test those fabrics, you absolute icon πŸ‘‘πŸ’