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

Document Information

Preface

1.  Overview of the Networking Stack

Network Configuration in This Oracle Solaris Release

The Network Stack in Oracle Solaris

Network Devices and Datalink Names

Administration of Other Link Types

Part I Network Auto-Magic

2.  Introduction to NWAM

3.  NWAM Configuration and Administration (Overview)

4.  NWAM Profile Configuration (Tasks)

5.  NWAM Profile Administration (Tasks)

6.  About the NWAM Graphical User Interface

Part II Datalink and Interface Configuration

7.  Using Datalink and Interface Configuration Commands on Profiles

8.  Datalink Configuration and Administration

9.  Configuring an IP Interface

10.  Configuring Wireless Interface Communications on Oracle Solaris

11.  Administering Bridges

12.  Administering Link Aggregations

13.  Administering VLANs

14.  Introducing IPMP

15.  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 Select Which Failure Detection Method to Use

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

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

16.  Exchanging Network Connectivity Information With LLDP

Part III Network Virtualization and Resource Management

17.  Introducing Network Virtualization and Resource Control (Overview)

18.  Planning for Network Virtualization and Resource Control

19.  Configuring Virtual Networks (Tasks)

20.  Using Link Protection in Virtualized Environments

21.  Managing Network Resources

22.  Monitoring Network Traffic and Resource Usage

Glossary

Index

Configuring IPMP Groups

This section provides procedures that are used to plan and configure IPMP groups. The overview in Chapter 14, Introducing IPMP describes the implementation of the IPMP group as an interface. Thus, in this chapter, the terms IPMP group and IPMP interface are used interchangeably.

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 a big number of 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 more underlying interfaces helps to guarantee network availability during interface 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 net0 interface:

      # ifconfig net0 modlist
          0 arp
          1 ip
          2 e1000g

      As the output shows, interfaces normally exist as network drivers directly below the IP module. These interfaces 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 net0 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 IPMP group have been correctly configured over the system's network datalinks. You can create an IPMP interface even if underlying IP interfaces do not yet exist. However, subsequent configurations on this IPMP interface will fail.

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 Oracle Solaris Administration: 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 13, Planning for DHCP Service (Tasks), in System Administration Guide: IP Services.


Note - You cannot use IPMP if the active network profile on the system is a reactive profile. Before configuring IPMP groups, if necessary enable the DefaultFixed profile to switch to a fixed network configuration profile. For procedures, see Profiles and Configuration Tools.


  1. Become an administrator.

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

  2. Create an IPMP interface.
    # ipadm create-ipmp ipmp-interface

    where

    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.

  3. Create the underlying IP interfaces if these do not exist yet.
    # ipadm create-ip under-interface

    where under-interface refers to the IP interface that you will add to the IPMP group.

  4. Add underlying IP interfaces that will contain test addresses to the IPMP group.
    # ipadm add-ipmp -i under-interface1 [-i under-interface2 ...] ipmp-interface

    You can create as many IP interfaces to the IPMP group as are available in the system.

  5. Have DHCP configure and manage the data addresses on the IPMP interface.
    # ipadm create-addr -T dhcp addrobj

    The addrobj represents an address object and uses the format interface/string. The interface in this step is the IPMP interface. The string can be any user-defined string. Thus, if you have multiple data addresses on the IPMP interface, the corresponding address objects would be ipmp-interface/string1, ipmp-interface/string2, ipmp-interface/string3, and so on.

  6. 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.

    # ipadm create-addr -T dhcp addrobj

    The addrobj represents an address object and uses the format interface/string. The interface in this step is the underlying interface. The string can be any user-defined string. Thus, if you have multiple underlying interfaces for the IPMP group, the corresponding address objects would be under-interface1/string, ipmp-interface2/string, ipmp-interface3/string, and so on.

Example 15-1 Configuring an IPMP Group With DHCP

This example shows how to configure an active-standby IPMP group with DHCP and is based on the following scenario:

# ipadm create-ipmp itops0

