I am using Cumulus Linux 2.5.7. I would like to load balance traffic across multiple ports as it leaves the switch. I do not have to ability to control or predict how the host machine will be configured.
In order to accomplish load balancing, I have created a bonded interface that enslaves destination ports and added this bond as a member of a bridge containing the source ports. Unfortunately, this configuration resembles a multicast not a LAG.
Here is what I implemented:
auto bond1iface bond1
bond-slaves swp3 swp2
bridge-ports bond1 swp1
When passing traffic from swp1, both swp2 and swp3 get all packets. So for example, if I generate 10 packets with random MAC and IP sources, both swp2 and swp3 get all 10 packets. I need to implement a configuration where the traffic is load balanced across the ports without duplicate packets being received.
Please let me know if there is a way to configure bonded interfaces and bridges in a way that accomplishes this, or if I need to take a different approach.