ipadm(8) on Solnix vs Linux and the BSDs

ipadm is the illumos command at /usr/sbin/ipadm. It configures IP interfaces, addresses, IPMP groups and protocol properties through subcommands, and replaces both ifconfig and ndd. Unlike the BSD ifconfig, an address belongs to a named address object (addrobj, such as net0/v4) rather than being set directly on an interface.

What Solnix runs

A default Solnix system runs the illumos ipadm at /usr/sbin/ipadm (also /sbin/ipadm). No other variants are shipped. The page calls ipadm a stable replacement for ifconfig(8) and ndd(8) and lists ifconfig(8) in SEE ALSO. The bundle does not say whether ifconfig is installed on Solnix.

Differences

Compared withTopicWhat differs
FreeBSD, OpenBSD, NetBSDcommand modelSolnix ipadm uses subcommands (create-addr, show-if, set-prop and so on). The BSD ifconfig is one command: interface, address family, address, then keyword parameters, with options such as -a and -l for display.
Source: Solnix ipadm(8) SYNOPSIS; FreeBSD ifconfig(8) SYNOPSIS; OpenBSD ifconfig(8) SYNOPSIS; NetBSD ifconfig(8) SYNOPSIS
all fouraddress objects (addrobj)Solnix names each address as interface/string: up to 32 alphanumeric characters, first one alphabetic, unique on the system (for example lo0/v4). Delete, up, down and property subcommands take that name. Linux and the BSDs address an address by its value and interface.
Source: Solnix ipadm(8) DESCRIPTION (addrobj); Linux ip-address(8) ip address delete IFADDR dev IFNAME; FreeBSD ifconfig(8) SYNOPSIS
FreeBSD, OpenBSD, NetBSDcreating the interface firstSolnix has create-if and create-ip subcommands for IP interfaces, and delete-if and delete-ip for removal. FreeBSD and OpenBSD ifconfig use the create and destroy keywords, and OpenBSD documents them for pseudo-devices. The manual does not say whether Solnix create-addr needs the interface to exist first.
Source: Solnix ipadm(8) SYNOPSIS (create-if, create-ip, delete-if, delete-ip); FreeBSD ifconfig(8) SYNOPSIS (create, destroy); OpenBSD ifconfig(8) create, destroy
all fourkernel protocol tunablesipadm set-prop, reset-prop and show-prop get and set properties of ip, ipv4, ipv6, icmp, tcp, sctp or udp, a job the page says ndd used to do. The ifconfig and ip-address pages shown do not cover protocol tunables. The Linux page points to a use_tempaddr sysctl for privacy addresses.
Source: Solnix ipadm(8) DESCRIPTION and SYNOPSIS (set-prop, protocol values); Linux ip-address(8) mngtmpaddr
OpenBSDDHCP and autoconfigurationSolnix: ipadm create-addr -T dhcp or -T addrconf creates a DHCP or IPv6 autoconfigured address (-T dhcp takes -h hostname and -w wait). OpenBSD sets an autoconf flag on the interface with ifconfig, and slaacd(8) (IPv6) or dhcpleased(8) (IPv4) then configures it.
Source: Solnix ipadm(8) SYNOPSIS (create-addr -T dhcp, -T addrconf); OpenBSD ifconfig(8) autoconf
OpenBSD, NetBSDdown and up semanticsSolnix has down-addr and up-addr, which act on one addrobj. OpenBSD and NetBSD ifconfig mark a whole interface down. OpenBSD also disables routes using the interface, and NetBSD does not.
Source: Solnix ipadm(8) SYNOPSIS (down-addr, up-addr); OpenBSD ifconfig(8) down; NetBSD ifconfig(8) down
all four-t flagMost Solnix ipadm create, set, enable and disable subcommands take -t. enable-if and disable-if require it. The excerpted page does not explain what -t does, and none of the counterpart ifconfig or ip pages in the bundle have a matching option.
Source: Solnix ipadm(8) SYNOPSIS; counterpart SYNOPSIS and OPTIONS sections
FreeBSD, OpenBSD, NetBSDdisplay options and scripting outputipadm show-if, show-addr and show-prop take -o field list; -p on show-if and show-addr gives parsable output, and -c on show-ifprop, show-addrprop and show-prop is also listed. FreeBSD ifconfig uses -f type:format (or IFCONFIG_FORMAT) and -l lists names only. OpenBSD and NetBSD print a plain text report.
Source: Solnix ipadm(8) SYNOPSIS (-p, -o, -c); FreeBSD ifconfig(8) -f, -l; OpenBSD ifconfig(8) -a; NetBSD ifconfig(8) SYNOPSIS
FreeBSD, OpenBSDgrouping and multipathingipadm builds IPMP groups with create-ipmp, add-ipmp and remove-ipmp. FreeBSD ifconfig -g and OpenBSD ifconfig group name interface groups for display or filtering and pf rules. These are different features that share the word group.
Source: Solnix ipadm(8) SYNOPSIS (create-ipmp, add-ipmp); FreeBSD ifconfig(8) -g; OpenBSD ifconfig(8) group
OpenBSD, NetBSDremoving addressesSolnix removes an address with delete-addr addrobj (-r also accepted). NetBSD documents that ifconfig delete does not work for IPv6, so you use -alias with the explicit address. OpenBSD delete removes the default inet address unless an address is given.
Source: Solnix ipadm(8) SYNOPSIS (delete-addr [-r]); NetBSD ifconfig(8) delete; OpenBSD ifconfig(8) delete

Everyday tasks

TaskSolnixLinuxFreeBSDOpenBSDNetBSD
list interfacesipadm show-if—ifconfig -lifconfig -aifconfig -l
show addressesipadm show-addrip address showifconfig -aifconfig -aifconfig -a
create an IP interfaceipadm create-ip interface—ifconfig interface createifconfig interface create—
remove an interfaceipadm delete-ip interface—ifconfig interface destroyifconfig interface destroy—
add a static addressipadm create-addr -T static -a addr/prefixlen addrobjip address add IFADDR dev IFNAMEifconfig interface inet addressifconfig interface inet addressifconfig interface inet address
add a DHCP addressipadm create-addr -T dhcp addrobj——ifconfig interface autoconf—
remove an addressipadm delete-addr addrobjip address delete IFADDR dev IFNAME—ifconfig interface deleteifconfig interface -alias address
mark an address or interface downipadm down-addr addrobj——ifconfig interface downifconfig interface down
show or set protocol propertiesipadm show-prop / set-prop protocol————

Standards

  • POSIX: ipadm is not a POSIX.1-2024 utility.

Writing portable scripts

  • Wrap interface configuration in a per-OS function: ipadm on Solnix, ifconfig on the BSDs, ip address on Linux. Their syntax shares nothing beyond the address and prefix.
  • Do not rely on ifconfig being present on Solnix. Use ipadm show-addr -p -o field for parsable output.

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.