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.

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 withTopicWhat differs
FreeBSD, NetBSD-t nettype optionSolnix 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, NetBSDdefault packet countSolnix 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, NetBSDdefault delay and lengthSolnix 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 bytesThe 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, NetBSDtransport and benchmark caveatThe 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
NetBSDmultiple hostsThe 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, NetBSDrelated server pageThe 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
Linuxno Linux counterpart in the bundleThe 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, -d and -l, the options all three pages document. Leave out -t, which only Solnix documents.
  • Give -c, -d and -l explicitly: 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.