C H A P T E R  7

Configuring Link Aggregation

This chapter describes how to configure link aggregation. This chapter contains the following sections:


Link Aggregation Overview

Link aggregation enables one or more network links to be aggregated together to form a link aggregation group. This link aggregation group appears to MAC clients as a regular link. Link aggregation is defined by IEEE 802.3ad and provides the following benefits:


Configuring Link Aggregation in a Solaris Environment

This section explains how to configure link aggregation in a Solaris environment.


procedure icon  To Configure Link Aggregation in a Solaris Environment

1. Aggregate nxge0 and nxge1 to form an aggregation and use a random number as key.

a. Unplumb the interfaces to be aggregated:


# ifconfig down unplumb nxge0
# ifconfig down unplumb nxge1

b. Create a link aggregation group with a random number as a key without specifying mode. This example uses 33.


# dladm create-aggr -d nxge0 -d nxge1 33

As the command returns, one line appears in the /etc/aggregation.conf file and indicates that the default mode is off. For example:


# tail -1 /etc/aggregation.conf
33      L4      2       nxge0/0,nxge1/0   auto    off     short
 
# dladm show-aggr
key: 33 (0x0021)        policy: L4      address: 0:3:ba:d8:9d:e8 (auto)
         device       address           speed         duplex  link    state
         nxge0        0:3:ba:d8:9d:e8   10000  Mbps   full    up      standby
         nxge1        0:3:ba:d8:9d:e9   10000  Mbps   full    up      standby
 
# dladm show-link aggr33
aggr33          type: non-vlan  mtu: 1500       aggregation: key 33
 

2. Plumb up the interface aggrkey, which is aggr33 is this case:


# ifconfig aggr33 plumb
# ifconfig aggr33
aggr33: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 8               
        inet 0.0.0.0 netmask 0
        ether 0:3:ba:d8:9d:e8
 
# ifconfig aggr33 192.168.1.1/24 broadcast + up
 
# ifconfig aggr33
aggr33: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 8
        inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255
        ether 0:3:ba:d8:9d:e8

3. Show link aggregation status again.

The state should become attached:


# dladm show-aggr
key: 33 (0x0021)        policy: L4      address: 0:3:ba:d8:9d:e8 (auto)
 
         device       address           speed         duplex  link    state
         nxge0        0:3:ba:d8:9d:e8   10000  Mbps   full    up      attached
         nxge1        0:3:ba:d8:9d:e9   10000  Mbps   full    up      attached
 

4. Use the dladm show-aggr -s command to display statistics:


# dladm show-aggr -s
key: 33                 ipackets  rbytes    opackets  obytes  %ipkts  %opkts
         Total            0         0         16        1182
         nxge0            0         0         16        1182    -       100.0
         nxge1            0         0         0         0       -       0.0

 

5. Use the dladm show-aggr -L command to display LACP specific information:


# dladm show-aggr -L
key: 33 (0x0021)        policy: L4      address: 0:3:ba:d8:9d:e8 (auto)
                LACP mode: off  LACP timer: short
device    activity timeout aggregatable sync  coll dist defaulted expired
nxge0      passive  short   yes          no    no   no   no        no
nxge1      passive  short   yes          no    no   no   no        no

For more information refer to the man pages for dladm, man dladm.


Configuring Link Aggregation in a Linux Environment

This section explains how to configure link aggregation in a Linux environment.


procedure icon  To Configure Bonding for Multiple nxge Interfaces

1. Modify the /etc/modprobe.conf file for the 2.6 kernels file by adding these lines:


alias bond0 bonding
options bonding max_bonds=2 mode=4 miimon=1000

where:

Refer to Linux documentation for more information.

2. Load the bonding driver:


# modprobe bonding

3. Configure the bond0 interface.

In this example, bond0 is the master of the two interfaces eth4 and eth5.


# ip addr add 192.12.38.64/24 brd + dev bond0
# ip link set dev bond0 up
# ifenslave  bond0 eth4 eth5