Skip Navigation Links | |
Exit Print View | |
![]() |
Oracle Solaris Administration: Network Interfaces and Network Virtualization Oracle Solaris 11 Express 11/10 |
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
11. 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 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
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
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
This section provides procedures that are used to plan and configure IPMP groups.
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 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.
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 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.
ifconfig interface modinsert module-name@position
ifconfig hme0 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.
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
For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.
# 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.
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.
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.
# ifconfig interface group group-name -failover [standby] up
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
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:
Three underlying interfaces, subitops0, subitops1, and subitops2 are designated members of the IPMP group.
The IPMP interface itops0 shares the same name with the IPMP group.
subitops2 is the designated standby interface.
To use probe-based failure detection, all the underlying interfaces are assigned test addresses.
# 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
The following procedure describes steps to manually configure an active-active IPMP group.
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.
For more information, see How to Obtain Administrative Rights in System Administration Guide: Security Services.
# ifconfig ipmp-interface ipmp [group group-name]
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.
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.
# 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.
# 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.
# 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.
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:
ipmp group group-name data-address up addif data-address ...
You can add more data addresses on separate addif lines in this file.
group group-name -failover test-address up
Follow this same step to add test addresses to other underlying interfaces of the IPMP group.
![]() | 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. |
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 System Administration Guide: Security Services.
# ifconfig ipmp-interface ipmp [group group-name]
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.
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.
# 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.
# 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.
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.
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:
ipmp group group-name data-address up addif data-address ...
You can add more data addresses on separate addif lines in this file.
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 - 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