spray(8) on Solnix vs Linux and the BSDs
On Solnix, spray is the illumos /usr/sbin/spray. It sends a one-way stream of RPC packets to a host and reports how many arrived and the transfer rate. Unlike FreeBSD and NetBSD, it has a -t nettype option, and it documents defaults for -c, -d and -l. The page says the output is not a valid network benchmark.
The manual pages
- Solnix: spray(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: spray(8) 15.1-RELEASE
- NetBSD: spray(8) 11.0
What Solnix runs
A default Solnix system runs the illumos spray at /usr/sbin/spray. No other variants are shipped. The page's SEE ALSO lists rpc(3NSL) and attributes(7), and the bundle does not include their text.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, NetBSD | -t nettype option | Solnix spray has -t nettype to choose a class of transports, defaulting to netpath. The FreeBSD and NetBSD synopses have no -t option.Source: Solnix spray(8) -t, SYNOPSIS; FreeBSD spray(8) SYNOPSIS; NetBSD spray(8) SYNOPSIS |
| FreeBSD, NetBSD | default packet count | Solnix documents the -c default: the number of packets that makes the total stream 100000 bytes. The FreeBSD and NetBSD pages only say -c sends count packets and give no default.Source: Solnix spray(8) -c; FreeBSD spray(8) -c; NetBSD spray(8) -c |
| FreeBSD, NetBSD | default delay and length | Solnix documents a default delay of 0 microseconds and a default length of 86 bytes, the size of the RPC and UDP headers. The FreeBSD and NetBSD pages state no defaults for -d or -l.Source: Solnix spray(8) -d, -l; FreeBSD spray(8) -d, -l; NetBSD spray(8) -d, -l |
| FreeBSD, NetBSD | -l above 1514 bytes | The Solnix page says that when length is greater than 1514, the RPC call no longer fits in one Ethernet packet, so length no longer maps simply to Ethernet packet size. The FreeBSD and NetBSD pages do not say this. Source: Solnix spray(8) -l; FreeBSD spray(8) -l; NetBSD spray(8) -l |
| FreeBSD, NetBSD | transport and benchmark caveat | The Solnix page says spray uses unreliable connectionless transports such as UDP. It says spray is not useful as a benchmark and can report many drops when it sends faster than packets can be buffered locally. The BSD pages describe it as a network testing and measurement tool and warn it can be hard on a network. Source: Solnix spray(8) DESCRIPTION; FreeBSD spray(8) DESCRIPTION; NetBSD spray(8) DESCRIPTION |
| NetBSD | multiple hosts | The NetBSD synopsis ends in host ..., which suggests more than one host can be given. The Solnix and FreeBSD synopses take a single host. The NetBSD text does not otherwise explain the ellipsis. Source: NetBSD spray(8) SYNOPSIS; Solnix spray(8) SYNOPSIS; FreeBSD spray(8) SYNOPSIS |
| FreeBSD, NetBSD | related server page | The FreeBSD and NetBSD pages point to rpc.sprayd(8) in SEE ALSO. The Solnix page does not list a server page and points to rpc(3NSL) and attributes(7). Source: FreeBSD spray(8) SEE ALSO; NetBSD spray(8) SEE ALSO; Solnix spray(8) SEE ALSO |
| Linux | no Linux counterpart in the bundle | The bundle has no Linux spray page, so this note makes no claim about Linux behaviour or availability. Source: Bundle header (counterparts are FreeBSD and NetBSD only) |
Standards
- POSIX: spray is not a POSIX.1-2024 utility.
Writing portable scripts
- Use only
-c,-dand-l, the options all three pages document. Leave out-t, which only Solnix documents. - Give
-c,-dand-lexplicitly: the BSD pages state no defaults for them, while the Solnix defaults are 100000 total bytes, 0 microseconds and 86 bytes.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.