kernel-ark/drivers/net
Jay Vosburgh 169a3e6663 bonding: xor/802.3ad improved slave hash
Add support for alternate slave selection algorithms to bonding
balance-xor and 802.3ad modes.  Default mode (what we have now: xor of
MAC addresses) is "layer2", new choice is "layer3+4", using IP and port
information for hashing to select peer.

Originally submitted by Jason Gabler for balance-xor mode;
modified by Jay Vosburgh to additionally support 802.3ad mode.  Jason's
original comment is as follows:

The attached patch to the Linux Etherchannel Bonding driver modifies the
driver's "balance-xor" mode as follows:

      - alternate hashing policy support for mode 2
        * Added kernel parameter "xmit_policy" to allow the specification
          of different hashing policies for mode 2.  The original mode 2
          policy is the default, now found in xmit_hash_policy_layer2().
        * Added xmit_hash_policy_layer34()

This patch was inspired by hashing policies implemented by Cisco,
Foundry and IBM, which are explained in
Foundry documentation found at:
http://www.foundrynet.com/services/documentation/sribcg/Trunking.html#112750

Signed-off-by: Jason Gabler <jygabler@lbl.gov>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
2005-06-26 17:54:11 -04:00
..
appletalk [LTPC]: Replace schedule_timeout() with ssleep()/msleep() 2005-06-22 22:19:52 -07:00
arcnet
arm [PATCH] etherh iomem annotations 2005-05-15 22:21:07 -04:00
bonding bonding: xor/802.3ad improved slave hash 2005-06-26 17:54:11 -04:00
cris
e1000 e1000: fix spinlock bug 2005-06-23 03:41:00 -04:00
fec_8xx
hamradio [PATCH] Convert users to tty_unregister_ldisc() 2005-06-23 09:45:36 -07:00
ibm_emac
irda [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
ixgb Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6. 2005-06-26 17:11:03 -04:00
pcmcia Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6. 2005-06-26 17:11:03 -04:00
sk98lin
skfp
tokenring
tulip Tulip fixes for Cobalt Qube/RaQ 2005-06-26 17:45:52 -04:00
wan [PATCH] Remove duplicate file in Documentation/networking (drivers_net_wan_Kconfig) 2005-06-25 16:25:09 -07:00
wireless [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
3c59x.c [PATCH] 3c59x: remove superfluous vortex_debug test from boomerang_start_xmit() 2005-06-21 18:46:22 -07:00
3c501.c
3c501.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
3c503.c
3c503.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
3c505.c
3c505.h
3c507.c
3c509.c
3c515.c
3c523.c
3c523.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
3c527.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
3c527.h
7990.c
7990.h
8139cp.c Merge upstream (approx. 2.6.12-git8) into 'janitor' branch of netdev-2.6. 2005-06-26 17:11:03 -04:00
8139too.c [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
8390.c [PATCH] m32r: Remove include/asm-m32r/m32102peri.h 2005-06-21 19:07:31 -07:00
8390.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
82596.c
a2065.c
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atari_bionet.c
atari_pamsnet.c
atarilance.c
atp.c
atp.h
au1000_eth.c
au1000_eth.h
b44.c
b44.h
bmac.c
bmac.h
bnx2_fw.h
bnx2.c [BNX2]: New Broadcom gigabit network driver. 2005-05-26 13:03:09 -07:00
bnx2.h
bsd_comp.c
cs89x0.c
cs89x0.h
de600.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
de600.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
de620.c
de620.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
declance.c
defxx.c
defxx.h
depca.c
depca.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dgrs.c
dgrs.h
dl2k.c
dl2k.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
dm9000.c
dm9000.h [PATCH] DM9000 network driver 2005-05-15 18:31:07 -04:00
dummy.c
e100.c
e2100.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
eepro100.c
eepro.c
eexpress.c
eexpress.h
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ewrk3.h
fealnx.c
fec.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
fec.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
forcedeth.c [PATCH] forcedeth: Update error handling 2005-05-15 18:10:01 -04:00
gianfar_ethtool.c
gianfar_phy.c
gianfar_phy.h
gianfar.c
gianfar.h
gt64240eth.h
gt96100eth.c
gt96100eth.h
hamachi.c
hp100.c [PATCH] hp100: fix card names 2005-05-01 08:58:52 -07:00
hp100.h
hp-plus.c
hp.c
hplance.c
hplance.h
hydra.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
hydra.h
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ioc3-eth.c
isa-skeleton.c
iseries_veth.c [PATCH] iseries_veth: Supress spurious WARN_ON() at module unload 2005-06-09 15:39:52 -07:00
iseries_veth.h
jazzsonic.c
Kconfig Automatic merge of /spare/repo/netdev-2.6 branch skge 2005-06-04 17:54:39 -04:00
lance.c
lasi_82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mac8390.c
mace.c
mace.h
macmace.c
macsonic.c
Makefile Automatic merge of /spare/repo/netdev-2.6 branch skge 2005-06-04 17:54:39 -04:00
meth.c
meth.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mii.c
mv643xx_eth.c
mv643xx_eth.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c
ne2.c
ne2k-pci.c
ne3210.c
ne-h8300.c
ne.c
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c
oaknet.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
pci-skeleton.c
pcnet32.c
plip.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
ppp_async.c [PATCH] Convert users to tty_unregister_ldisc() 2005-06-23 09:45:36 -07:00
ppp_deflate.c
ppp_generic.c [PATCH] class: convert drivers/* to use the new class api instead of class_simple 2005-06-20 15:15:09 -07:00
ppp_synctty.c [PATCH] Convert users to tty_unregister_ldisc() 2005-06-23 09:45:36 -07:00
pppoe.c
pppox.c
r8169.c Manual merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git 2005-06-18 11:42:35 -07:00
rrunner.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
rrunner.h
s2io-regs.h
s2io.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
s2io.h
saa9730.c
saa9730.h
sb1000.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sb1250-mac.c
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c [NET]: Fix locking in shaper driver. 2005-06-02 16:36:00 -07:00
sis900.c
sis900.h
sk_mca.c
sk_mca.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
skge.c
skge.h
slhc.c
slip.c [SLIP]: Simplify sl_free_bufs() 2005-06-23 21:06:56 -07:00
slip.h
smc91x.c
smc91x.h
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sonic.c
sonic.h
Space.c
starfire_firmware.h
starfire_firmware.pl Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
starfire.c
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem_phy.c
sungem_phy.h
sungem.c
sungem.h
sunhme.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunhme.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
sunlance.c
sunqe.c
sunqe.h
tc35815.c
tg3.c [TG3]: Update driver version and reldate. 2005-06-24 20:21:01 -07:00
tg3.h [TG3]: Eliminate all hw IRQ handler spinlocks. 2005-06-24 20:18:35 -07:00
tlan.c Automatic merge of /spare/repo/netdev-2.6 branch iff-running 2005-06-04 17:11:28 -04:00
tlan.h
tun.c Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
typhoon-firmware.h Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
typhoon.c
typhoon.h
via-rhine.c
via-velocity.c
via-velocity.h
wd.c
yellowfin.c
znet.c
zorro8390.c