route(8) on Solnix vs Linux and the BSDs
On Solnix, route is the illumos route at /usr/sbin/route (also /sbin/route). Its main difference from Linux and the BSDs is -p: it saves a route to the list applied at boot, with -R choosing an alternate root and `route -p show` listing the saved routes.
The manual pages
What Solnix runs
A default Solnix system runs the illumos route at /usr/sbin/route and /sbin/route. No other variants are shipped. The page says route normally leaves the tables to a routing daemon such as in.routed(8) or in.ripngd(8). Only superusers can modify the tables, but the get operation is allowed for non-privileged users.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| all four | persistent routes (-p, -R) | Only Solnix route has -p, which applies the change to the live table and then to the saved list used at startup. -R root-dir changes only that saved list, and only together with -p. The other pages in the bundle show no equivalent option.Source: Solnix route(8) -p, -R; Linux/FreeBSD/OpenBSD/NetBSD route(8) OPTIONS |
| FreeBSD | meaning of show | On Solnix, show displays the routes saved for system startup and works only with -p. On FreeBSD, show is another name for get, which looks up the route for a destination.Source: Solnix route(8) Subcommands (show); FreeBSD route(8) commands (show) |
| NetBSD | meaning of show | On NetBSD, show prints the live routing table, similar to netstat -r. On Solnix, show prints only the saved startup routes and requires -p.Source: NetBSD route(8) commands (show); Solnix route(8) show |
| Linux | command language | Linux route has only add and del, with keyword arguments (gw, netmask, metric, dev). Run with neither, it displays the table. Solnix has add, change, delete, flush, get, monitor and show, and takes -inet/-inet6/-net/-host/-interface modifiers. Its page does not say what a bare route does.Source: Linux route(8) SYNOPSIS, DESCRIPTION; Solnix route(8) SYNOPSIS, Subcommands |
| Linux | showing the table and -e | Linux route prints the table by default and -e switches to netstat-format output. The Solnix page documents no table-listing form other than `route -p show` (saved routes). It documents `get` for single lookups.Source: Linux route(8) DESCRIPTION, -e; Solnix route(8) Subcommands (get, show) |
| FreeBSD, OpenBSD, NetBSD | -f flag | Solnix -f flushes gateway entries before running the subcommand. The inet or inet6 modifier right after -f picks the table, and IPv4 is the default. NetBSD -f is similar. FreeBSD and OpenBSD have no -f and use the flush command only.Source: Solnix route(8) -f; NetBSD route(8) -f; FreeBSD route(8) SYNOPSIS; OpenBSD route(8) SYNOPSIS |
| FreeBSD, OpenBSD, NetBSD | -d and -t test options | Solnix has neither -d nor -t. FreeBSD and OpenBSD -d means debug-only, with no change made to the table. NetBSD -d means turn on debugging, and -t means test only. FreeBSD and OpenBSD -t write messages to /dev/null instead of a socket.Source: Solnix route(8) OPTIONS; FreeBSD route(8) -d, -t; OpenBSD route(8) -d, -t; NetBSD route(8) -d, -t |
| FreeBSD, OpenBSD, NetBSD | -q scope | Solnix -q suppresses all output. FreeBSD -q suppresses output only from add, change, delete and flush. NetBSD -q covers commands that manipulate the routing table. OpenBSD -q suppresses all output.Source: Solnix route(8) -q; FreeBSD route(8) -q; NetBSD route(8) -q; OpenBSD route(8) -q |
| FreeBSD, OpenBSD | jails and alternate routing tables | FreeBSD route -j runs inside a jail, and the FreeBSD commands take -fib number. OpenBSD route -T rtable selects an alternate routing table, and `route exec` runs a command bound to one. The Solnix synopsis has neither -j nor -T.Source: FreeBSD route(8) -j, -fib; OpenBSD route(8) -T, exec; Solnix route(8) SYNOPSIS |
| NetBSD | NetBSD-only options | NetBSD has -L (hide link-layer entries), -S (align flags), -s (short get output) and -T (show tags), plus flushall and `monitor -c count`. Solnix has none of these. Its monitor takes only an optional -inet or -inet6.Source: NetBSD route(8) -L, -S, -s, -T, commands, monitor; Solnix route(8) monitor syntax |
| FreeBSD, OpenBSD, NetBSD | delete subcommand spelling | The Solnix page lists only delete. FreeBSD documents del as another name for delete, and OpenBSD documents del[ete]. Linux accepts del but has no delete in its synopsis. Source: Solnix route(8) Subcommands; FreeBSD route(8) commands (del); OpenBSD route(8) del[ete]; Linux route(8) SYNOPSIS |
| Linux | directly reachable routes | Solnix marks a route as reachable through an interface with the -interface or -iface modifier, and the gateway operand names that interface's address. Linux uses `dev If`, which is optional unless the interface must be forced.Source: Solnix route(8) Destinations and Gateways (-interface, -iface); Linux route(8) dev If |
Everyday tasks
| Task | Solnix | Linux | FreeBSD | OpenBSD | NetBSD |
|---|---|---|---|---|---|
| look up the route for a destination | route get destination | — | route get destination | route get destination | route get destination |
| add a route | route add destination gateway | route add target gw Gw | route add destination gateway | route add destination gateway | route add destination gateway |
| add a route that survives reboot | route -p add destination gateway | — | — | — | — |
| list routes saved for boot | route -p show | — | — | — | — |
| remove all gateway routes | route flush | — | route flush | route flush | route flush |
| watch routing changes | route monitor | — | route monitor | route monitor | route monitor |
Standards
- POSIX: route is not a POSIX.1-2024 utility.
- Solnix: The Solnix page text in the bundle has no STANDARDS or interface-stability section.
Writing portable scripts
- Use
-nand the add, delete and get subcommands with an explicit destination and gateway. Do not rely on bare `route`, show, or del, which differ across Solnix, Linux and the BSDs. - Do not use
-p,-f,-dor-tin portable scripts.-pexists only on Solnix, and-d,-tand-fdiffer or are absent elsewhere.
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.