linux/drivers/net
Jay Vosburgh b2220cad58 bonding: refactor ARP active-backup monitor
Refactor ARP monitor for active-backup mode.  The motivation for
this is to take care of locking issues in a clear manner (particularly to
correctly handle RTNL vs. the bonding locks).  Currently, the a-b ARP
monitor does not hold RTNL at all, but future changes will require RTNL
during ARP monitor failovers.

	Rather than using conditional locking, this patch instead breaks
up the ARP monitor into three discrete steps: inspection, commit changes,
and probe.  The inspection phase marks slaves that require link state
changes.  The commit phase is only called if inspection detects that
changes are needed, and is called with RTNL.  Lastly, the probe phase
issues the ARP probes that the inspection phase uses to determine link
state.

Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-05-22 06:34:28 -04:00
..
appletalk fix warning in drivers/net/appletalk/cops.c 2008-05-06 12:16:24 -04:00
arcnet drivers/net/arcnet/arcnet.c: use time_* macros 2008-03-28 22:14:15 -04:00
arm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-30 08:45:48 -07:00
atlx misc drivers/net endianness noise 2008-05-22 06:34:15 -04:00
bonding bonding: refactor ARP active-backup monitor 2008-05-22 06:34:28 -04:00
can
chelsio
cris CRIS v10: drivers/net/cris/eth_v10.c rename LED defines to CRIS_LED to avoid name clash. 2008-02-08 11:16:44 +01:00
cxgb3 cxgb3 - Add LRO support 2008-05-22 06:34:13 -04:00
e1000 e1000: convert uint16_t style integers to u16 2008-04-16 20:41:45 -04:00
e1000e e1000e: don't return half-read eeprom on error 2008-05-06 12:38:02 -04:00
ehea ehea: Add DLPAR memory remove support 2008-05-13 01:31:39 -04:00
fec_8xx
fs_enet fs_enet: Fix a memory leak in fs_enet_mdio_probe 2008-05-06 12:22:37 -04:00
hamradio 6pack: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
ibm_emac
ibm_newemac ibm_newemac: Increase MDIO timeouts 2008-04-25 02:08:56 -04:00
igb igb: save and restore pcie/msi state to support EEH recovery 2008-04-25 02:08:04 -04:00
irda irda: fix !PNP support for drivers/net/irda/smsc-ircc2.c 2008-05-05 01:06:54 -07:00
ixgb ixgb: convert uint16_t style integers to u16 2008-04-16 20:41:44 -04:00
ixgbe ixgbe: save and restore pcie/msi state to support EEH recovery 2008-04-25 02:07:13 -04:00
ixp2000
mlx4 mlx4_core: Support creation of FMRs with pages smaller than 4K 2008-05-05 15:56:52 -07:00
myri10ge myri10ge: fix the number of interrupt slots 2008-05-13 01:30:31 -04:00
netxen Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-25 12:28:28 -07:00
pcmcia 3c589_cs: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
phy phylib: Fix some sparse warnings 2008-05-06 12:01:41 -04:00
sfc [netdrvr] sfc: sfc: Add self-test support 2008-05-13 01:31:44 -04:00
skfp skfp annotations 2008-03-26 00:18:44 -04:00
tokenring 3c359: use netstats in net_device structure 2008-05-13 01:35:25 -04:00
tulip uli526x: fix endianness issues in the setup frame 2008-05-06 12:02:26 -04:00
usb misc drivers/net endianness noise 2008-05-22 06:34:15 -04:00
wan syncppp: Fix crashes. 2008-05-12 03:29:11 -07:00
wireless misc drivers/net endianness noise 2008-05-22 06:34:15 -04:00
3c59x.c 3c59x: use netstats in net_device structure 2008-05-06 12:22:11 -04:00
3c501.c 3c501: Further coding style fixes 2008-03-17 08:11:03 -04:00
3c501.h
3c503.c
3c503.h
3c505.c 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c505.h 3c505: use netstats in net_device structure 2008-04-29 01:55:11 -04:00
3c507.c
3c509.c misc drivers/net endianness noise 2008-05-22 06:34:15 -04:00
3c515.c 3c515: use netstats in net_device structure 2008-04-29 01:55:14 -04:00
3c523.c 3c523: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
3c523.h
3c527.c 3c527: use netstats in net_device structure 2008-05-13 01:35:25 -04:00
3c527.h
7990.c
7990.h
8139cp.c 8139cp: use netstats in net_device structure 2008-05-13 01:35:23 -04:00
8139too.c 8139too: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
8390.c net: fix returning void-valued expression warnings 2008-05-01 02:47:38 -07:00
8390.h 8390.h: remove net_device_stats 2008-05-13 01:35:23 -04:00
82596.c
Kconfig cxgb3 - Add LRO support 2008-05-22 06:34:13 -04:00
LICENSE.SRC
Makefile Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-04-30 08:45:48 -07:00
Space.c
a2065.c
a2065.h
ac3200.c drivers/net/ac3200.c: replace init_module&cleanup_module with module_init&module_exit 2008-03-05 18:50:41 -08:00
acenic.c acenic: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
acenic.h acenic: use netstats in net_device structure 2008-05-13 01:35:24 -04:00
acenic_firmware.h
amd8111e.c
amd8111e.h
apne.c drivers/net/apne.c: replace init_module&cleanup_module with module_init&module_exit 2008-03-05 18:50:16 -08:00
ariadne.c
ariadne.h
at1700.c /drivers/net/at1700.c replaced init_module&cleanup_module with module_init&module_exit 2008-03-17 07:49:27 -04:00
atarilance.c /drivers/net/atarilance.c replaced init_module&cleanup_module with module_init&module_exit 2008-03-17 07:49:28 -04:00
atp.c misc drivers/net annotations 2008-03-26 00:18:43 -04:00
atp.h
au1000_eth.c phy: Change mii_bus id field to a string 2008-04-16 20:09:35 -04:00
au1000_eth.h
ax88796.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
b44.c ssb: Fix usage of struct device used for DMAing 2008-04-15 15:04:35 -04:00
b44.h
bfin_mac.c Blackfin EMAC Driver: Initial version of ethtool support 2008-04-29 01:56:24 -04:00
bfin_mac.h Blackfin EMAC Driver: code cleanup 2008-04-29 01:56:14 -04:00
bmac.c
bmac.h
bnx2.c bnx2: Update version to 1.7.6. 2008-05-16 22:20:59 -07:00
bnx2.h bnx2: Rename RX_COPY_THRESH to BNX2_RX_COPY_THRESH. 2008-05-16 22:19:35 -07:00
bnx2_fw.h bnx2: Pre-initialize struct cpu_reg. 2008-05-16 22:20:27 -07:00
bnx2_fw2.h bnx2: Update RV2P firmware for 5709. 2008-05-02 16:57:59 -07:00
bnx2x.c BNX2X: Correct bringing chip out of reset 2008-04-09 15:25:46 -07:00
bnx2x.h [BNX2X]: Fix Xmit bugs 2008-02-28 11:57:55 -08:00
bnx2x_fw_defs.h [BNX2X]: Correct Link management 2008-02-28 11:51:50 -08:00
bnx2x_hsi.h [BNX2X]: Correct Link management 2008-02-28 11:51:50 -08:00
bnx2x_init.h [BNX2X]: Prevent PCI queue overflow 2008-02-28 11:57:29 -08:00
bnx2x_init_values.h
bnx2x_reg.h [BNX2X]: Correct Link management 2008-02-28 11:51:50 -08:00
bsd_comp.c
cassini.c [CASSINI]: Use shorter list_splice_init() macro for brevity. 2008-03-23 22:47:53 -07:00
cassini.h
cpmac.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
cs89x0.c drivers/net/cs89x0.c: compilation warning fix 2008-02-23 23:55:05 -05:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c misc drivers/net annotations 2008-03-26 00:18:43 -04:00
defxx.h
depca.c
depca.h
dl2k.c
dl2k.h
dm9000.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
dm9000.h
dummy.c
e100.c net: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
e2100.c
eepro.c net: eepro autoport typo 2008-04-29 01:56:01 -04:00
eepro100.c
eexpress.c [netdrvr] eexpress: IPv6 fails - multicast problems 2008-05-06 12:22:34 -04:00
eexpress.h
enc28j60.c net/enc28j60: oops fix 2008-03-05 18:51:19 -08:00
enc28j60_hw.h
epic100.c epic100 endianness annotations and fixes 2008-03-17 07:56:38 -04:00
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec.c m68knommu: fix FEC driver locking 2008-05-01 08:08:36 -07:00
fec.h m68knommu: fix ColdFire 5272 fec driver hash registers 2008-05-01 08:08:36 -07:00
fec_mpc52xx.c [POWERPC] mpc5200: Allow for fixed speed MII configurations 2008-05-01 11:05:58 -06:00
fec_mpc52xx.h [POWERPC] mpc5200: Allow for fixed speed MII configurations 2008-05-01 11:05:58 -06:00
fec_mpc52xx_phy.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
forcedeth.c forcedeth: realtek phy crossover detection 2008-04-25 02:08:57 -04:00
gianfar.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
gianfar.h gianfar: Fix a locking bug in gianfar's sysfs code 2008-05-06 12:01:34 -04:00
gianfar_ethtool.c
gianfar_mii.c [netdrvr] gianfar: Determine TBIPA value dynamically 2008-04-29 01:57:57 -04:00
gianfar_mii.h [netdrvr] gianfar: Determine TBIPA value dynamically 2008-04-29 01:57:57 -04:00
gianfar_sysfs.c gianfar: Fix a locking bug in gianfar's sysfs code 2008-05-06 12:01:34 -04:00
hamachi.c net: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
hp-plus.c
hp.c
hp100.c
hp100.h
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c netdev: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
ibmveth.h
ifb.c [NET] ifb: set separate lockdep classes for queue locks 2008-03-20 17:05:13 -07:00
ioc3-eth.c [IOC3] Fix section missmatch 2008-03-17 08:11:41 -04:00
ipg.c drivers/net/ipg.c: remove unused variable 2008-03-17 07:56:42 -04:00
ipg.h
isa-skeleton.c
iseries_veth.c [POWERPC] properly declare onstack completion in iseries veth 2008-04-17 07:46:11 +10:00
jazzsonic.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
korina.c korina: misc cleanup 2008-04-25 02:08:51 -04:00
lance.c
lasi_82596.c
lib8390.c drivers/net/lib8390: fix warning, trim trailing whitespace 2008-05-13 01:41:28 -04:00
lib82596.c
lne390.c
loopback.c [NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. 2008-03-26 04:39:53 +09:00
lp486e.c
mac89x0.c
mac8390.c
macb.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c
macvlan.c macvlan: Fix memleak on device removal/crash on module removal 2008-05-08 01:13:31 -07:00
meth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: inter-mv643xx SMI port sharing 2008-04-28 21:17:07 -07:00
mvme147.c
myri_code.h
myri_sbus.c
myri_sbus.h
natsemi.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
ne-h8300.c
ne.c
ne2.c
ne2k-pci.c more misannotations: ne2k-pci 2008-03-17 07:56:33 -04:00
ne3210.c
netconsole.c netconsole: only set CON_PRINTBUFFER if the user specifies a netconsole 2008-04-15 00:49:04 -07:00
netx-eth.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
ni52.c ni52: more unbreaking 2008-03-26 00:18:04 -04:00
ni52.h ni52: unbreak scp_struct 2008-03-26 00:18:00 -04:00
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c niu: Determine the # of ports from the card's VPD data 2008-05-12 03:10:59 -07:00
niu.h Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
ns83820.c
pasemi_mac.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2008-04-21 15:50:49 -07:00
pasemi_mac.h pasemi_mac: basic ethtool support 2008-03-05 16:34:41 -06:00
pasemi_mac_ethtool.c pasemi_mac: basic ethtool support 2008-03-05 16:34:41 -06:00
pci-skeleton.c
pcnet32.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
plip.c plip: replace spin_lock_irq with spin_lock_irqsave in irq context 2008-04-01 11:16:04 -07:00
ppp_async.c tty: add throttle/unthrottle helpers 2008-04-30 08:29:47 -07:00
ppp_deflate.c
ppp_generic.c ppp: Do not free not yet unregistered net device. 2008-05-13 23:51:18 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c tty: add throttle/unthrottle helpers 2008-04-30 08:29:47 -07:00
pppoe.c netdev: use non-racy method for proc entries creation 2008-04-29 08:06:22 -07:00
pppol2tp.c pppol2tp: Remove null pointer dereference. 2008-05-12 15:43:46 -07:00
pppox.c
ps3_gelic_net.c [POWERPC] PS3: Gelic network driver Wake-on-LAN support 2008-04-01 20:43:08 +11:00
ps3_gelic_net.h [POWERPC] PS3: Gelic network driver Wake-on-LAN support 2008-04-01 20:43:08 +11:00
ps3_gelic_wireless.c PS3: gelic: fix memory leak 2008-05-12 21:44:41 -04:00
ps3_gelic_wireless.h PS3: gelic: Add wireless support for PS3 2008-02-11 10:30:05 -05:00
qla3xxx.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
qla3xxx.h
r6040.c r6040 endianness fixes 2008-03-17 07:56:27 -04:00
r8169.c r8169: fix oops in r8169_get_mac_version 2008-04-17 22:48:41 +02:00
rionet.c [RAPIDIO] Auto-probe the RapidIO system size 2008-04-29 19:40:28 +10:00
rrunner.c
rrunner.h
s2io-regs.h
s2io.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
s2io.h [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
saa9730.c
saa9730.h
sb1000.c sb1000.c: make const arrays static 2008-04-16 20:41:44 -04:00
sb1250-mac.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
sc92031.c sc92031: use netdev_alloc_skb 2008-04-16 20:41:35 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sgiseeq.h
sis190.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
sis900.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
sis900.h
skge.c netxen, phy/marvell, skge: minor checkpatch fixes 2008-03-25 23:53:24 -04:00
skge.h
sky2.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
sky2.h sky2: fix simple define thinko 2008-05-13 01:31:44 -04:00
slhc.c
slip.c tty: The big operations rework 2008-04-30 08:29:47 -07:00
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
smc91x.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
smc911x.c smc911x: test after postfix decrement fails in smc911x_{reset,drop_pkt} 2008-04-25 02:08:55 -04:00
smc911x.h
smc9194.c
smc9194.h
sni_82596.c net drivers: fix platform driver hotplug/coldplug 2008-04-25 02:08:54 -04:00
sonic.c
sonic.h
spider_net.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
spider_net.h spidernet: change interrupt masks 2008-04-16 20:06:50 -04:00
spider_net_ethtool.c
starfire.c [NET]: Undo code bloat in hot paths due to print_mac(). 2008-04-08 16:50:44 -07:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c
sunbmac.h
sundance.c
sungem.c [SUNGEM]: Fix NAPI assertion failure. 2008-03-23 03:35:12 -07:00
sungem.h
sungem_phy.c
sungem_phy.h
sunhme.c
sunhme.h
sunlance.c
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c tc35815: Statistics cleanup 2008-04-17 15:31:31 -04:00
tehuti.c drivers/net/tehuti: use proper capability check for raw IO access 2008-04-29 11:45:16 -07:00
tehuti.h
tehuti_fw.h
tg3.c tg3: Update version to 3.92 2008-05-02 16:49:50 -07:00
tg3.h tg3: Add link state reporting to UMP firmware 2008-05-02 16:49:29 -07:00
tlan.c tlan: add static to function definitions 2008-02-23 23:57:46 -05:00
tlan.h
tsi108_eth.c [netdrvr] Trim trailing whitespace for several drivers 2008-05-13 01:41:58 -04:00
tsi108_eth.h
tun.c tun: Multicast handling in tun_chr_ioctl() needs proper locking. 2008-04-24 03:44:43 -07:00
typhoon-firmware.h
typhoon.c [netdrvr] typhoon: typhoon_resume - remove call to start_queue 2008-04-25 02:08:08 -04:00
typhoon.h
ucc_geth.c ucc_geth: Don't use RX clock as TX clock. 2008-05-06 12:27:58 -04:00
ucc_geth.h ucc_geth: Fix a bunch of sparse warnings 2008-05-06 12:02:08 -04:00
ucc_geth_ethtool.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-15 00:34:44 -07:00
ucc_geth_mii.c ucc_geth: Fix a bunch of sparse warnings 2008-05-06 12:02:08 -04:00
ucc_geth_mii.h
veth.c [NET] NETNS: Omit net_device->nd_net without CONFIG_NET_NS. 2008-03-26 04:39:53 +09:00
via-rhine.c [netdrvr] via-rhine: Use register offset definition for WOLcgClr 2008-02-24 00:07:37 -05:00
via-velocity.c via-velocity: fix vlan receipt 2008-04-25 02:45:23 -04:00
via-velocity.h
virtio_net.c virtio: explicit advertisement of driver features 2008-05-02 21:50:50 +10:00
wd.c
xen-netfront.c net: fix returning void-valued expression warnings 2008-05-01 02:47:38 -07:00
yellowfin.c net: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
znet.c
zorro8390.c