Multiple IEEE 802.3ad (LACP) trunks with Linux

I had come to the conclusion that whenever something should be configurable, it already is with Linux. Unfortunately, that’s not true in every case, as I had to find out with a new network topology.

We’ve set up a new (small) site backbone, consisting of two SMC8926EM, stacked via a 10GB link. That way a redundant collapsed back-bone with LACP support could be formed. Both the end-user switches and many of the servers are connected with at least two 1GB links to that stack, and the switch setup was mostly nice and easy.

We configured local keys per LACP trunk within the central switch and, for the uplinks, within the end-user switches. Almost like plug&play, piece of cake.

interface ethernet 1/24
[…]
lacp
lacp actor admin-key 11

 

interface ethernet 2/24
[…]
lacp
lacp actor admin-key 11

To avoid getting all links of the LACP-attached servers joined into a single trunk, we had to go a bit further: As we’ve found no way to set the LACP key of the Linux side of the links, we had to rely on the switches ability to set that on behalf of the servers.

interface ethernet 1/3
[…]
lacp
lacp actor admin-key 2
lacp partner admin-key 2

 

interface ethernet 2/3
[…]

lacp
lacp actor admin-key 2
lacp partner admin-key 2

Why can’t we configure that key on the Linux end of the link? How’d we create two separate LACP trunks between two Linux servers without a switch in between?

This entry was posted in Ethernet, Linux. Bookmark the permalink.

Leave a Reply