Network configuration in SMF

When tools like ipadm were introduced to Solaris, the first question in most presentations in that time about this topic the location where the data is stored. I showed it to customers, however with the strict suggestion “Don’t dare to edit this file, it may change without further notice”. Well, the location where this data is stored has changed with Solaris 11.4.

When you look into the SMF service, you will see a number of properties used to persist the networking config of your system.

root@batou:/# ipadm
NAME              CLASS/TYPE STATE        UNDER      ADDR
lo0               loopback   ok           --         --
   lo0/v4         static     ok           --         127.0.0.1/8
   lo0/v6         static     ok           --         ::1/128
net0              ip         ok           --         --
   net0/additional static    ok           --         192.168.30.241/24
   net0/v4        dhcp       ok           --         192.168.30.204/24
   net0/v6        addrconf   ok           --         fe80::a00:27ff:fe14:e57a/10
root@batou:/# svcprop svc:/network/ip-interface-management:default
[...]
interfaces/lo0/address-family astring ipv4 ipv6
interfaces/lo0/v4/ipv4-address astring 127.0.0.1
interfaces/lo0/v4/prefixlen count 8
interfaces/lo0/v4/up astring yes
interfaces/lo0/v6/ipv6-address astring ::1
interfaces/lo0/v6/prefixlen count 128
interfaces/lo0/v6/up astring yes
interfaces/net0/address-family astring ipv4 ipv6
interfaces/net0/additional/ipv4-address astring 192.168.30.241
interfaces/net0/additional/prefixlen count 24
interfaces/net0/additional/up astring yes
interfaces/net0/v4/dhcp-wait integer 120
interfaces/net0/v4/primary-interface boolean false
interfaces/net0/v4/reqhost astring ""
interfaces/net0/v6/interface-id astring ::
interfaces/net0/v6/prefixlen count 0
interfaces/net0/v6/stateful astring yes
interfaces/net0/v6/stateless astring yes

This makes it much easier to deploy much more complex network configurations via AI for example.