{{tag>[centos7 rhel7 network bonding teaming]}}
=====RHEL7 teaming instead of bonding=====
* Configure teaming:# Create team device
nmcli c add type team con-name Team0 ifname team0 config '{"runner": {"name": "lacp"}}'
# Add NICs to team
nmcli c add type team-slave con-name Team0-port1 ifname eno1 master Team0
nmcli c add type team-slave con-name Team0-port2 ifname enp2s0f0 master Team0
nmcli c add type team-slave con-name Team0-port3 ifname enp2s0f1 master Team0
nmcli c add type team-slave con-name Team0-port4 ifname enp4s0 master Team0
# Bring up team
nmcli c up Team0-port1
nmcli c up Team0-port2
nmcli c up Team0-port3
nmcli c up Team0-port4
# Verify team0 is up, list ports
ip link
teamnl team0 ports
teamdctl team0 state
# Create VLAN devices
nmcli con add type vlan con-name VLAN10 dev team0 id 10
nmcli con add type vlan con-name VLAN50 dev team0 id 50
nmcli con add type vlan con-name VLAN100 dev team0 id 100
nmcli con add type vlan con-name VLAN110 dev team0 id 110
* Bonding example:#Create bond0 device
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad
#Disable IP on bond0 interface
nmcli c mod bond0 ipv4.method disabled
nmcli c mod bond0 ipv6.method ignore
#Add slaves
nmcli con add type bond-slave ifname eno1 master bond0
nmcli con add type bond-slave ifname enp2s0f0 master bond0
nmcli con add type bond-slave ifname enp2s0f1 master bond0
nmcli con add type bond-slave ifname enp4s0 master bond0
#Bring up slaves and then the bond0 device.
nmcli c up bond-slave-eno1
nmcli c up bond-slave-enp2s0f0
nmcli c up bond-slave-enp2s0f1
nmcli c up bond-slave-enp4s0
nmcli c up bond0
#Check bond0 interface stats
cat /proc/net/bonding/bond0 | less
#Create VLAN devices
vlans=( 10 50 100 110 )
for i in "${vlans[@]}"
do
nmcli c add type vlan con-name vlan$i dev bond0 id $i
nmcli c mod vlan$i ipv4.method disabled
nmcli c mod vlan$i ipv6.method ignore
done
#Create bridges
vlans=( 10 50 100 110 )
for i in "${vlans[@]}"
do
nmcli con add type bridge con-name br$i ifname br$i
nmcli c mod br$i ipv4.method disabled
nmcli c mod br$i ipv6.method ignore
nmcli c mod br$i bridge.stp no
done
#Add bridge slaves
vlans=( 10 50 100 110 )
for i in "${vlans[@]}"
do
nmcli c add type bridge-slave ifname bond0.$i master br$i
done
#Show bridges
brctl show