JavaScript is required to for searching.
Skip Navigation Links
Exit Print View
Oracle Solaris Administration: Network Interfaces and Network Virtualization     Oracle Solaris 11 Express 11/10
search filter icon
search icon

Document Information

Preface

Part I Network Auto-Magic

1.  Introduction to NWAM

2.  NWAM Configuration and Administration (Overview)

3.  NWAM Profile Configuration (Tasks)

4.  NWAM Profile Administration (Tasks)

5.  About the NWAM Graphical User Interface

Part II Administering Single Interfaces

6.  Overview of the Networking Stack

7.  Datalink Configuration and Administration

8.  Configuring an IP Interface

9.  Configuring Wireless Interface Communications on Oracle Solaris

Part III Administering Interface Groups

10.  Administering Bridges

11.  Administering Link Aggregations

12.  Administering VLANs

13.  Introducing IPMP

14.  Administering IPMP

IPMP Administration Task Maps

IPMP Group Creation and Configuration (Task Map)

IPMP Group Maintenance (Task Map)

Probe-Based Failure Detection Configuration (Task Map)

IPMP Group Monitoring (Task Map)

Configuring IPMP Groups

How to Plan an IPMP Group

How to Configure an IPMP Group by Using DHCP

How to Manually Configure an Active-Active IPMP Group

How to Manually Configure an Active-Standby IPMP Group

Maintaining IPMP Groups

How to Add an Interface to an IPMP Group

How to Remove an Interface From an IPMP Group

How to Add or Remove IP Addresses

How to Move an Interface From One IPMP Group to Another Group

How to Delete an IPMP Group

Configuring for Probe-Based Failure Detection

How to Manually Specify Target Systems for Probe-Based Failure Detection

How to Configure the Behavior of the IPMP Daemon

Recovering an IPMP Configuration With Dynamic Reconfiguration

How to Replace a Physical Card That Has Failed

About Missing Interfaces at System Boot

Monitoring IPMP Information

How to Obtain IPMP Group Information

How to Obtain IPMP Data Address Information

How to Obtain Information About Underlying IP Interfaces of a Group

How to Obtain IPMP Probe Target Information

How to Observe IPMP Probes

How to Customize the Output of the ipmpstat Command in a Script

How to Generate Machine Parseable Output of the ipmpstat Command

Part IV  Network Virtualization and Resource Management

15.  Introducing Network Virtualization and Resource Control (Overview)

16.  Planning for Network Virtualization and Resource Control

17.  Configuring Virtual Networks (Tasks)

18.  Using Link Protection in Virtualized Environments

19.  Managing Network Resources

20.  Monitoring Network Traffic and Resource Usage

Glossary

Index

Configuring IPMP Groups

This section provides procedures that are used to plan and configure IPMP groups.

How to Plan an IPMP Group

The following procedure includes the required planning tasks and information to be gathered prior to configuring an IPMP group. The tasks do not have to be performed in sequence.


Note - You must configure only one IPMP group for each subnet or L2 broadcast domain. For more information, see When You Must Use IPMP.


  1. Determine the general IPMP configuration that would suit your needs.

    Your IPMP configuration depends on what your network needs to handle the type of traffic that is hosted on your system. IPMP spreads outbound network packets across the IPMP group's interfaces, and thus improves network throughput. However, for a given TCP connection, inbound traffic normally follows only one physical path to minimize the risk of processing out-of-order packets.

    Thus, if your network handles a huge volume of outbound traffic, configuring multiple interfaces into an IPMP group can improve network performance. If instead, the system hosts heavy inbound traffic, then the number of interfaces in the group does not necessarily improve performance by load spreading traffic. However, having multiple interfaces helps to guarantee network availability during interfaces failure.

  2. For SPARC based systems, verify that each interface in the group has a unique MAC address.

    To configure a unique MAC address for each interface in the system, see SPARC: How to Ensure That the MAC Address of an Interface Is Unique.

  3. Ensure that the same set of STREAMS modules is pushed and configured on all interfaces in the IPMP group.

    All interfaces in the same group must have the same STREAMS modules configured in the same order.

    1. Check the order of STREAMS modules on all interfaces in the prospective IPMP group.

      You can print a list of STREAMS modules by using the ifconfig interface modlist command. For example, here is the ifconfig output for an hme0 interface:

      # ifconfig hme0 modlist
          0 arp
          1 ip
          2 hme

      Interfaces normally exist as network drivers directly below the IP module, as shown in the output from ifconfig hme0 modlist. They should not require additional configuration.

      However, certain technologies insert themselves as a STREAMS module between the IP module and the network driver. If a STREAMS module is stateful, then unexpected behavior can occur on failover, even if you push the same module onto all of the interfaces in a group. However, you can use stateless STREAMS modules, provided that you push them in the same order on all interfaces in the IPMP group.

    2. Push the modules of an interface in the standard order for the IPMP group.
      ifconfig interface modinsert module-name@position
      ifconfig hme0 modinsert vpnmod@3
  4. Use the same IP addressing format on all interfaces of the IPMP group.

    If one interface is configured for IPv4, then all interfaces of the group must be configured for IPv4. For example, if you add IPv6 addressing to one interface, then all interfaces in the IPMP group must be configured for IPv6 support.

  5. Determine the type of failure detection that you want to implement.

    For example, if you want to implement probe-based failure detection, then you must configure test addresses on the underlying interfaces. For related information, seeTypes of Failure Detection in IPMP.

  6. Ensure that all interfaces in the IPMP group are connected to the same local network.

    For example, you can configure Ethernet switches on the same IP subnet into an IPMP group. You can configure any number of interfaces into an IPMP group.


    Note - You can also configure a single interface IPMP group, for example, if your system has only one physical interface. For related information, see Types of IPMP Interface Configurations.


  7. Ensure that the IPMP group does not contain interfaces with different network media types.

    The interfaces that are grouped together should be of the same interface type, as defined in /usr/include/net/if_types.h. For example, you cannot combine Ethernet and Token ring interfaces in an IPMP group. As another example, you cannot combine a Token bus interface with asynchronous transfer mode (ATM) interfaces in the same IPMP group.

  8. For IPMP with ATM interfaces, configure the ATM interfaces in LAN emulation mode.

    IPMP is not supported for interfaces using Classical IP over ATM.

