# # 15-Oct-04 amo Channel Bonding # # # The aggregation of two network channels into one virtual channel is # called "bonding" in the Linux world and "trunking" in the Cisco world. # # linux-2.4.27/drivers/net/bonding/bonding.o # linux-2.4.27/Documentation/networking/bonding.txt # # http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/bonding.txt # # http://sourceforge.net/projects/bonding http://sourceforge.net/project/showfiles.php?group_id=24692&package_id=17022&release_id=180512 - for 2.4.23 http://sourceforge.net/support/getsupport.php?group_id=24692 #ftp://ftp.sourceforge.net/pub/sourceforge/bonding/bonding-2.4.18-20020729 -- dead # # # Mailing List # http://sourceforge.net/mailarchive/forum.php?forum_id=2094 # # http://www.beowulf.org/software/software.html http://beowulf.gsfc.nasa.gov/software/bonding.html ( 2.0.36 ) # ftp.plogic.com # build the kernel # ifconfig eth0 -- normal way # ./ifenslave -v eth0 eth1 # http://www.beowulf.gr/howto/Beowulf-Installation-and-Administration-HOWTO-12.html # TWO Ethernet NICs per system # # http://www.tldp.org/HOWTO/openMosix-HOWTO/x898.html #ttp://howto.x-tend.be/openMosix-HOWTO/x898.html #ttp://www.linux.com/howtos/openMosix-HOWTO/x898.shtml #ttp://www.linode.com/support/doc/HOWTO/Mosix-HOWTO/x759.html #ttp://howto.ipng.be/openMosixWiki/index.php/Channel%20Bonding%20made%20easy # bonding.o # # ifconfig eth0 # ifenslave eth0 ethxx # # # http://www.scl.ameslab.gov/Projects/MP_Lite/MP_Lite.html http://www.scl.ameslab.gov/Projects/MP_Lite/perf_cb_ge.html - 2x faster # # http://www.linux-ip.net/html/ether-bonding.html#ex-ether-bonding-aggregation # Link Aggregation and High Availability with Bonding # ipenslave # # # http://www.fos.su.se/compchem/jazz/bond.html - 2x faster # systest from mpich # http://www.redhat.com/docs/manuals/enterprise/RHEL-3-Manual/ref-guide/s1-modules-ethernet.html # NIC options config with tools: # ----------- # ethtool # mii-tool # http://www.hpc.sfu.ca/bugaboo/nic-test.html # http://ilab.usc.edu/beo/ # netperf # # # http://www.securityfocus.com/archive/96/339930/2003-09-27/2003-10-03/0 # redhat-8 # # modules.conf # alias bond0 bonding # options bond0 miimon=100 downdelay=0 # # http://www.lsc-group.phys.uwm.edu/beowulf/medusa/construction/channel_bonding.html # redhat-5 # ifconfig bond0 address netmask XXX.XXX.XXX.XXX broadcast XXX.XXX.XXX.XXX up # ifenslave bond0 eth0 # ifenslave bond0 eth1 # # http://www.linuxgazette.com/node/view/8937 # # http://archives.neohapsis.com/archives/snort/2002-10/0114.html # grep bond0 /etc/modules.conf || echo alias bond0 bonding >/etc/modules.conf ifconfig bond0 promisc up for if in eth1 eth2 ...;do ifconfig $if promisc up ifenslave bond0 $if done snort ... -i bond0 ... # # http://www.myri.com/fom-serve/cache/123.html * mode 0 is the round robin mode. * mode 1 is the HA failover mode. * mode 2 is an XOR based mode which calculates which interface to send on based on an equation like: (src addr XOR dst addr) % slaves. insmod bonding mode=1 miimon=500 load the driver in HA failover mode and check the mii status register for link every 500 milliseconds. # # http://www.myri.com/fom-serve/cache/122.html # Channel bonding is a way to use two IP devices and bond them together with the channel bonding device in the Linux kernel. It is used for two reasons: 1. high availability (the traffic does not stop when one of the two links goes down); and 2. performance (it is theoretically possible to aggregate the bandwidth of the two devices). # Channel Bonding support requires that 1. the MAC address of the adapter (NIC/interface) is seen as the same for all adapters in the same host, and 2. there is a way to determine if a link is up or down. # # # # End of file