System Administration Guide: Network Interfaces and Network Virtualization

ProcedureHow to Manually Configure an Active-Standby IPMP Group

For more information about standby interfaces, see Types of IPMP Interface Configurations. The following procedure configures an IPMP group where one interface is kept as a reserve. This interface is deployed only when an active interface in the group fails.

  1. On the system on which you want to configure the IPMP group, assume the Primary Administrator role, or become superuser.

    The Primary Administrator role includes the Primary Administrator profile. To create the role and assign the role to a user, see Chapter 2, Working With the Solaris Management Console (Tasks), in System Administration Guide: Basic Administration.

  2. Create an IPMP interface.


    # ifconfig ipmp-interface ipmp [group group-name]
    
    ipmp-interface

    Specifies the name of the IPMP interface. You can assign any meaningful name to the IPMP interface. As with any IP interface, the name consists of a string and a number, such as ipmp0.

    group-name

    Specifies the name of the IPMP group. The name can be any name of your choice. Any nun-null name is valid, provided that the name does not exceed 31 characters. Assigning a group name is optional. By default, the name of the IPMP interface also becomes the name of the IPMP group. Preferably, retain this default setting by not using the group-name option.


    Note –

    The syntax in this step uses the preferred explicit method of creating an IPMP group by creating the IPMP interface.

    An alternative method to create an IPMP group is implicit creation, in which you use the syntax ifconfig interface group group-name. In this case, the system creates the lowest available ipmpN to become the group's IPMP interface. For example, if ipmp0 already exists for group acctg, then the syntax ifconfig ce0 group fieldops causes the system to create ipmp1 for group fieldops. All UP data addresses of ce0 are then assigned to ipmp1.

    However, implicit creation of IPMP groups is not encouraged. Support for implicit creation is provided only to have compatible implementation with previous Solaris releases. Explicit creation provides optimal control over the configuration of IPMP interfaces.


  3. Add underlying IP interfaces to the group.


    # ifconfig ip-interface group group-name
    

    Note –

    In a dual-stack environment, placing the IPv4 instance of an interface under a particular group automatically places the IPv6 instance under the same group as well.


  4. Add data addresses to the IPMP interface.


    # ifconfig plumb ipmp-interface ip-address up
    # ifconfig ipmp-interface addif ip-address up
    

    For additional options that you can use with the ifconfig command while adding addresses, refer to the ifconfig(1M) man page.

  5. Configure test addresses on the underlying interfaces.

    • To configure a test address on an active interface, use the following command:


      # ifconfig interface -failover ip-address up
      
    • To configure a test address on a designated standby interface, use the following command:


      # ifconfig interface -failover ip-address standby up
      

    Note –

    You need to configure a test address only if you want to use probe-based failure detection on a particular interface.

    All test IP addresses in an IPMP group must use the same network prefix. The test IP addresses must belong to a single IP subnet.


  6. (Optional) Preserve the IPMP group configuration across reboots.

    To configure an IPMP group that persists across system reboots, you would edit the hostname configuration file of the IPMP interface to add data addresses. Then, if you want to use test addresses, you would edit the hostname configuration file of one of the group's underlying IP interface. Note that data and test addresses can be both IPv4 and IPv6 addresses. Perform the following steps:

    1. Edit the /etc/hostname.ipmp-interface file by adding the following lines:


      ipmp group group-name data-address up
      addif data-address
      ...

      You can add more data addresses on separate addif lines in this file.

    2. Edit the /etc/hostname.interface file of the underlying IP interfaces that contain the test address by adding the following line:


      group group-name -failover test-address up

      Follow this same step to add test addresses to other underlying interfaces of the IPMP group. For a designated standby interface, the line must be as follows:


      group group-name -failover test-address standby up

      Caution – Caution –

      When adding test address information on the /etc/hostname.interface file, make sure to specify the -failover option before the up keyword. Otherwise, the test IP addresses will be treated as data addresses and would cause problems for system administration. Preferably, set the -failover option before specifying the IP address.



Example 8–2 Configuring an Active-Standby IPMP Group

This example shows how to manually create the same persistent active-standby IPMP configuration that is provided in Example 8–1.


# ifconfig itops0 ipmp

# ifconfig subitops0 group itops0
# ifconfig subitops1 group itops0
# ifconfig subitops2 group itops0

# ifconfig itops0 192.168.10.10/24 up
# ifconfig itops0 addif 192.168.10.15/24 up

# ifconfig subitops0 -failover 192.168.85.30/24 up
# ifconfig subitops1 -failover 192.168.86.32/24 up
# ifconfig subitops2 -failover 192.168.86.34/24 standby up

# ipmpstat -g
GROUP     GROUPNAME   STATE      FDT        INTERFACES
itops0    itops0      ok         10.00s     subitops0 subitops1 (subitops2)

# ipmpstat -t
INTERFACE      MODE     TESTADDR        TARGETS
subitops0      routes   192.168.10.30   192.168.10.1
subitops1      routes   192.168.10.32   192.168.10.1
subitops2      routes   192.168.10.34   192.168.10.5

# vi /etc/hostname.itops0
ipmp group itops0 192.168.10.10/24 up
addif 192.168.10.15/24 up

# vi /etc/hostname.subitops0
group itops0 -failover 192.168.10.30/24 up

# vi /etc/hostname.subitops1
group itops0 -failover 192.168.10.32/24 up

# vi /etc/hostname.subitops2
group itops0 -failover 192.168.10.34/24 standby up