ipmon(8) on Solnix vs Linux and the BSDs
On Solnix, ipmon is the illumos IP Filter log reader at /usr/sbin/ipmon. It has -z and -G to select a zone's filter, but lacks the -B, -C and -L options that FreeBSD (and, for -B and -L, NetBSD) document.
The manual pages
- Solnix: ipmon(8) from
pkgs.solnix.illumos-world-man· illumos.org - FreeBSD: ipmon(8) 15.1-RELEASE
- NetBSD: ipmon(8) 11.0
What Solnix runs
A default Solnix system runs the illumos ipmon at /usr/sbin/ipmon, published in pkgs.solnix.illumos-world-man. No other variants are shipped. The page refers to the suite as Solaris IP Filter and points to ipfilter(7).
Differences
| Compared with | Topic | What differs |
|---|---|---|
| FreeBSD, OpenBSD, NetBSD | zone selection (-z, -G) | Solnix ipmon takes -z zonename (the zone's in-zone filter) or -G zonename (the zone's global-zone-controlled filter). Both work only in the Global Zone. The FreeBSD and NetBSD pages have neither option. The bundle has no OpenBSD page.Source: Solnix ipmon(8) SYNOPSIS, -z, -G; FreeBSD ipmon(8) SYNOPSIS; NetBSD ipmon(8) SYNOPSIS |
| FreeBSD, NetBSD | -B binary log file | FreeBSD and NetBSD ipmon -B file writes the raw binary log data to a file, which can be read back later with -f. The Solnix page has no -B, so use -f to read a device or file there.Source: FreeBSD ipmon(8) -B; NetBSD ipmon(8) -B; Solnix ipmon(8) SYNOPSIS |
| FreeBSD | -C config file | FreeBSD ipmon -C file names a file of extra actions to run on specific kernel log entries. FreeBSD also rereads it on SIGHUP and lists ipmon(5) in SEE ALSO. The Solnix and NetBSD pages have no -C.Source: FreeBSD ipmon(8) -C, SEE ALSO; Solnix ipmon(8) SYNOPSIS; NetBSD ipmon(8) SYNOPSIS |
| FreeBSD, NetBSD | -L syslog facility | FreeBSD and NetBSD ipmon -L facility changes the syslog facility. The Solnix page has no -L; its -s section only gives the facility used when compiled and installed, local0.Source: FreeBSD ipmon(8) -L; NetBSD ipmon(8) -L; Solnix ipmon(8) -s |
| FreeBSD | default syslog facility for -s | With -s, the FreeBSD page gives the default facility as security. Solnix and NetBSD give local0. A syslog.conf selector written for one facility will not catch the other's messages.Source: FreeBSD ipmon(8) -s; Solnix ipmon(8) -s; NetBSD ipmon(8) -s |
| FreeBSD, NetBSD | default pid file | Solnix ipmon -P defaults to /var/run/ipmon.pid. The FreeBSD and NetBSD pages list three platform-dependent paths: //etc/opt/ipf/ipmon.pid (Solaris), /var/run/ipmon.pid (44BSD or later), /etc/ipmon.pid (others). They do not say which one applies on a given install.Source: Solnix ipmon(8) -P; FreeBSD ipmon(8) -P; NetBSD ipmon(8) -P |
| FreeBSD, NetBSD | SIGHUP and kernel option | FreeBSD and NetBSD document that ipmon reopens its log files and rereads its configuration file on SIGHUP, and that the kernel option IPFILTER_LOG must be on. The Solnix page says neither, so do not assume SIGHUP log rotation works there. Source: FreeBSD ipmon(8) DESCRIPTION; NetBSD ipmon(8) DESCRIPTION; Solnix ipmon(8) DESCRIPTION |
| FreeBSD, NetBSD | address separator in output | The BSD pages show the address separator as the ASCII text ->. The Solnix page describes it as a symbol that appears in the bundle only as escaped bytes. Check real output before writing a parser that matches the separator. Source: Solnix ipmon(8) DESCRIPTION (addresses field); FreeBSD ipmon(8) DESCRIPTION item 6; NetBSD ipmon(8) DESCRIPTION item 6 |
| FreeBSD, NetBSD | viewing the logged rule | Solnix points to ipfstat -in for input rules, and says the same command for output rules (the page repeats -in). The BSD pages say ipfstat -n.Source: Solnix ipmon(8) DESCRIPTION (group and rule number); FreeBSD ipmon(8) item 4; NetBSD ipmon(8) item 4 |
| FreeBSD, NetBSD | -h documented | Solnix documents -h as displaying usage information. The FreeBSD and NetBSD pages list h in the synopsis bracket but have no -h entry under OPTIONS.Source: Solnix ipmon(8) -h; FreeBSD ipmon(8) OPTIONS; NetBSD ipmon(8) OPTIONS |
Standards
- POSIX: ipmon is not a POSIX.1-2024 utility.
- Solnix: ATTRIBUTES: Interface Stability is Committed.
- FreeBSD: The FreeBSD page has no STANDARDS section.
- NetBSD: The NetBSD page has no STANDARDS section.
Writing portable scripts
- Do not rely on
-B,-Cor-Lin scripts that must also run on Solnix, and do not rely on-zor-Gon the BSDs. Check each system's synopsis first. - Pass
-Ppidfile explicitly instead of relying on the default pid file path, which differs between the pages.
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.