[PATCH 0/4] bond_alb: support VMs behind bridges better

From: Jarod Wilson
Date: Tue May 18 2021 - 17:09:17 EST


I've been further educated on a use case, where a bridge sits on top of
a bond, with multiple vnetX interfaces attached to virtual machines,
also acting as ports of the bridge. Each leg of the bond goes to a
different switch, but there is NO mlag/vpc in play, the bonding driver
has to handle traffic that loops back appropriately to avoid breaking
transmission. Rather than adding some sort of mac filtering to
balance-xor mode, we switched to using balance-alb, which already does
some of this, and with the tweaks provided in this series, empirically
seems to behave as desired in actual operation.

Jarod Wilson (4):
bonding: add pure source-mac-based tx hashing option
bond_alb: don't rewrite bridged non-local MACs
bond_alb: don't tx balance multicast traffic either
bond_alb: put all slaves into promisc

Documentation/networking/bonding.rst | 13 ++++++++++++
drivers/net/bonding/bond_alb.c | 27 ++++++++++++++++++++++--
drivers/net/bonding/bond_main.c | 31 ++++++++++++++++++----------
drivers/net/bonding/bond_options.c | 1 +
include/linux/netdevice.h | 1 +
include/uapi/linux/if_bonding.h | 1 +
6 files changed, 61 insertions(+), 13 deletions(-)

--
2.30.2