2021-05-19 21:07:56

by Jarod Wilson

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

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



2021-05-21 20:17:02

by Jarod Wilson

[permalink] [raw]
Subject: [PATCH net-next v2 0/4] bonding/balance-alb: support VMs behind bridges better

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.

v2 attempts to support srcmac-only hashing via a modparam instead of by
adding yet another hashing mode, as well as cleaning up and clarifying
commit messages.

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

Documentation/networking/bonding.rst | 13 +++++++++++++
drivers/net/bonding/bond_alb.c | 24 +++++++++++++++++++++---
drivers/net/bonding/bond_main.c | 23 +++++++++++++++--------
3 files changed, 49 insertions(+), 11 deletions(-)

--
2.30.2