ip-interface-management - service managing IP interface, protocol property, and IP route persistence
The network/ip-interface-management service and its default instance and its daemon, ipmgmtd are responsible for managing persistent IP information relating to IP interface configuration, protocol tunables such as IP, TCP, UDP, and static IP routes.
Within the ip-interface-management service instance, the property group, interfaces of type application contains persistent IP interface information, while the static-routes property group of type application contains global static route information. Per-interface static routes are stored in a property group nested within the relevant IP interface representation. For more information, see the examples below.
Each interface is represented by a property group nested within the interfaces property group. The name of that property group is the interface name, while the property group type is derived from the class of the interface. Specifically, the property group types are:
loopback IP interface (lo0)
IP interface (both v4 and v6)
Virtual Network Interface
IPMP group interface
The property group type corresponds to the relevant object, and can be administered using the ipadm command.
IP address objects which represent IP addresses associated with an interface, are stored as property groups nested with the parent interface property group, where the name is the name of the address object, and the property group type reflects the address object type. For example, v4static. Specifically
Statically-specified IP address
IPv6 addrconf address
Virtual Router Redundancy Protocol (VRRP) address
Protocol-specific properties can be specified either globally or on a per-interface basis. Global protocol-specific properties will be stored in the protocols parent property group of type application. Per-protocol properties will be stored in TCP, UDP, SCTP, ICMP, IP, IPv4, and IPv6 each of which is of type protocol-tcp, protocol-udp, and so on.
Static routes can be stored either globally or on a per-interface basis. Per-interface routes specified using the –ifp option to the route command are stored as child property groups of the specified interface, and the property group type used is static-route. At a minimum, the destination and gateway properties should be specified. The property group name of the route can be supplied using the new –name option to the route command, or through SC profile specification. If no name is specified to the route command, then a system-supplied name is used. Global static routes, that are routes not associated with a specific IP interface, should be specified as child property groups of the static-routes property group, and should be specified as type static-route.
Details about IP interfaces, address objects, and protocol properties are provided in the ipadm command. Properties with string representations are stored as the astring type in SMF, while unsigned values are stored as type count, with boolean values stored as type boolean. Properties with multiple values are stored as lists of values of the relevant type. Some examples of XML profile snippets are given below, with full XML profile examples provided in the /usr/share/auto_install/sc_profiles directory.
<service name='network/ip-interface-management' type='service' version='0'> <instance name='default' enabled='true'> <property_group name='interfaces' type='application'> ... <property_group name='net0' type='interface-ip'> <property name='address-family' type='astring'> <astring_list> <value_node value='ipv4'/> <value_node value='ipv6'/> </astring_list> </property> <property_group name='v4' type='address-dhcp'/> <property_group name='v6' type='address-addrconf'> <propval name='interface-id' type='astring' value='::'/> <propval name='prefixlen' type='count' value='0'/> <propval name='stateful' type='astring' value='yes'/> <propval name='stateless' type='astring' value='yes'/> </property_group> </property_group> ... </property_group> </instance> </service>Example 2 Create a Static IPv4 Interface with an associated per-interface Static Default Route for net1
<service name='network/ip-interface-management' type='service' version='0'> <instance name='default' enabled='true'> <property_group name='interfaces' type='application'> ... <property_group name='net1' type='interface-ip'> <property name='address-family' type='astring' value='ipv4'/> <property_group name='v4' type='address-static'> <propval name='ipv4-address' type='astring' value='192.168.1.10'/> <propval name='prefixlen' type='count' value='24'/> <propval name='up' type='astring' value='yes'/> </property_group> <property_group name='staticv4' type='static-route'> <propval name='destination' type='astring' value='default'/> <propval name='gateway' type='astring' value='192.168.1.1'/> </property_group> </property_group> ... </property_group> </instance> </service>
See attributes(7) for descriptions of the following attributes: