ifconfig(8) on Solnix vs Linux and the BSDs
Solnix ifconfig is the illumos ifconfig (/usr/sbin/ifconfig, /sbin/ifconfig). It only sees interfaces that have been prepared for IP: the page names ipadm as the preferred way to configure TCP/IP and dladm for links that are not plumbed. It also drives the DHCP client, dhcpagent.
The manual pages
- Solnix: ifconfig(8) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: ifconfig(8) net-tools-2.10
- FreeBSD: ifconfig(8) 15.1-RELEASE
- OpenBSD: ifconfig(8) 8.0
- NetBSD: ifconfig(8) 11.0
What Solnix runs
A default Solnix system runs the illumos ifconfig at /usr/sbin/ifconfig and /sbin/ifconfig. No other variants are shipped. The page calls ipadm the preferred tool for configuring an interface for TCP/IP. ifconfig plumb is the alternative. Interfaces not set up for IP can only be seen with dladm.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| all four | which interfaces are visible | Solnix ifconfig only shows interfaces prepared for IP (plumbed). Links without IP are seen with dladm, not ifconfig. The counterpart pages give no such restriction. Source: Solnix ifconfig(8) DESCRIPTION, Network Interface Observability |
| Linux | no-argument output | On Solnix, ifconfig with no options behaves like ifconfig -a. Linux ifconfig with no arguments shows only active interfaces, and needs -a to include interfaces that are down.Source: Solnix ifconfig(8) OPTIONS (no options same as -a); Linux ifconfig(8) DESCRIPTION, -a |
| Linux, OpenBSD, NetBSD | extra addresses | Solnix adds an address as a new logical interface with addif address[/prefix_length] and removes it with removeif. Linux uses alias interfaces such as eth0:0, or add/del for IPv6. OpenBSD and NetBSD use alias with -alias or delete.Source: Solnix ifconfig(8) SYNOPSIS, addif; Linux ifconfig(8) interface, add, del; OpenBSD ifconfig(8) alias, -alias, delete; NetBSD ifconfig(8) alias, -alias, delete |
| Linux | removing an alias with down | On Linux, ifconfig eth0:0 down deletes the alias, and deleting the primary address deletes every alias in that scope. On Solnix, remove an address with removeif. Source: Linux ifconfig(8) interface; Solnix ifconfig(8) SYNOPSIS (removeif) |
| OpenBSD | DHCP | Solnix ifconfig controls the DHCP client dhcpagent(8) with ifconfig interface dhcp start, release, drop, extend, inform, ping or status. On OpenBSD, the autoconf flag lets dhcpleased(8) and slaacd(8) configure the interface. Source: Solnix ifconfig(8) DHCP Configuration, auto-dhcp; OpenBSD ifconfig(8) autoconf |
| all four | editing a DHCP-managed interface | On Solnix, changing the address of an interface under DHCP control makes dhcpagent drop that interface from its control. Source: Solnix ifconfig(8) DHCP Configuration |
| Linux | IPv4 prefix syntax | Solnix takes address/prefix_length for IPv4 and IPv6. The Linux net-tools page documents addr/prefixlen only for IPv6 add/del. For IPv4, Linux uses netmask addr, which defaults to the class A, B or C mask. Source: Solnix ifconfig(8) SYNOPSIS; Linux ifconfig(8) netmask, add |
| FreeBSD, OpenBSD | creating pseudo-devices | FreeBSD and OpenBSD create and remove pseudo-interfaces with ifconfig interface create and destroy; OpenBSD lists the creatable types with -C. The Solnix synopsis has no create or destroy. For TCP/IP setup it offers plumb, and the page prefers ipadm.Source: FreeBSD ifconfig(8) SYNOPSIS (create, destroy); OpenBSD ifconfig(8) create, destroy, -C; Solnix ifconfig(8) SYNOPSIS (plumb, unplumb) |
| FreeBSD | zones vs jails | Solnix assigns an interface to a zone with zone zonename, -zone or -all-zones (all-zones needs Trusted Extensions). FreeBSD runs ifconfig inside a jail with -j jid.Source: Solnix ifconfig(8) SYNOPSIS, all-zones; FreeBSD ifconfig(8) -j |
| OpenBSD | boot-time configuration | OpenBSD sets addresses at boot from hostname.if(5) files. The Solnix page says ifconfig must be used at boot time to define each interface's address and does not name a configuration file. Source: OpenBSD ifconfig(8) DESCRIPTION; Solnix ifconfig(8) DESCRIPTION |
Everyday tasks
| Task | Solnix | Linux | FreeBSD | OpenBSD | NetBSD |
|---|---|---|---|---|---|
| add a second address | ifconfig interface addif address/prefix_length | ifconfig eth0:0 address | — | ifconfig interface inet address alias | ifconfig interface inet address alias |
| remove that address | ifconfig interface removeif address | ifconfig eth0:0 down | — | ifconfig interface inet address delete | ifconfig interface inet address -alias |
| get an address by DHCP | ifconfig interface dhcp start | — | — | ifconfig interface inet autoconf | — |
| create a pseudo-interface | — | — | ifconfig interface create | ifconfig interface create | — |
| prepare an interface for IP | ifconfig interface plumb (ipadm preferred) | — | — | — | — |
Standards
- POSIX: ifconfig is not a POSIX.1-2024 utility.
Writing portable scripts
- Use ifconfig
-afor listing. It shows all interfaces on every system here, while bare ifconfig shows only active interfaces on Linux. - Do not script address changes with ifconfig across systems. The add/remove syntax differs on each (addif/removeif, eth0:0, alias/-alias/delete), and the Solnix page prefers ipadm.
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.