So which is it? What is your favorite Linux? Transitioning from the clunky “bonding” in RedHat to the ease of configuring link aggregation in OpenSolaris – among other things – I am beginning to love OpenSolaris.
Creating the Link Aggregate
If your configuration was similar to mine, you will already have your interfaces plumbed – which means they cannot be added to the link aggregate until they are unplumb’ed.
Checking for Plumbing
If you try to create an aggregate with plumbed interfaces, you will receive a “dladm: create operation failed: link busy” error. You can check if they have been plumbed as they will show in the list for “ifconfig -a”:
e1000g0: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 8 inet 0.0.0.0 netmask 0 ether 0:15:17:b8:47:a8 e1000g1: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 9 inet 0.0.0.0 netmask 0 ether 0:15:17:b8:47:a9 e1000g2: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 10 inet 0.0.0.0 netmask 0 ether 0:15:17:b8:47:aa e1000g3: flags=1000842<BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 11 inet 0.0.0.0 netmask 0 ether 0:15:17:b8:47:ab
If they appear, as shown above, unplumb them using the following commands:
ifconfig e1000g0 unplumb ifconfig e1000g1 unplumb ifconfig e1000g2 unplumb ifconfig e1000g3 unplumb
Create the Aggregate and Plumb It!
Using the dladm tool, you can easily create the aggregate usign the following command:
dladm create-aggr -d e1000g0 -d e1000g1 -d e1000g2 -d e1000g3 1
You’lll notice a -d with each interface and a number 1 at the end. The number 1 references the aggregate number and it must start at 1, not 0.
Next we will plumb the newly created aggregate with an IP address:
ifconfig aggr1 plumb 192.168.0.101 up
Show me the Aggregate
If you are like me, then you will want to see the aggregate configured:
You should see an output similar to the following:
LINK POLICY ADDRPOLICY LACPACTIVITY LACPTIMER FLAGS aggr1 L4 auto off short -----
Modify Aggregate for LACP
To ensure that LACP is functioning as I would hope, I modified the aggregate, changing LACPACTIVITY to active instead of off. Use the following command to modify LACPACTIVITY:
dladm modify-aggr -L active -T short 1
Now run the following command to verify the settings took:
You should now see an output similar to the following:
LINK POLICY ADDRPOLICY LACPACTIVITY LACPTIMER FLAGS aggr1 L4 auto active short -----
Setting Aggregate IP Configuration as Persistent
To ensure that your IP address configuration for the aggregate is persistent across reboots, modify the /etc/hostname.aggr1 file and add the desired IP address. The /etc/hostname.aggr1 should contain one line consisting of the IP address:
Obviously, you must configure the switch for LACP otherwise your aggregate will fail. Each switch is different, refer to the manual for your switch.