[2024-feb-29] Sad news: Eric Layton aka Nocturnal Slacker aka vtel57 passed away on Feb 26th, shortly after hospitalization. He was one of our Wiki's most prominent admins. He will be missed.

Welcome to the Slackware Documentation Project

This is an old revision of the document!


Interface bonding

Linux has a bonding driver that provides a method for aggregating multiple network interfaces into a single logical interface. Behavior of bonded interfaces depends on selected bonding mode.
For more details on the supported modes please check Documentation/networking/bonding.txt in Linux's kernel sources.

Configure interface bonding

It is recommended to configure bonding via iproute2 (netlink) or sysfs, the old ifenslave control utility is obsolete.

First you will need to load the bonding kernel module. You'll need to specify at least the mode you want the bonding to be created in.

modprobe bonding mode=balance-alb miimon=100

After that you need to set some IP address to the new bonding interface and bring is up

ip addr add 10.1.1.2/16 dev bond0
ip link set bond0 up

And the last step is to add the network interfaces to the new virtual bonding interface.

ip link set eth0 master bond0
ip link set eth1 master bond0
Alternative method of creating/manipulating the bonding interfaces via sysfs
echo balance-alb > /sys/class/net/bond0/bonding/mode
ip addr add 10.1.1.2/16 dev bond0
ip link set bond0 up
echo 100 > /sys/class/net/bond0/bonding/miimon
echo +eth0 > /sys/class/net/bond0/bonding/slaves
echo +eth1 > /sys/class/net/bond0/bonding/slaves

Sources

 howtos:misc:network_interace_bonding ()