ipfstat(8) on Solnix vs Linux and the BSDs

On Solnix, ipfstat is the illumos IP Filter statistics tool at /usr/sbin/ipfstat. Unlike the FreeBSD and NetBSD pages, it adds -z and -G to select a zone and -l to list state entries. It also documents kstat(8) as an alternative, and it has no -4 option.

What Solnix runs

A default Solnix system runs the illumos ipfstat at /usr/sbin/ipfstat. No other variants are shipped. The page says all operations need root because of the default permissions on the kernel device files. The bundle's ATTRIBUTES section is trimmed, so no interface stability level is available here.

Differences

Compared withTopicWhat differs
FreeBSD, NetBSDzone selection (-z, -G)Solnix ipfstat has -z zonename (in-zone statistics) and -G zonename (global-zone-controlled statistics). Both work only from the Global Zone. The FreeBSD and NetBSD pages have neither option.
Source: Solnix ipfstat(8) SYNOPSIS, -z, -G; FreeBSD ipfstat(8) OPTIONS; NetBSD ipfstat(8) OPTIONS
FreeBSD, NetBSDlisting state entries: -l vs -slOn Solnix, -l used with -s lists active state entries without statistics, and -l is a separate documented option. FreeBSD and NetBSD document -sl as a single option that shows held state information, and their pages have no separate -l.
Source: Solnix ipfstat(8) -l; FreeBSD ipfstat(8) -sl; NetBSD ipfstat(8) -sl
FreeBSD-4 optionFreeBSD has -4 for IPv4 and says -4 and -6 are both on by default when displaying lists. Solnix has no -4. Its -6 shows IPv6 lists and states 'if available' and 'might change in the future'.
Source: FreeBSD ipfstat(8) -4, -6; Solnix ipfstat(8) -6
FreeBSD, NetBSD-h and -I scopeSolnix -h and -I are documented for use with -i only. NetBSD documents both for use with -i or -o. FreeBSD's -I is for -i only, and its -h has no stated restriction.
Source: Solnix ipfstat(8) -h, -I; NetBSD ipfstat(8) -h, -I; FreeBSD ipfstat(8) -h, -I
FreeBSD, NetBSD-v behaviourOn FreeBSD and NetBSD, -v with -i or -o also prints per-rule match and byte counters, plus active session counts for 'keep state' rules. The Solnix page says only that -v turns on verbose mode with extra debugging information. Use -h on Solnix for hit counts.
Source: FreeBSD ipfstat(8) -v; NetBSD ipfstat(8) -v; Solnix ipfstat(8) -v, -h
FreeBSD, NetBSDkernel image and data sourceFreeBSD and NetBSD state a default kernel name (/boot/kernel/kernel and /netbsd). The Solnix page names no kernel file. It says ipfstat reads /dev/kmem and the kernel, and that the kstat facility offers an alternative.
Source: FreeBSD ipfstat(8) DESCRIPTION; NetBSD ipfstat(8) DESCRIPTION; Solnix ipfstat(8) DESCRIPTION
FreeBSD, NetBSDkstat alternativeThe Solnix page says that ipfstat supports kstat(3KSTAT), so you can run kstat -m ipf instead of ipfstat. The FreeBSD and NetBSD pages mention no such alternative.
Source: Solnix ipfstat(8) DESCRIPTION (kstat -m ipf); FreeBSD ipfstat(8); NetBSD ipfstat(8)
FreeBSD, NetBSDstate top mode detailsThe Solnix page documents the keys d, l, q, s and r in -t mode. It sorts by bytes in descending order by default, needs 80 columns without checking, and shows only the first X-5 matching entries. The BSD pages point to a keys section that is not in the bundle. They say -t needs curses(3) and may be missing on some systems.
Source: Solnix ipfstat(8) DESCRIPTION (state top mode); FreeBSD ipfstat(8) -t; NetBSD ipfstat(8) -t
FreeBSD, NetBSDsynopsis form of -tOn FreeBSD and NetBSD, -t has its own synopsis line, and -6 and -C can be combined with it. On Solnix, -C -D -P -S -T are listed in a second synopsis line, and -t sits in the first line's option group.
Source: Solnix ipfstat(8) SYNOPSIS; FreeBSD ipfstat(8) SYNOPSIS; NetBSD ipfstat(8) SYNOPSIS
FreeBSDknown bug with -4/-6The FreeBSD page lists a bug: -4 and -6 are valid only with -i, -o and -t, and no error is raised otherwise. The Solnix page lists no such limit.
Source: FreeBSD ipfstat(8) BUGS; Solnix ipfstat(8) -6

Standards

  • POSIX: ipfstat is not a POSIX.1-2024 utility.
  • Solnix: The page has an ATTRIBUTES section, but the bundle trims it, so the interface stability is not available.

Writing portable scripts

  • Stick to the options all three pages share: -a, -A, -d, -f, -g, -h, -i, -I, -n, -o, -R, -s, -v, -6 and the -t group. Do not rely on -4, -l, -sl, -z or -G.
  • Run ipfstat as root. Do not parse the -t screen output, because it is interactive.

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.