linux/drivers/net
Or Gerlitz 01f3109de4 bonding: deliver netdev event for fail-over under the active-backup mode
under active-backup mode and when there's actual new_active slave,
have bond_change_active_slave() call the networking core to deliver
NETDEV_BONDING_FAILOVER event such that the fail-over can be notable
by code outside of the bonding driver such as the RDMA stack and
monitoring tools.

As the correct context of locking appropriate for notifier calls is RTNL
and nothing else, bond->curr_slave_lock and bond->lock are unlocked and
later locked again. This is ensured by the rest of the code to be safe
under backup-mode AND when new_active is not NULL.

Jay Vosburgh modified the original patch for formatting and fixed a
compiler error.

Signed-off-by: Or Gerlitz <ogerlitz@voltaire.com>
Signed-off-by: Jay Vosburgh <fubar@us.ibm.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
2008-06-17 23:59:42 -04:00
..
appletalk
arcnet
arm
atlx Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
bonding bonding: deliver netdev event for fail-over under the active-backup mode 2008-06-17 23:59:42 -04:00
can
chelsio
cris
cxgb3 cxgb3 - Add LRO support 2008-05-22 06:34:13 -04:00
e1000
e1000e e1000e: allow VLAN devices to use TSO and TCP CSUM offload 2008-06-11 21:58:43 -04:00
ehea net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
fec_8xx
fs_enet fs_enet: MDIO on GPIO support 2008-05-30 22:18:33 -04:00
hamradio Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
ibm_newemac
igb igb: allow vlan devices to use TSO and TCP CSUM offload 2008-06-11 21:58:42 -04:00
irda irda: remove CVS keywords 2008-06-11 21:00:41 -07:00
ixgb
ixgbe Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
ixp2000 ixp2000: use netdev_alloc_skb 2008-05-22 14:12:39 -04:00
mlx4
myri10ge Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
netxen
pcmcia Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
phy net: OpenFirmware GPIO based MDIO bitbang driver 2008-05-30 22:18:25 -04:00
sfc Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
skfp
tokenring Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
tulip net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
usb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
wan WAN: protect HDLC proto list while insmod/rmmod 2008-05-22 06:26:32 -04:00
wireless Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-16 18:25:48 -07:00
3c59x.c
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c
3c505.h
3c507.c
3c509.c Merge branch 'upstream-next-davem' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6 2008-05-29 03:31:03 -07:00
3c515.c 3c515: fix using pnp_get_resource when CONFIG_ISAPNP=n 2008-05-22 06:34:34 -04:00
3c523.c
3c523.h
3c527.c
3c527.h
7990.c add missing lance_* exports 2008-06-10 18:20:17 -04:00
7990.h
8139cp.c
8139too.c
8390.c
8390.h
82596.c
a2065.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
a2065.h
ac3200.c
acenic_firmware.h
acenic.c
acenic.h
amd8111e.c
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c
atarilance.c make drivers/net/atarilance.c:lance_addr_list[] static 2008-06-11 21:58:32 -04:00
atp.c
atp.h
au1000_eth.c au1000_eth: remove useless check 2008-05-22 06:20:14 -04:00
au1000_eth.h
ax88796.c
b44.c
b44.h
bfin_mac.c Blackfin EMAC Driver: Removed duplicated include <linux/ethtool.h> 2008-05-22 06:20:11 -04:00
bfin_mac.h
bmac.c
bmac.h
bnx2_fw2.h
bnx2_fw.h
bnx2.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
bnx2.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
bnx2x_fw_defs.h
bnx2x_hsi.h
bnx2x_init_values.h
bnx2x_init.h bnx2x: Updating the Maintainer 2008-06-12 14:30:28 -07:00
bnx2x_reg.h
bnx2x.c bnx2x: Updating the Maintainer 2008-06-12 14:30:28 -07:00
bnx2x.h bnx2x: Updating the Maintainer 2008-06-12 14:30:28 -07:00
bsd_comp.c
cassini.c
cassini.h
cpmac.c cpmac bugfixes and enhancements 2008-05-22 06:20:02 -04:00
cs89x0.c [netdrvr] CS89X0: Add cleanup for dma after fail 2008-05-30 22:07:11 -04:00
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
defxx.c
defxx.h
depca.c
depca.h
dl2k.c dl2k: use netdev_alloc_skb 2008-05-22 14:12:45 -04:00
dl2k.h
dm9000.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
dm9000.h
dummy.c
e100.c
e2100.c
eepro100.c
eepro.c
eexpress.c
eexpress.h
enc28j60_hw.h
enc28j60.c
epic100.c
eql.c
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c
fec_mpc52xx_phy.c
fec_mpc52xx.c fec_mpc52xx: MPC52xx_MESSAGES_DEFAULT: 2nd NETIF_MSG_IFDOWN => IFUP 2008-06-11 22:24:42 -04:00
fec_mpc52xx.h
fec.c
fec.h
forcedeth.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
gianfar_ethtool.c
gianfar_mii.c
gianfar_mii.h
gianfar_sysfs.c
gianfar.c
gianfar.h
hamachi.c hamachi: use netdev_alloc_skb 2008-05-22 14:12:40 -04:00
hp100.c
hp100.h
hp-plus.c
hp.c
hplance.c make hplance_{init,cleanup}_module() static 2008-06-11 21:58:32 -04:00
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c
ibmveth.h
ifb.c
ioc3-eth.c
ipg.c ipg: fix receivemode IPG_RM_RECEIVEMULTICAST{,HASH} in ipg_nic_set_multicast_list() 2008-06-11 22:24:40 -04:00
ipg.h
isa-skeleton.c
iseries_veth.c
jazzsonic.c
Kconfig ibm_emac: Remove the ibm_emac driver 2008-06-17 23:59:01 -04:00
korina.c
lance.c
lasi_82596.c
lib8390.c [netdrvr] Fix 8390 build breakage 2008-06-11 22:06:31 -04:00
lib82596.c
LICENSE.SRC
lne390.c
loopback.c
lp486e.c
mac89x0.c
mac8390.c drivers/net/mac8390.c: make functions static 2008-06-11 21:58:33 -04:00
macb.c macb: use random mac if stored address in EEPROM is invalid 2008-06-11 21:58:28 -04:00
macb.h
mace.c
mace.h
macmace.c
macsonic.c drivers/net/macsonic.c: make functions static 2008-06-11 21:58:37 -04:00
macvlan.c
Makefile ibm_emac: Remove the ibm_emac driver 2008-06-17 23:59:01 -04:00
meth.c
meth.h
mii.c
mipsnet.c
mv643xx_eth.c mv643xx_eth: update driver version and author fields 2008-06-12 08:40:39 +02: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
netx-eth.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
niu.c
niu.h
ns83820.c ns8320: use netdev_alloc_skb 2008-05-30 22:19:22 -04:00
pasemi_mac_ethtool.c
pasemi_mac.c
pasemi_mac.h
pci-skeleton.c
pcnet32.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
plip.c
ppp_async.c
ppp_deflate.c
ppp_generic.c ppp: push BKL down into the driver 2008-05-25 23:40:58 -07:00
ppp_mppe.c
ppp_mppe.h
ppp_synctty.c
pppoe.c pppoe: Unshare skb before anything else 2008-06-10 14:08:25 -07:00
pppol2tp.c l2tp: Fix potential memory corruption in pppol2tp_recvmsg() 2008-06-10 12:35:00 -07:00
pppox.c
ps3_gelic_net.c ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_net.h ps3: gelic: updown_lock semaphore to mutex 2008-06-03 15:00:14 -04:00
ps3_gelic_wireless.c PS3: gelic: Add support for ESSID scan 2008-06-03 15:00:28 -04:00
ps3_gelic_wireless.h PS3: gelic: Kill the static bounce buffer 2008-06-03 15:00:27 -04:00
qla3xxx.c
qla3xxx.h
r6040.c drivers/net/r6040.c: correct bad use of round_jiffies() 2008-06-11 22:25:38 -04:00
r8169.c
rionet.c
rrunner.c
rrunner.h
s2io-regs.h S2io: Added napi support when MSIX is enabled. 2008-05-22 06:26:21 -04:00
s2io.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
s2io.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
saa9730.c
saa9730.h
sb1000.c
sb1250-mac.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-05-25 23:26:10 -07:00
sc92031.c sc92031: remove bogus unlikely() 2008-05-30 22:07:17 -04:00
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
sh_eth.c net: sh_eth: add support for Renesas SuperH Ethernet 2008-06-11 21:58:25 -04:00
sh_eth.h net: sh_eth: add support for Renesas SuperH Ethernet 2008-06-11 21:58:25 -04:00
sis190.c
sis900.c
sis900.h
skge.c
skge.h
sky2.c sky2: version 1.22 2008-06-17 23:59:40 -04:00
sky2.h sky2: 88E8057 chip support 2008-06-17 23:59:39 -04:00
slhc.c
slip.c
slip.h
smc91x.c net: Eliminate flush_scheduled_work() calls while RTNL is held. 2008-06-12 02:22:02 -07:00
smc91x.h smc91x: fix build error from the SMC_GET_MAC_ADDR API change 2008-06-11 08:38:18 -07:00
smc911x.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc911x.h Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-13 20:52:39 -07:00
smc9194.c
smc9194.h
smc-mca.c
smc-ultra32.c
smc-ultra.c
sni_82596.c
sonic.c
sonic.h
Space.c
spider_net_ethtool.c
spider_net.c
spider_net.h
starfire_firmware.h
starfire_firmware.pl
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 sunhme: Cleanup use of deprecated calls to save_and_cli and restore_flags. 2008-06-04 12:06:28 -07:00
sunhme.h
sunlance.c drivers/net/: remove write-only "last_dev" 2008-06-11 21:58:34 -04:00
sunqe.c
sunqe.h
sunvnet.c
sunvnet.h
tc35815.c
tehuti_fw.h
tehuti.c
tehuti.h
tg3.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
tg3.h tg3: Add shmem options. 2008-05-29 01:38:46 -07:00
tlan.c tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tlan.h tlan: wrap source lines 2008-05-30 22:18:02 -04:00
tsi108_eth.c ts108: use netdev_alloc_skb 2008-05-30 22:19:21 -04:00
tsi108_eth.h
tun.c
typhoon-firmware.h
typhoon.c
typhoon.h
ucc_geth_ethtool.c Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 2008-06-10 02:22:26 -07:00
ucc_geth_mii.c
ucc_geth_mii.h
ucc_geth.c ucc_geth: Fix arguments to dma map/unmap functions 2008-05-22 06:19:24 -04:00
ucc_geth.h
veth.c
via-rhine.c
via-velocity.c via-velocity: use memmove 2008-05-22 14:12:55 -04:00
via-velocity.h
virtio_net.c virtio: use callback on empty in virtio_net 2008-06-10 18:20:32 -04:00
wd.c
xen-netfront.c NETFRONT: Use __skb_queue_purge() 2008-05-22 14:01:03 -04:00
yellowfin.c
znet.c
zorro8390.c