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:
dladm show-aggr
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:
dladm show-aggr
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:
192.168.0.101
Switch Configuration
Obviously, you must configure the switch for LACP otherwise your aggregate will fail. Each switch is different, refer to the manual for your switch.
I’m out…
Thank you for pointing me in the right direction…
Thanks for a simple walk-through.
One issue I have though, unplumbing either of the NICs, within a second it comes back up and then the create-aggr command gives me the busy error.
I have tried killing the dhcp daemon as per another post but that does not help.
A noob to all this so any clues would be appreciated
Cheers,
Crispin
Hello, thanks for tut, but I have problems getting LAG to work, I have a dell powerconnect 2724 which is suppose to work with this.
When I set it up I can get an local IP from DHCP (if I don’t set it myself like in this tut) but I still don’t get connected to the internet or the local network.
Alså, when I reboot the LACP link is gone from dladm show-link and show-aggr
I’m running Solaris 11 Express, I hope you know what to do?