sun.com docs.sun.com My Sun Worldwide Sites

Previous Previous     Contents     Index     Next Next

ProcedureSPARC: How to Ensure That the MAC Address of an Interface Is Unique, in Solaris 10 3/05 ONLY

Before you configure an IPMP group, you must verify that every interface in the prospective group has a unique MAC address. Almost all interfaces come configured with a factory-set unique MAC address. However, every SPARC-based system has a system-wide MAC address, which by default is used by all interfaces. In an IPMP group, each interface must have a unique MAC address. Therefore, you must ensure that the EEPROM parameter local-mac-address? is set to true so that the interfaces use their factory-set MAC addresses. You can use the eeprom command to check the current value of local-mac-address? and change it, if necessary.

  1. On the system with the interfaces to be configured, 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. Determine whether all interfaces on the system currently use the system-wide MAC address.

    # eeprom local-mac-address?
    local-mac-address?=false

    In the example, the value of local-mac-address?=false indicates that all interfaces do use the system-wide MAC address. The value of local-mac-address?=false must be changed to true before the interfaces can become members of an IPMP group.

  3. If necessary, change the value of local-mac-address? as follows:

    # eeprom local-mac-address?=true

    When you reboot the system, the interfaces with factory-set MAC addresses instead use these factory settings. Interfaces without factory-set MAC addresses continue to use the system-wide MAC address.

  4. Check the MAC addresses of the interfaces on the system.

    ifconfig -a
    lo0: flags=1000849 <UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1
         inet 127.0.0.1 netmask ff000000 
    hme0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
         inet 10.0.0.112 netmask ffffff80 broadcast 10.0.0.127
         ether 8:0:20:0:0:1
    hme1: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
         inet 10.0.0.114 netmask ffffff80 broadcast 10.0.0.127
         ether 8:0:20:0:0:1
    ge0: flags=1004843 <UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
         inet 10.0.0.118 netmask ffffff80 broadcast 10.0.0.127
         ether 8:0:20:1:1:1

    Look for cases where multiple interfaces have the same MAC address. In the previous example, hme0 and hme1 both have the same MAC address.


    Note - Continue to the next step only if more than one network interface still has the same MAC address.


  5. If necessary, manually configure the remaining interfaces so that all interfaces have unique MAC addresses.

    Place a unique MAC address in the /etc/hostname.interface for the particular interface.


    Note - To prevent any risk of manually configured MAC addresses conflicting with other MAC addresses on your network, you must always configure locally administered MAC addresses, as defined by the IEEE 802.3 standard.


    In the previous example, you must configure either hme0 or hme1 with a locally-administered MAC address. For example, to reconfigure hme1 with the locally-administered MAC address 06:05:04:03:02, you would add the following line to /etc/hostname.hme1:

    ether 06:05:04:03:02 

    You also can use the ifconfig ether command to configure an interface's MAC address for the current session. However, any changes made directly with ifconfig are not preserved across reboots. Refer to the ifconfig(1M) man page for details.

  6. Reboot the system.

Configuring IPMP Groups

This section contains configuration tasks for a typical IPMP group with at least two physical interfaces.

ProcedureHow to Configure an IPMP Group With Multiple Interfaces

Before You Begin

