LACP Trunk-member Compatibility Question
At one point in time, I seem to recall that attempting to create LACP bonded interfaces that used different driver families (e.g., create an aggregate from an two Intel 1Gbps NICs and two Broadcomm 1Gbps NICs) wouldn't work. At least, what I seem to recall is that it wouldn't work from the standpoint of having four active members of the bond - you'd end up with an active trunk-pair (e.g., the Intel NICs) and a passive trunk-pair (e.g. the Broadcomm NICs). I thought I'd read it in one of the bonding driver READMEs. Unfortunately, now that I've been asked to revisit the question, I can't seem to locate where I'd seen this. Does anyone know if my recollection is in error? If my recollection is correct, does anyone know which document I might have found that had that notation? My Google-fu is coming up short, this evening.
Responses
You can find the bonding documentation in bonding.txt in the kernel-doc package.
The LACP standard (802.3ad) requires that all slaves of a Mode 4 bond have the same speed.
You should be able to add dissimilar NICs without a problem, your Intel and Broadcom example should work fine. One thing which might be tripping you up is the underlying capabilities of each NIC. Make sure all the offloading settings (ethtool -k ethX) are the same. You can persist these settings if required with ifup-local.
The Linux bonding driver can only be a "passive" member of an LACP bond, you might need to set your Port-Channel on the switch to be the "active" member.
If you're connecting to two logically different switches, the switches need some sort of technology to share their MAC tables. Cisco's Virtual Port-Channel is an example of this.
If you connect to two completely separate switches, then you'll have two load-balanced "bundles" in the one bond, each bundle to one switch. One bundle takes over if the other switch goes down.
You can check the status of the bond with cat /proc/net/bonding/bondX
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
