ippool(8) on Solnix vs Linux and the BSDs

On Solnix, ippool is the illumos IP Filter pool tool at /usr/sbin/ippool. Unlike the FreeBSD and NetBSD versions, it can target a zone with -z or -G, and it has -h to list hash pools. It has no -T (node expiry) and no -D (dump).

What Solnix runs

A default Solnix system runs the illumos ippool at /usr/sbin/ippool, published in pkgs.solnix.illumos-world-man. No other variants are shipped. The bundle has no Linux counterpart page.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSDzone selection (-z, -G)Solnix ippool takes -z zonename (in-zone pools) or -G zonename (global-zone-controlled pools). Both are available only in the Global Zone. The FreeBSD and NetBSD pages have no zone options.
Source: Solnix ippool(8) SYNOPSIS, Global Options -z, -G; FreeBSD ippool(8) SYNOPSIS; NetBSD ippool(8) SYNOPSIS
FreeBSD, NetBSD-h lists hash poolsSolnix has -h to list pools of type hash, and -l lists tree pools. The FreeBSD and NetBSD pages have no -h. Their -l is filtered with -t type instead.
Source: Solnix ippool(8) -h, -l; FreeBSD ippool(8) SYNOPSIS (-l); NetBSD ippool(8) SYNOPSIS (-l)
FreeBSD, NetBSD-t pool type nameSolnix -t accepts pool, hash or group-map. FreeBSD and NetBSD accept tree, hash or group-map. A script passing -t tree is not valid by the Solnix page, although its -l is described as listing tree pools.
Source: Solnix ippool(8) -t, -l; FreeBSD ippool(8) -t; NetBSD ippool(8) -t
FreeBSD, NetBSD-T expiry missingFreeBSD and NetBSD take -T ttl with -a to set the expiry of the added node, in seconds. The Solnix page documents no -T option.
Source: FreeBSD ippool(8) -T, SYNOPSIS (-a); NetBSD ippool(8) -T, SYNOPSIS (-a); Solnix ippool(8) SYNOPSIS
FreeBSD-D dump to stdoutFreeBSD -D, used with -l, dumps the pool configuration in a format usable as input to ippool -f. The Solnix page has no -D and does not describe a dump format.
Source: FreeBSD ippool(8) -D; Solnix ippool(8) OPTIONS
FreeBSD-o role valuesSolnix accepts ipf, auth and count for -o. FreeBSD says only ipf (the default) is accepted. NetBSD matches Solnix. The Solnix page states no default role.
Source: Solnix ippool(8) -o; FreeBSD ippool(8) -o; NetBSD ippool(8) -o
FreeBSD-t requiredIn the FreeBSD synopsis, -t type is mandatory for -A and -R. In the Solnix and NetBSD synopses it is optional, in brackets, for both.
Source: FreeBSD ippool(8) SYNOPSIS (-A, -R); Solnix ippool(8) SYNOPSIS (-A, -R); NetBSD ippool(8) SYNOPSIS (-A, -R)
FreeBSD-R and repeated -fThe FreeBSD synopsis lists -R among the flags for -f and allows repeating -f file. Its OPTIONS section does not describe -R in that use. On Solnix, -R removes a pool and -f takes a single file.
Source: FreeBSD ippool(8) SYNOPSIS (-f); Solnix ippool(8) SYNOPSIS (-f), -R
FreeBSD, NetBSD-M and -N placementSolnix and NetBSD list -M core and -N namelist under -s, the statistics mode. FreeBSD lists them under -l and shows none for -s.
Source: Solnix ippool(8) SYNOPSIS (-s); NetBSD ippool(8) SYNOPSIS (-s); FreeBSD ippool(8) SYNOPSIS (-l, -s)
FreeBSD, NetBSDroot and device accessThe Solnix page says the default permissions on /dev/ippool, /dev/ipauth, /dev/ipl and /dev/ipstate mean ippool must run as root for all operations. The FreeBSD and NetBSD pages do not say.
Source: Solnix ippool(8) DESCRIPTION; FreeBSD ippool(8) DESCRIPTION; NetBSD ippool(8) DESCRIPTION

Standards

  • POSIX: ippool is not a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Committed.

Writing portable scripts

  • Avoid -h, -z, -G, -T and -D in portable scripts: each exists on only some of Solnix, FreeBSD and NetBSD.
  • Pass -t explicitly with hash or group-map, which all three pages accept. The name of the third type differs: pool on Solnix, tree on FreeBSD and NetBSD.

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.