Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Exit statuses

udpstp client exits with the ErrorStatus that OB-UDPST reports, except that a Test that completed with only warnings exits 0. In JSON results the same number is ErrorStatus, warnings included. Generated from the documentation of crates/udpstp/src/exit.rs.

ErrorStatusMeaning
0The Test completed, with the STOP exchange or when its Test Interval ran out
49Ours, JSON only, the last warning code, where OB-UDPST won’t add one: the Test completed without a valid Maximum IP-Layer Capacity (no Sub-Interval met the Performance Criterion); it exits 0
2-6The Test completed with a warning (JSON only; it exits 0), in order: 4 nothing received for 1 s at some point (WARN_LOC_STOPPED), 5 the peer said it had stopped receiving (WARN_REM_STOPPED), 3 the peer missed Status PDUs (WARN_REM_STATUS), 2 Status PDUs never arrived (WARN_LOC_STATUS), 6 invalid PDUs (WARN_RX_INVPDU); the first of these that applies
50The configuration or command line is invalid
51The key file can’t be read or is invalid
75The Client or Server couldn’t start
100 + codeThe Server refused the Setup Request with that cmdResponse; 100 alone for a code RFC 9946 doesn’t define, 107 or 108 for a Setup Response that failed verification or the time window
150 + codeThe same for the Activation exchange: 152 for BADPARAM, 150 for an undefined code, 157 or 158 for a response that failed verification
200The Test didn’t complete: no answer from the Server in time, or the Watchdog ended it (ERROR_CONN_MIN, as OB-UDPST ends up reporting both)
201Ours: the Server coerced a parameter the Client was told to refuse
202Ours: the Server set a parameter the Client can’t run with
203Ours: the Servers gave a Multi-Connection Test’s Test Connections different parameters
204Ours: the Client user interrupted the running Test (Ctrl-C, or a signal to stop), or a write to its standard output failed, while the Test ran or with its final results. On Unix a Client stopped by a signal then dies of it, so a shell sees 128 plus the signal (130 for SIGINT, 143 for SIGTERM, 129 for SIGHUP); 204 is then the JSON ErrorStatus, unless every Test Connection had already ended, when it reflects the Test. On Windows, and for a failed write, the Client exits 204
255Any other error

A Multi-Connection Test reports as OB-UDPST does: once any Test Connection completed, success with the most severe warning of all; if none did, the first Test Connection’s error, by mcIndex, or 200 when none had one of its own (ERROR_CONN_MIN, which keeps an earlier error).

Our own codes sit in OB-UDPST’s connection-error range (200 plus an offset), which uses only 200, away from the ranges that add an IANA registered cmdResponse. Codes above 128 read like a shell’s “killed by signal” status; that comes with matching OB-UDPST. OB-UDPST keeps the last warning and lets a warning replace an error; we keep the most severe.

Conformance Records: exit-zero-with-warnings, exit-own-error-statuses, exit-most-severe-warning, client-interrupt.