How to Check the Status of Bond Interface in Linux

Red Hat Enterprise Linux allows administrators to bind multiple network interfaces together into a single channel using the bonding kernel module and a special network interface called a channel bonding interface. Channel bonding enables two or more network interfaces to act as one, simultaneously increasing the bandwidth and providing redundancy.

Network Interface Bonding (NIC) bonding/teaming is advisable if you are hosting critical apps and you wanted to avoid downtime.

If you wanted to check the status of a bond interface in your Redhat/CentOS box, you can do this by firing the below command. In this example, we will use bond0 as the name of our bond interface.

# cat /proc/net/bonding/bond0

Below is a sample output from the above command. Useful information can be derived like the version of the Ethernet Channel Bonding Driver, the bonding mode used, bond interface status, each NIC port status and the MAC address for each NIC port.
[root@phserver01 ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.4.0-2 (October 7, 2008)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:21:5a:9b:16:40

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:21:5a:9b:16:46

If you wanted to check the configuration files for the interfaces involved in our example, you can check via the below command/location.

# cat /etc/sysconfig/network-scripts/ifcfg-bond0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth1

Do you have something in mind? Let's discuss it below.

No comments