linux/drivers/net
Michael Ellerman f0c129caa3 [PATCH] iseries_veth: Use kobjects to track lifecycle of connection structs
The iseries_veth driver can attach to multiple vlans, which correspond to
multiple net devices. However there is only 1 connection between each LPAR,
so the connection structure may be shared by multiple net devices.

This makes module removal messy, because we can't deallocate the connections
until we know there are no net devices still using them. The solution is to
use ref counts on the connections, so we can delete them (actually stop) as
soon as the ref count hits zero.

This patch fixes (part of) a bug we were seeing with IPv6 sending probes to
a dead LPAR, which would then hang us forever due to leftover skbs.

Signed-off-by: Michael Ellerman <michael@ellerman.id.au>
Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
2005-08-31 22:39:43 -04:00
..
appletalk [NET]: move config options out to individual protocols 2005-07-11 21:13:56 -07:00
arcnet [PATCH] make some things static 2005-05-05 16:36:47 -07:00
arm [PATCH] ARM: 2723/2: remove __udivdi3 and __umoddi3 from the kernel 2005-06-29 18:10:54 +01:00
bonding [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
chelsio Update Chelsio gige net driver. 2005-06-23 01:40:19 -04:00
cris
e1000 [PATCH] e1000 printk warning fix 2 2005-08-19 03:12:16 -04:00
fec_8xx
hamradio [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
ibm_emac [PATCH] bogus iounmap() in emac 2005-08-26 16:30:30 -07:00
irda [PATCH] Cleanup patch for process freezing 2005-06-25 17:10:13 -07:00
ixgb [PATCH] ixgb: Driver version, white space, comments 2005-08-11 17:09:25 -04:00
pcmcia [PATCH] network: fix fmvj18x_cs multicast code 2005-08-19 03:11:38 -04:00
phy [PATCH] PHY Layer fixup 2005-08-28 20:28:25 -04:00
sk98lin [PATCH] skge build fix 2005-08-01 19:13:59 -07:00
skfp [PATCH] drivers/net/skfp/: cleanups 2005-06-27 00:19:53 -04:00
tokenring Merge upstream into 'upstream' branch of netdev-2.6.git. 2005-08-24 01:03:34 -04:00
tulip [netdrvr de2104x] store PCI bus addresses in unsigned long 2005-08-31 06:11:16 -04:00
wan [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
wireless Merge upstream into 'upstream' branch of netdev-2.6.git. 2005-08-24 01:03:34 -04:00
3c59x.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
3c501.c
3c501.h
3c503.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
3c503.h
3c505.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
3c505.h
3c507.c
3c509.c [PATCH] document that 8139TOO supports 8129/8130 2005-06-26 18:33:33 -04:00
3c515.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
3c523.c [PATCH] 3c523: needs a license 2005-06-27 00:41:51 -04:00
3c523.h
3c527.c
3c527.h
7990.c
7990.h
8139cp.c [PATCH] 8139cp - redetect link after suspend 2005-08-18 16:59:14 -04:00
8139too.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
8390.c [PATCH] m32r: Remove include/asm-m32r/m32102peri.h 2005-06-21 19:07:31 -07:00
8390.h
82596.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
a2065.c
a2065.h
ac3200.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
acenic_firmware.h
acenic.c drivers/net/: Use the DMA_{64,32}BIT_MASK constants 2005-06-26 18:22:14 -04:00
acenic.h
amd8111e.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
amd8111e.h
apne.c
ariadne.c
ariadne.h
at1700.c drivers/net/at1700: remove incorrect comment 2005-06-27 23:23:05 -04:00
atari_bionet.c
atari_pamsnet.c
atarilance.c
atp.c
atp.h
au1000_eth.c [netdrvrs] Use netif_carrier_* instead of IFF_RUNNING 2005-05-12 19:45:25 -04:00
au1000_eth.h
b44.c [ACPI] merge acpi-2.6.12 branch into latest Linux 2.6.13-rc... 2005-07-12 17:21:56 -04:00
b44.h
bmac.c [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
bmac.h
bnx2_fw.h [BNX2]: New Broadcom gigabit network driver. 2005-05-26 13:03:09 -07:00
bnx2.c [BNX2]: update version and minor fixes 2005-08-29 16:10:48 -07:00
bnx2.h [BNX2]: remove atomics in tx 2005-08-29 16:10:38 -07:00
bsd_comp.c
cs89x0.c [PATCH] silence cs89x0 2005-08-01 19:14:01 -07:00
cs89x0.h [PATCH] silence cs89x0 2005-08-01 19:14:01 -07:00
de600.c
de600.h
de620.c
de620.h
declance.c
defxx.c [PATCH] defxx: Use irqreturn_t for the interrupt handler 2005-06-26 18:37:25 -04:00
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 [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
dl2k.h
dm9000.c [PATCH] DM9000 - incorrect ioctl() handling 2005-08-18 16:59:14 -04:00
dm9000.h [PATCH] DM9000 network driver 2005-05-15 18:31:07 -04:00
dummy.c
e100.c [PATCH] e100: Driver version, white space, comments & other 2005-08-25 16:18:33 -04:00
e2100.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
eepro100.c [netdrvr eepro100] check for skb==NULL before calling rx_align(skb) 2005-08-19 03:52:49 -04:00
eepro.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
eexpress.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
eexpress.h
epic100.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
eql.c [EQL]: Proper num_slaves decrement 2005-07-21 14:16:54 -07:00
es3210.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
eth16i.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
ewrk3.c [PATCH] drivers/net/ewrk3.c: remove dead code 2005-06-26 18:29:26 -04:00
ewrk3.h
fealnx.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
fec.c
fec.h
forcedeth.c [PATCH] forcedeth: Initialize link settings in every nv_open() 2005-08-19 02:12:16 -04:00
gianfar_ethtool.c [PATCH] gianfar: Add support enhanced TSEC features on the MPC 8548 2005-06-27 00:40:33 -04:00
gianfar_phy.c gianfar: Update Marvell PHY name 2005-06-26 17:58:51 -04:00
gianfar_phy.h
gianfar.c [PATCH] gianfar: Add support enhanced TSEC features on the MPC 8548 2005-06-27 00:40:33 -04:00
gianfar.h [PATCH] gianfar: Add support enhanced TSEC features on the MPC 8548 2005-06-27 00:40:33 -04:00
gt64240eth.h
gt96100eth.c
gt96100eth.h [PATCH] __attribute__ placement fixes 2005-05-01 08:59:09 -07:00
hamachi.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
hp100.c drivers/net/: Use the DMA_{64,32}BIT_MASK constants 2005-06-26 18:22:14 -04:00
hp100.h
hp-plus.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
hp.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
hplance.c
hplance.h
hydra.c
hydra.h
ibmlana.c
ibmlana.h
ibmveth.c [PATCH] Make MODULE_DEVICE_TABLE work for vio devices 2005-08-30 13:31:56 +10:00
ibmveth.h
ioc3-eth.c [PATCH] IOC3 fixes 2005-08-18 16:59:14 -04:00
isa-skeleton.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
iseries_veth.c [PATCH] iseries_veth: Use kobjects to track lifecycle of connection structs 2005-08-31 22:39:43 -04:00
iseries_veth.h
jazzsonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Kconfig /spare/repo/netdev-2.6 branch 'chelsio' 2005-08-29 16:53:08 -04:00
lance.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
lasi_82596.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
LICENSE.SRC
lne390.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
loopback.c Merge /spare/repo/linux-2.6/ 2005-08-18 22:14:39 -04:00
lp486e.c
mac89x0.c
mac8390.c
mace.c [PATCH] openfirmware: generate device table for userspace 2005-07-06 12:55:20 -07:00
mace.h
macmace.c
macsonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Makefile /spare/repo/netdev-2.6 branch 'chelsio' 2005-08-29 16:53:08 -04:00
meth.c
meth.h
mii.c
mv643xx_eth.c [PATCH] mv643xx: add workaround for HW checksum generation bug 2005-08-23 00:51:34 -04:00
mv643xx_eth.h [PATCH] mv643xx: add workaround for HW checksum generation bug 2005-08-23 00:51:34 -04:00
mvme147.c
myri_code.h [PATCH] drivers/net/myri_code.h cleanup 2005-05-12 22:22:36 -04:00
myri_sbus.c [NET]: __be'ify *_type_trans() 2005-07-12 12:08:43 -07:00
myri_sbus.h
natsemi.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
ne2.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
ne2k-pci.c [ACPI] S3 Suspend to RAM: fix driver suspend/resume methods 2005-07-11 23:23:46 -04:00
ne3210.c
ne-h8300.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
ne.c [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
netconsole.c
ni52.c
ni52.h
ni65.c
ni65.h
ni5010.c
ni5010.h
ns83820.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
oaknet.c
pci-skeleton.c [PATCH] drivers/net/pci-skeleton.c: MODULE_PARM -> module_param 2005-07-31 00:54:14 -04:00
pcnet32.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
plip.c [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
ppp_async.c [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
ppp_deflate.c [PPP]: remove redundant NULL pointer checks before kfree & vfree 2005-05-03 14:38:09 -07:00
ppp_generic.c [NET]: Remove explicit initializations of skb->input_dev 2005-08-29 15:33:26 -07:00
ppp_synctty.c [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
pppoe.c [NET]: Kill skb->real_dev 2005-08-29 15:32:25 -07:00
pppox.c
r8169.c [PATCH] r8169: avoid conflict between revisions 2 and 3 of the Linksys EG1032 2005-08-27 04:41:01 -04:00
rrunner.c [NET]: Remove HIPPI private from skbuff.h 2005-08-29 15:31:42 -07:00
rrunner.h
s2io-regs.h [PATCH] S2io: New link handling scheme for Xframe II 2005-08-11 00:10:45 -04:00
s2io.c [PATCH] S2io: Hardware fixes for Xframe II adapter 2005-08-19 21:42:06 -04:00
s2io.h [PATCH] s2io build fix 2005-08-30 00:37:35 -04:00
saa9730.c
saa9730.h
sb1000.c [PATCH] net/sb1000: replace nicedelay() with ssleep() 2005-06-26 23:47:57 -04:00
sb1250-mac.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c
sgiseeq.h
shaper.c [NET]: Kill skb->list 2005-08-29 15:31:14 -07:00
sis190.c [PATCH] sis190: complete the mii probe before registering the netdevice 2005-08-26 00:52:11 -04:00
sis900.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
sis900.h
sk_mca.c
sk_mca.h
skge.c [PATCH] r8169: avoid conflict between revisions 2 and 3 of the Linksys EG1032 2005-08-27 04:41:01 -04:00
skge.h [PATCH] skge: fibre vs copper detection cleanup 2005-08-16 17:03:13 -04:00
slhc.c
slip.c [NET]: drivers/net/slip.c needs linux/delay.h 2005-06-28 16:27:32 -07:00
slip.h
smc91x.c [PATCH] smc91x needs settable IRQ trigger type 2005-06-27 23:08:09 -04:00
smc91x.h [PATCH] Fix OMAP specific typo in smc91x.h 2005-07-31 00:55:11 -04:00
smc9194.c
smc9194.h
smc-mca.c [PATCH] drivers/net/smc-mca.c: cleanups 2005-05-12 22:24:39 -04:00
smc-ultra32.c
smc-ultra.c [PATCH] missing include in smc-ultra 2005-08-29 10:42:40 -07:00
sonic.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
sonic.h [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
Space.c [PATCH] macsonic/jazzsonic network drivers update 2005-08-23 01:32:12 -04:00
starfire_firmware.h [netdrvr starfire] Add GPL'd firmware, remove compat code 2005-05-12 20:16:24 -04:00
starfire_firmware.pl
starfire.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
stnic.c
sun3_82586.c
sun3_82586.h
sun3lance.c
sunbmac.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunbmac.h
sundance.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
sungem_phy.c [PATCH] ppc64: Add new PHY to sungem 2005-07-07 18:23:36 -07:00
sungem_phy.h [PATCH] ppc64: Add new PHY to sungem 2005-07-07 18:23:36 -07:00
sungem.c [PATCH] ppc64: Add new PHY to sungem 2005-07-07 18:23:36 -07:00
sungem.h
sunhme.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunhme.h
sunlance.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunqe.c [SPARC]: module version cleanups 2005-04-24 20:35:20 -07:00
sunqe.h
tc35815.c
tg3.c [TG3]: Fix bug in setting a tg3_flag 2005-08-29 15:50:49 -07:00
tg3.h [TG3]: Add indirect register method for 5703 behind ICH 2005-08-29 15:50:42 -07:00
tlan.c drivers/net/: Use the DMA_{64,32}BIT_MASK constants 2005-06-26 18:22:14 -04:00
tlan.h
tun.c [NET]: Transform skb_queue_len() binary tests into skb_queue_empty() 2005-07-08 14:57:23 -07:00
typhoon-firmware.h
typhoon.c [PATCH] pm: more u32 vs. pm_message_t fixes 2005-07-07 18:23:43 -07:00
typhoon.h
via-rhine.c Merge rsync://rsync.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2005-06-28 21:24:32 -07:00
via-velocity.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
via-velocity.h [PATCH] clean up inline static vs static inline 2005-07-27 16:26:20 -07:00
wd.c [netdrvr] Fix register_netdev() races in older ISA net drivers 2005-05-12 20:11:55 -04:00
yellowfin.c [NET]: Remove gratuitous use of skb->tail in network drivers. 2005-06-28 15:25:31 -07:00
znet.c
zorro8390.c