You need to have already configured the IPv4 addresses, and, if appropriate, the IPv6 addresses of all interfaces in the prospective IPMP group.

  1. On the system with the interfaces to be configured, 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. Place each physical interface into an IPMP group.

    # ifconfig interface group group-name

    For example, to place hme0 and hme1 under group testgroup1, you would type the following commands:

    # ifconfig hme0 group testgroup1
    # ifconfig hme1 group testgroup1

    Avoid using spaces in group names. The ifconfig status display does not show spaces. Consequently, do not create two similar group names where the only difference is that one name also contains a space. If one of the group names contains a space, these group names look the same in the status display.

    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.

  3. (Optional) Configure an IPv4 test address on one or more physical interfaces.

    You need to configure a test address only if you want to use probe-based failure detection on a particular interface. Test addresses are configured as logical interfaces of the physical interface that you specify to the ifconfig command.

    If one interface in the group is to become the standby interface, do not configure a test address for that interface at this time. You configure a test address for the standby interface as part of the task How to Configure a Standby Interface for an IPMP Group.

    Use the following syntax of the ifconfig command for configuring a test address:

    # ifconfig interface addif ip-address <parameters> -failover deprecated up

    For example, you would create the following test address for the primary network interface hme0:

    # ifconfig hme0 addif 192.168.85.21 netmask + broadcast + -failover deprecated up

    This command sets the following parameters for the primary network interface hme0:

    • Address set to 192.168.85.21

    • Netmask and broadcast address set to the default value

    • -failover and deprecated options set


      Note - You must mark an IPv4 test address as deprecated to prevent applications from using the test address.


  4. Check the IPv4 configuration for a specific interface.

    You can always view the current status of an interface by typing ifconfig interface. For more information on viewing an interface's status, refer to How to Get Information About a Specific Interface.

    You can get information about test address configuration for a physical interface by specifying the logical interface that is assigned to the test address.

    # ifconfig hme0:1
    	hme0:1: flags=9000843<UP,BROADCAST,RUNNING,MULTICAST,DEPRECATED,IPv4,NOFAILOVER>
        mtu 1500 index 2 
        inet 192.168.85.21 netmask ffffff00 broadcast 192.168.85.255

  5. (Optional) If applicable, configure an IPv6 test address.

    # ifconfig interface inet6 -failover

    Physical interfaces with IPv6 addresses are placed into the same IPMP group as the interfaces' IPv4 addresses. This happens when you configure the physical interface with IPv4 addresses into an IPMP group. If you first place physical interfaces with IPv6 addresses into an IPMP group, physical interfaces with IPv4 addresses are also implicitly placed in the same IPMP group.

    For example, to configure hme0 with an IPv6 test address, you would type the following:

    # ifconfig hme0 inet6 -failover

    You do not need to mark an IPv6 test address as deprecated to prevent applications from using the test address.

  6. Check the IPv6 configuration.

    # ifconfig hme0 inet6
    	hme0: flags=a000841<UP,RUNNING,MULTICAST,IPv6,NOFAILOVER> mtu 1500 index 2
            	inet6 fe80::a00:20ff:feb9:17fa/10 
            	groupname test

    The IPv6 test address is the link-local address of the interface.

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

    • For IPv4, add the following line to the /etc/hostname.interface file:

      interface-address <parameters> group group-name up \
      	addif logical-interface -failover deprecated <parameters> up

      In this instance, the test IPv4 address is configured only on the next reboot. If you want the configuration to be invoked in the current session, do steps 1, 2, and, optionally 3.

    • For IPv6, add the following line to the /etc/hostname6.interface file:

      -failover group group-name up

      This test IPv6 address is configured only on the next reboot. If you want the configuration to be invoked in the current session, do steps 1, 2, and, optionally, 5.

  8. (Optional) Add more interfaces to the IPMP group by repeating steps 1 through 6.

    You can add new interfaces to an existing group on a live system. However, changes are lost across reboots.

Example 31-1   Configuring an IPMP Group With Two Interfaces

Suppose you want to do the following:

  • Have the netmask and broadcast address set to the default value.

  • Configure the interface with a test address 192.168.85.21.

You would type the following command:

# ifconfig hme0 addif 192.168.85.21 netmask + broadcast + -failover deprecated up

You must mark an IPv4 test address as deprecated to prevent applications from using the test address. See How to Configure an IPMP Group With Multiple Interfaces.

To turn on the failover attribute of the address, you would use the failover option without the dash

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.

Example 31-2   Preserving an IPv4 IPMP Group Configuration Across Reboots

Suppose you want to create an IPMP group called testgroup1 with the following configuration:

  • Physical interface hme0 with address 192.168.85.19

  • A logical interface address of 192.168.85.21

  • deprecated and -failover options set

  • Netmask and broadcast address set to the default value

You would add the following line to the /etc/hostname.hme0 file:

192.168.85.19 netmask + broadcast + group testgroup1 up \
	addif 192.168.85.21 deprecated -failover netmask + broadcast + up

Similarly, to place the second interface hme1 under the same group testgroup1 and to configure a test address, you would add the following line:

192.168.85.20 netmask + broadcast + group testgroup1 up \
	addif 192.168.85.22 deprecated -failover netmask + broadcast + up

Example 31-3   Preserving an IPv6 IPMP Group Configuration Across Reboots

To create a test group for interface hme0 with an IPv6 address, you would add the following line to the /etc/hostname6.hme0 file:

-failover group testgroup1 up

Similarly, to place the second interface hme1 in group testgroup1 and to configure a test address, you would add the following line to the /etc/hostname6.hme1 file:

-failover group testgroup1 up

Troubleshooting

During IPMP group configuration, in.mpathd outputs a number of messages to the system console or to the syslog file. These messages are informational in nature and indicate that the IPMP configuration functions correctly.

  • This message indicates that interface hme0 was added to IPMP group testgroup1. However, hme0 does not have a test address configured. To enable probe-based failure detection, you need to assign a test address to the interface.

    May 24 14:09:57 host1 in.mpathd[101180]: No test address configured on interface hme0;
    disabling probe-based failure detection on it.
    testgroup1

  • This message appears for all interfaces with only IPv4 addresses that are added to an IPMP group.

    May 24 14:10:42 host4 in.mpathd[101180]: NIC qfe0 of group testgroup1 is not 
    plumbed for IPv6 and may affect failover capability

  • This message should appear when you have configured a test address for an interface.

    Created new logical interface hme0:1
    May 24 14:16:53 host1 in.mpathd[101180]: Test address now configured on interface hme0;
     enabling probe-based failure detection on it

See Also

If you want the IPMP group to have an active-standby configuration, go on to How to Configure a Standby Interface for an IPMP Group.

Previous Previous     Contents     Index     Next Next
Company Info Contact Terms of Use Privacy Copyright 1994-2007 Sun Microsystems, Inc.