Skip Navigation Links | |
Exit Print View | |
![]() |
Oracle Solaris Administration: Network Interfaces and Network Virtualization Oracle Solaris 11 Information Library |
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
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
12. Administering Link Aggregations
IPMP Group Creation and Configuration (Task Map)
IPMP Group Maintenance (Task Map)
Probe-Based Failure Detection Configuration (Task Map)
IPMP Group Monitoring (Task Map)
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
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
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 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
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.
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.
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.
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.
All interfaces in the same group must have the same STREAMS modules configured in the same order.
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.
ifconfig interface modinsert module-name@position
ifconfig net0 modinsert vpnmod@3
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.
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.
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.
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.
IPMP is not supported for interfaces using Classical IP over ATM.
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.
For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.
# 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.
# ipadm create-ip under-interface
where under-interface refers to the IP interface that you will add 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.
# 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.
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:
Three underlying interfaces for the IPMP group will be configured over their respective datalinks net0, net1, and net2 are designated members of the IPMP group.
The IPMP interface itops0 shares the same name with the IPMP group.
net2 is the designated standby interface.
To use probe-based failure detection, all the underlying interfaces are assigned test addresses.
# 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
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.
For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.
# 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.
# 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.
# 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.
# 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.
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.
For more information, see How to Obtain Administrative Rights in Oracle Solaris Administration: Security Services.
# 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.
# 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.
# 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.
# 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.
# 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