# ipadm create-ip net0
# ipadm create-ip net1
# ipadm create-ip net2

# ipadm add-ipmp -i net0 -i net1 -i net2 itops0

# ipadm create-addr -T dhcp itops0/dhcp0
# ipadm create-addr -T dhcp itops0/dhcp1

# ipadm create-addr -T dhcp net0/test
# ipadm create-addr -T dhcp net2/test
# ipadm create-addr -T dhcp net3/test

# ipadm set-ifprop -p standby=on net2

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 Oracle Solaris Administration: IP Services. You can create an IPMP interface even if underlying IP interfaces do not yet exist. However, subsequent configurations on this IPMP interface will fail.

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 Oracle Solaris Administration: Security Services.

  2. Create an IPMP interface.
    # ipadm create-ipmp ipmp-interface

    where

    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.

  3. Add underlying IP interfaces to the group.
    # ipadm add-ipmp -i under-interface1 [-i underinterface2 ...] ipmp-interface

    where under-interface refers to the underlying interface of the IPMP group. You can add as many IP interfaces as are available in the system.


    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.
    # ipadm create-addr -T static IP-address addrobj

    The IP-address can be in CIDR notation.

    The addrobj must use the naming convention ipmp-interface/any-string. Thus, if the name of the IPMP interface is ipmp0, then the addrobj can be ipmp0/dataaddr.

  5. Add test addresses on the underlying interfaces.
    # ipadm create-addr -T static IP-address addrobj

    The IP-address can be in CIDR notation.

    The addrobj must use the naming convention under-interface/any-string. Thus, if the name of an underlying interface is net0, then the addrobj can be net0/testaddr.


    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.


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 Oracle Solaris Administration: Security Services.

  2. Create an IPMP interface.
    # ipadm create-ipmp ipmp-interface

    where

    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.

  3. Add underlying IP interfaces to the group.
    # ipadm add-ipmp -i under-interface1 [-i underinterface2 ...] ipmp-interface

    where under-interface refers to the underlying interface of the IPMP group. You can add as many IP interfaces as are available in the system.


    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.
    # ipadm create-addr -T static IP-address addrobj

    The IP-address can be in CIDR notation.

    The addrobj must use the naming convention ipmp-interface/any-string. Thus, if the name of the IPMP interface is ipmp0, then the addrobj can be ipmp0/dataaddr.

  5. Add test addresses on the underlying interfaces.
    # ipadm create-addr -T static IP-address addrobj

    The IP-address can be in CIDR notation.

    The addrobj must use the naming convention under-interface/any-string. Thus, if the name of an underlying interface is net0, then the addrobj can be net0/testaddr.


    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. Configure one of the underlying interfaces as a standby interface.
    # ipadm set-ifprop -p standby=yes under-interface

Example 15-2 Configuring an Active-Standby IPMP Group

This example shows how to manually create an active-standby IPMP configuration. The example begins with creating the underlying interfaces.

# ipadm create-ip net0
# ipadm create-ip net1
# ipadm create-ip net2

# ipadm create-ipmp itops0

# ipadm add-ipmp -i net0 -i net1 -i net2 itops0
# ipadm create-addr -T static -a 192.168.10.10/24 itops0/v4add1
# ipadm create-addr -T static -a 192.168.10.15/24 itops0/v4add2

# ipadm create-addr -T static -a 192.168.85.30/24 net0/test
# ipadm create-addr -T static -a 192.168.85.32/24 net1/test
# ipadm create-addr -T static -a 192.168.85.34/24 net2/test

# ipadm set-ifprop -p standby=yes net2

# ipmpstat -g
GROUP     GROUPNAME   STATE      FDT        INTERFACES
itops0    itops0      ok         10.00s     net0 net1 (net2)

# ipmpstat -t
INTERFACE  MODE     TESTADDR        TARGETS
net0       routes   192.168.10.30   192.168.10.1
net1       routes   192.168.10.32   192.168.10.1
net2       routes   192.168.10.34   192.168.10.5