One major case in which you want network bridging is when using virtualization. Because it allows you to expose your virtual machines to the rest of the network as if they were physically there. One limitation I found is that the bridge cannot be configured to have an own ip address. This justified using network bonding even less in my case, but read on!
Current versions of Network Manager let you configure bridges with the mouse, but they ain’t well pre configured and you have to manually disable dhcp on the bridge.
Another possibility is using netctl which is believed to be more stable on servers. A sample configration file might be provided as
/etc/netctl/examples/bridge. At least that is the path where I took this one from:
Description="Bridge for the guest machines"
#PRE_UP='ip link set dev enp1s0 address 13:37:13:37:13:37'
## Ignore (R)STP and immediately activate the bridge
Notice, that I set
IP=no and filled
BindToInterfaces with the name of one of the interfaces from the output of
ifconfig to keep this short. Having a second network card installed that can be used to acces the host from the network. I have done it like this:
Description='A basic dhcp ethernet connection'
## for DHCPv6
## for IPv6 autoconfiguration
bonding with bridges failed
I tried bonding the two interfaces together but got strange errors in the syslog telling me about some packages received by the same interface sending them. After some googeling it seems as if this is caused by a bonding mode which does not support bridging. Some bonding modes can only be used together with a switch supporting them, so you can only use some modes if you own the right hardware.