How to Configure an IPMP Group by Using DHCP

In the current IPMP implementation, IPMP groups can be configured with Dynamic Host Configuration Protocol (DHCP) support.

A multiple-interfaced IPMP group can be configured with active-active interfaces or active-standby interfaces. For related information, see Types of IPMP Interface Configurations. The following procedure describes steps to configure an active-standby IPMP group by using DHCP.

Before You Begin

Make sure that IP interfaces that will be in the prospective IPMP group have been correctly configured over the system's network datalinks. For procedures to configure links and IP interfaces, see IP Interface Configuration (Tasks). For information about configuring IPv6 interfaces, see Configuring an IPv6 Interface in System Administration Guide: IP Services.

Additionally, if you are using a SPARC system, configure a unique MAC address for each interface. For procedures, see SPARC: How to Ensure That the MAC Address of an Interface Is Unique.

Finally, if you are using DHCP, make sure that the underlying interfaces have infinite leases. Otherwise, in case of a group failure, the test addresses will expire and the IPMP daemon will then disable probe-based failure detection and link-based failure detection will be used. If link-based failure detection discovers that the interface is functioning, the daemon might erroneously report that the interface has been repaired. For more information about configuring DHCP, refer to Chapter 12, Planning for DHCP Service (Tasks), in System Administration Guide: IP Services.


Note - The current implementation of the network auto-magic (NWAM) technology does not support IPMP. To configure IPMP groups, you must disable the nwam service first and enable the default network service. For instructions, see


  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  2. Create an IPMP interface.
    # ifconfig ipmp-interface ipmp [group group-name]

    Note - To configure IPv6 IPMP interfaces, use the same command syntax for configuring IPv6 interfaces by specifying inet6 in the ifconfig command, for example:

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

    This note applies to all configuration procedures that involve IPv6 IPMP interfaces.


    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. 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 Oracle Solaris releases. Explicit creation provides optimal control over the configuration of IPMP interfaces.


  3. Add underlying IP interfaces that will contain test addresses to the IPMP group, including the standby interface.
    # ifconfig interface group group-name -failover [standby] up
  4. Have DHCP configure and manage the data addresses on the IPMP interface.

    You need to plumb as many logical IPMP interfaces as data addresses, and then have DHCP configure and manage the addresses on these interfaces as well.

    # ifconfig ipmp-interface dhcp start primary
    # ifconfig ipmp-interface:n plumb
    # ifconfig ipmp-interface:n dhcp start
  5. Have DHCP manage the test addresses in the underlying interfaces.

    You need to issue the following command for each underlying interface of the IPMP group.

    # ifconfig interface dhcp start

Example 14-1 Configuring an IPMP Group With DHCP

This example shows how to configure an active-standby IPMP group with DHCP. This example is based on Figure 13-1, which contains the following information:

# ifconfig itops0 ipmp

# ifconfig subitops0 plumb group itops0 -failover up
# ifconifg subitops1 plumb group itops0 -failover up
# ifconfig subitops2 plumb group itops0 -failover standby up

# ifconfig itops0 dhcp start primary
# ifconfig itops0:1 plumb
# ifconfig itops0:1 dhcp start

# ifconfig subitops0 dhcp start
# ifconfig subitops1 dhcp start
# ifconfig subitops2 dhcp start

To make the test address configuration persistent, you would need to type the following commands:

# touch /etc/dhcp.itops0 /etc/dhcp.itops0:1
# touch /etc/dhcp.subitops0 /etc/dhcp.subitops1 /etc/dhcp.subitops2
    
# echo group itops0 -failover up > /etc/hostname.subitops0
# echo group itops0 -failover up > /etc/hostname.subitops1
# echo group itops0 -failover standby up > /etc/hostname.subitops2
# echo ipmp > /etc/hostname.itops0

How to Manually Configure an Active-Active IPMP Group

The following procedure describes steps to manually configure an active-active IPMP group.

Before You Begin

Make sure that IP interfaces that will be in the prospective IPMP group have been correctly configured over the system's network datalinks. For procedures to configure links and IP interfaces, see IP Interface Configuration (Tasks). For information about configuring IPv6 interfaces, see Configuring an IPv6 Interface in System Administration Guide: IP Services.

Additionally, if you are using a SPARC system, configure a unique MAC address for each interface. For procedures, see SPARC: How to Ensure That the MAC Address of an Interface Is Unique.

  1. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  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 Oracle 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.
    # ifconfig interface -failover ip-address 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.


      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.


How 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. Become an administrator.

    For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.

  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 Oracle 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 14-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 14-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