Bridge vs bond (new user)

senseivita

Member
Sep 1, 2021
9
2
8
senseivita.com
I'm trying out Proxmox VE on a couple of hosts to learn about it (and maybe switch from vSphere). In the network setup there's the vmbr interface as expected — I skimmed the docs beforehand — where the address I gave on the setup is set. In it's properties, the "VLAN aware" checkbox suggests this is a Linux DSA switch.

I'm fairly new to DSA but being so down-level I figured it would minimize downtime in the future having it there already on my Linux systems, plus I learned (from Mikrotik's docs) that there's a fuller feature set than otherwise, such as spanning tree. Most of these Linux systems are virtualized and have only one (v)NIC though, a very fast VMXNET3 interface whose backplane is handled by vSphere and I only need to split the VLANs from a single port client-side. On the other side all vSphere uplinks of a virtual switch or virtual distributed switch have some sort of load balancing.

But what Linux switch bridge without a balancing scheme, what would happen exactly when several connection between it an a physical switch is done? Isn't that like ECMP? Or a just broadcast storm?

The documentation (Proxmox's) recommends LACP, which I'm all on board with, however; for that I think I need to use the LACP bond as the sole port of the DSA bridge, before I do that, I'm wondering if there's more to switches that would allow balancing interfaces directly.

This had crossed my mind a few times already outside of Proxmox, but as I said, I'm on a comfortable vSphere/vSAN environment, so no pressure...until I noticed "ZFS clusters", and "Ceph", and "ZFS on iSCSI", and "Open vSwitch".

I'd love if you could offer a little insight on bridge vs bond (in regards to load balancing/aggregation), please. Thanks!
 
Never mind, I found exactly what I was referring to in the documentation.
Another possibility it to use the bond directly as bridge port.This can be used to make the guest network fault-tolerant.

Example: Use a bond as bridge port
Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

auto bond0
iface bond0 inet manual
bond-slaves eno1 eno2
bond-miimon 100
bond-mode 802.3ad
bond-xmit-hash-policy layer2+3

auto vmbr0
iface vmbr0 inet static
address  10.10.10.2/24
gateway  10.10.10.1
bridge-ports bond0
bridge-stp off
bridge-fd 0

I think that kills the chances of direct interface balancing by a bridge. Hopefully not.

Thanks anyway. :)