To create a bridge over bonded network interfaces in RHEL/CentOS 7.3 and above use the following nmcli commands:
# nmcli c add type bridge ifname bridge0 con-name bridge-bridge0
# nmcli c add type bond ifname bond0 con-name bridge-slave-bond0 master bridge-bridge0 type bond_type
# nmcli c add type ethernet ifname interface1 con-name bond-slave-interface1 master bond0
# nmcli c add type ethernet ifname interface2 con-name bond-slave-interface2 master bond0
# nmcli c add type bond ifname bond0 con-name bridge-slave-bond0 master bridge-bridge0 type bond_type
# nmcli c add type ethernet ifname interface1 con-name bond-slave-interface1 master bond0
# nmcli c add type ethernet ifname interface2 con-name bond-slave-interface2 master bond0
Notes:
- Make sure you use the correct/appropriate bond_type (see this page for details regarding bonding and KVM hosts and guests network connectivity: https://access.redhat.com/solutions/67546)
- Bonding apparently works (better?) than Teaming on a KVM host.
- Original set of instructions found at the bottom of 'Bug 1183420' on RedHat Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1183420