Because I do not own enough equipment to build a useful lab, I leave this lab as an exercise to those who want to try. It is not difficult; just follow the instructions in the excellent Linux kernel documentation bonding.txt that comes with the kernel sources and look at the remarks in the ifenslave.c code. This is a truly versatile feature. As guidance, consider the following course of action:
If you are interested in the Beowulf cluster package, you can look at how this feature is used for scalable network I/O operation at http://www.beowulf.org/software/bonding.html.
As a little help, Example 5-28 offers a short description of how to configure Cisco-compliant Fast EtherChannel on FreeBSD with two interfaces (ed0, ed1) via the netgraph(3) library after applying the patch from http://people.freebsd.org/~wpaul/FEC/. Example 5-29 shows the resulting status.
[root@castor:~#] kldload ng_fec.ko [root@castor:~#] ngctl mkpeer fec dummy fec [root@castor:~#] ngctl msg fec0: add_iface '"ed0"' [root@castor:~#] ngctl msg fec0: add_iface '"ed1"' [root@castor:~#] ngctl msg fec0: set_mode_inet
[root@castor:~#] ifconfig -a
fec0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> mtu 1500
ether 52:54:05:e3:e4:88
media: Ethernet none
status: active
![]() | Integrated cisco and unix network architectures |