Skip to content


EtherChannel in Linux aka adapter bonding

Bonding? What is it? Well, this is EtherChannel spoken in LINUX. To configure it, a host has to have at least two Ethernet adapters. If not sure what adapter is connected with the network you can turn it identification light on executing the next command which will “illuminate” the eth3 (in this case) for fifteen seconds.

# ethtool -p eth3 15

The last command will turn the light off ent3 interface after fifteen seconds. If NIC does not have ID light (led), pull out its network cable and watch the /var/log/messages file for the appropriate entry – they will tell you what NIC lost network connectivity.

The reset is very simple. In LINUX, it seems that it is customary to name the “bonded” adapters bond followed with a digit. For example the first “bonded” adapter is called bond0.

To configure it, execute the following steps:

a. Move to the /etc/sysconfig/network-scripts directory and edit appropriate ifcfg-* files to contain the following lines (the ifcfg-eth0 shown)

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
NM_CONTROLLED=no
MASTER=bond0
SLAVE=yes

It is the MASTER statement that identifies the adapters common (bonded) entity which in this case is ifcfg-bond0.

b. edit the ifcfg-bond0 to contain the following:

DEVICE=bond0
IPADDR=101.216.4.50
NETMASK=255.255.255.0
GATEWAY=101.216.4.254
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
USERCTL=no
BONDING_OPTS="mode=1 miimon=1000"

The values associated with addresses, netmask and gateway are site dependent and in your case will be different. The BONDING_OPTS entry defines a space delimited list of the bonded adapter parameters:

miimon Specifies (in milliseconds) how often MII link monitoring occurs.
mode=1 Sets an active-backup policy for fault tolerance.

At boot time, to automatically load code making the bonded adapters possible, we have to make sure to create the file in /etc/modprobe.d called bind0.conf which contains one line:

alias bond0 bonding

Finally, restart the network service.

# service network restart

And verify that bond0 has the right components and IP address execute the next command.

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether ac:16:2d:89:4e:0c brd ff:ff:ff:ff:ff:ff
3: eth1: <BROADCAST,MULTICAST,SLAVE,UP,LOWER_UP> mtu 1500 qdisc mq master bond0 state UP qlen 1000
    link/ether ac:16:2d:89:4e:0c brd ff:ff:ff:ff:ff:ff
4: eth2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether ac:16:2d:89:4e:0e brd ff:ff:ff:ff:ff:ff
5: eth3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
    link/ether ac:16:2d:89:4e:0f brd ff:ff:ff:ff:ff:ff
6: bond0: <BROADCAST,MULTICAST,MASTER,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether ac:16:2d:89:4e:0c brd ff:ff:ff:ff:ff:ff
    inet 10.26.4.50/24 brd 10.26.4.255 scope global bond0
    inet6 fe80::ae16:2dff:fe89:4e0c/64 scope link
       valid_lft forever preferred_lft forever

Posted in Linux, Real life AIX.

Tagged with , , , , , .


0 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.



Some HTML is OK

or, reply to this post via trackback.

WordPress Anti Spam by WP-SpamShield



Copyright © 2016 - 2017 Waldemar Mark Duszyk. All Rights Reserved. Created by Blog Copyright.