linux/drivers/net
Satyam Sharma b5427c2717 [NET] netconsole: Support multiple logging targets
Based upon initial work by Keiichi Kii <k-keiichi@bx.jp.nec.com>.

This patch introduces support for multiple targets, independent of
CONFIG_NETCONSOLE_DYNAMIC -- this is useful even in the default case and
(including the infrastructure introduced in previous patches) doesn't really
add too many bytes to module text.  All the complexity (and size) comes with
the dynamic reconfigurability / userspace interface patch, and so it's
plausible users may want to keep this enabled but that disabled (say to avoid
a dependency on CONFIG_CONFIGFS_FS too).

Also update documentation to mention the use of ";" separator to specify
multiple logging targets in the boot/module option string.

Brief overview:

We maintain a target_list (and corresponding lock).  Get rid of the static
"default_target" and introduce allocation and release functions for our
netconsole_target objects (but keeping sure to preserve previous behaviour
such as default values).  During init_netconsole(), ";" is used as the
separator to identify multiple target specifications in the boot/module option
string.  The target specifications are parsed and netpolls setup.  During
exit, the target_list is torn down and all items released.

Signed-off-by: Satyam Sharma <satyam@infradead.org>
Signed-off-by: Keiichi Kii <k-keiichi@bx.jp.nec.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10 16:48:06 -07:00
..
appletalk [SK_BUFF]: Introduce skb_copy_to_linear_data{_offset} 2007-04-25 22:28:29 -07:00
arcnet [ARCNET]: Use menuconfig objects. 2007-05-24 16:36:51 -07:00
arm [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
atl1 atl1: disable broken 64-bit DMA 2007-09-12 23:54:50 -04:00
bonding [NET]: Share correct feature code between bridging and bonding 2007-08-13 22:52:14 -07:00
chelsio [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
cris [SK_BUFF]: Convert skb->end to sk_buff_data_t 2007-04-25 22:26:29 -07:00
cxgb3 [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
e1000 [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ehea [EHEA]: Use LRO. 2007-10-10 16:47:47 -07:00
fec_8xx [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
fs_enet [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
hamradio bpqether: fix rcu usage 2007-07-31 15:39:40 -07:00
ibm_emac ibm_emac: fix link speed detection change 2007-05-17 20:43:15 -04:00
irda [IRDA]: Do not do pointless kmalloc return value cast in KingSun driver 2007-08-26 18:35:44 -07:00
ixgb [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ixp2000 [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
mlx4 mlx4_core: Wait 1 second after reset before accessing device 2007-08-13 08:47:44 -07:00
myri10ge [MYRI10GE]: Use LRO. 2007-10-10 16:47:47 -07:00
netxen [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
pcmcia Revert "drivers/net/pcmcia/3c589_cs: fix port configuration switcheroo" 2007-09-25 00:11:34 -04:00
phy phy: export phy_mii_ioctl 2007-09-20 02:35:50 -04:00
sk98lin sk98lin: resurrect driver 2007-09-15 19:35:14 -04:00
skfp Typo fixes errror -> error 2007-07-31 15:39:42 -07:00
tokenring drivers/*: mark variables with uninitialized_var() 2007-07-17 16:23:19 -04:00
tulip [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
usb dm9601: Fix receive MTU 2007-10-02 12:59:10 -04:00
wan [WAN] drivers/net/wan/hdlc_fr.c: kmalloc + memset conversion to kzalloc 2007-08-13 22:52:11 -07:00
wireless [MAC80211]: improved short preamble handling 2007-10-10 16:47:38 -07:00
3c59x.c 3c59x: fix duplex configuration 2007-08-14 01:38:37 -04:00
3c501.c
3c501.h
3c503.c
3c503.h
3c505.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
3c505.h
3c507.c
3c509.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
3c515.c
3c523.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
3c523.h
3c527.c
3c527.h
7990.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
7990.h
8139cp.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
8139too.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
8390.c
8390.h AX88796 network driver 2007-07-10 12:41:08 -04:00
82596.c netdev: i82596 Ethernet needs <asm/cacheflush.h> 2007-07-24 16:28:42 -04:00
Kconfig [MYRI10GE]: Use LRO. 2007-10-10 16:47:47 -07:00
LICENSE.SRC
Makefile [NET]: Virtual ethernet device driver. 2007-10-10 16:47:46 -07:00
Space.c more ACSI removal 2007-07-16 15:02:47 +02:00
a2065.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
a2065.h
ac3200.c
acenic.c drivers/net/acenic.c: fix check-after-use 2007-07-24 16:28:41 -04:00
acenic.h network drivers: eliminate unneeded kill_vid code 2007-06-03 11:44:20 -04:00
acenic_firmware.h
amd8111e.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
amd8111e.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
apne.c
ariadne.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ariadne.h
at1700.c
atarilance.c
atp.c remove broken URLs from net drivers' output 2007-05-09 08:58:18 +02:00
atp.h
au1000_eth.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
au1000_eth.h
ax88796.c ax88796 printk fixes 2007-08-14 01:34:53 -04:00
b44.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
b44.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
bfin_mac.c Blackfin Ethernet MAC driver: fix bug Report returned -ENOMEM upwards (in case L1/uncached memory alloc fails) 2007-07-25 14:09:54 +08:00
bfin_mac.h Blackfin ethernet driver: on chip ethernet MAC controller driver 2007-07-18 18:38:25 -04:00
bmac.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
bmac.h
bnx2.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
bnx2.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
bnx2_fw.h [BNX2]: Update 5708 firmware. 2007-05-03 13:21:13 -07:00
bnx2_fw2.h [BNX2]: Update 5709 firmware. 2007-05-03 13:21:48 -07:00
bsd_comp.c [NET]: Avoid pointless allocation casts in BSD compression module 2007-08-26 18:35:45 -07:00
cassini.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
cassini.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
cs89x0.c
cs89x0.h
de600.c
de600.h
de620.c
de620.h
declance.c declance: Remove a dangling spin_unlock_irq() thingy 2007-05-21 19:41:19 -04:00
defxx.c defxx: Use __maybe_unused rather than a local hack 2007-07-24 16:28:41 -04:00
defxx.h
depca.c
depca.h
dgrs.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
dgrs.h
dgrs_asstruct.h
dgrs_bcomm.h
dgrs_es4h.h
dgrs_ether.h
dgrs_firmware.c
dgrs_i82596.h
dgrs_plx9060.h
dl2k.c Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6 2007-07-12 13:40:57 -07:00
dl2k.h PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
dm9000.c DM9000: fix interface hang under load 2007-08-25 02:31:04 -04:00
dm9000.h
dummy.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
e100.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
e2100.c
eepro.c Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
eepro100.c [netdrvr] eepro100, ne2k-pci: abort resume if pci_enable_device() fails 2007-07-17 16:17:59 -04:00
eexpress.c [netdrvr] eexpress: minor corrections 2007-04-28 11:05:43 -04:00
eexpress.h
epic100.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
eql.c [EQL]: sparse warning fix 2007-08-26 18:35:38 -07:00
es3210.c
eth16i.c
ewrk3.c
ewrk3.h
fealnx.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
fec.c setup and detect 2nd phy on MCF5275 in FEC driver 2007-07-30 10:52:09 -07:00
fec.h
forcedeth.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
gianfar.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
gianfar.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
gianfar_ethtool.c
gianfar_mii.c gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_mii.h gfar: Fix modpost warning 2007-07-30 15:48:16 -04:00
gianfar_sysfs.c
hamachi.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
hp-plus.c
hp.c
hp100.c net/hp100: fix section mismatch warning 2007-06-01 08:18:30 -07:00
hp100.h
hplance.c
hplance.h
hydra.c
ibmlana.c
ibmlana.h
ibmveth.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ibmveth.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ifb.c [RTNETLINK]: rtnl_link: allow specifying initial device address 2007-07-11 19:45:36 -07:00
ioc3-eth.c IOC3: Program UART predividers. 2007-08-31 06:52:57 -04:00
isa-skeleton.c
iseries_veth.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
jazzsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
lance.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
lasi_82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lguest_net.c lguest: documentation VII: FIXMEs 2007-07-26 11:35:17 -07:00
lib8390.c lib8390: comment on locking by Alan Cox 2007-07-30 15:47:20 -04:00
lib82596.c Extract chip specific code out of lasi_82596.c 2007-07-08 22:16:45 -04:00
lne390.c
loopback.c [NET] loopback: Panic if registration fails 2007-07-31 02:28:14 -07:00
lp486e.c
mac89x0.c mac89x0: missing __init 2007-07-20 08:24:49 -07:00
mac8390.c m68k: Mac DP8390 update 2007-05-04 17:59:07 -07:00
macb.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
macb.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
mace.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
mace.h
macmace.c macmace: use "unsigned long flags;" 2007-07-10 12:41:18 -04:00
macsonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
macvlan.c [NET]: Add macvlan driver 2007-07-14 18:55:06 -07:00
meth.c Don't use GFP_DMA for zone allocation. 2007-08-25 02:30:59 -04:00
meth.h Fix occurrences of "the the " 2007-05-09 08:57:56 +02:00
mii.c mii: add kernel-doc notation 2007-04-28 11:01:05 -04:00
mipsnet.c [MIPS] Don't drag a platform specific header into generic arch code. 2007-06-20 22:27:10 +01:00
mipsnet.h
mv643xx_eth.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
mv643xx_eth.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
mvme147.c
myri_code.h
myri_sbus.c [SK_BUFF]: Introduce skb_copy_from_linear_data{_offset} 2007-04-25 22:28:23 -07:00
myri_sbus.h
natsemi.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ne-h8300.c
ne.c ne: MIPS: Use platform_driver for ne on RBTX49XX 2007-05-08 01:23:09 -04:00
ne2.c
ne2k-pci.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
ne3210.c
netconsole.c [NET] netconsole: Support multiple logging targets 2007-10-10 16:48:06 -07:00
netx-eth.c
ni52.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni52.h
ni65.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
ni65.h
ni5010.c NI5010: Handle multicast frames. 2007-07-18 18:29:38 -04:00
ni5010.h
ns83820.c NS83820: Handle multicast frames. 2007-07-18 18:29:37 -04:00
pasemi_mac.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
pasemi_mac.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
pci-skeleton.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
pcnet32.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
plip.c [SK_BUFF]: Introduce skb_mac_header() 2007-04-25 22:24:41 -07:00
ppp_async.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_deflate.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
ppp_generic.c [PPP] generic: Fix receive path data clobbering & non-linear handling 2007-09-16 16:22:13 -07:00
ppp_mppe.c [PPP_MPPE]: Don't put InterimKey on the stack 2007-09-25 23:05:39 -07:00
ppp_mppe.h
ppp_synctty.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
pppoe.c [PPP] pppoe: Fix double-free on skb after transmit failure 2007-09-20 12:14:16 -07:00
pppol2tp.c [PPP] L2TP: Fix skb handling in pppol2tp_xmit 2007-09-20 12:14:18 -07:00
pppox.c [PPPoX/E]: return ENOTTY on unknown ioctl requests 2007-07-31 02:28:22 -07:00
ps3_gelic_net.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ps3_gelic_net.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
qla3xxx.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
qla3xxx.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
r8169.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
rionet.c
rrunner.c rrunner.c:rr_init() must be __devinit 2007-07-10 12:24:42 -04:00
rrunner.h
s2io-regs.h S2io: Mask spurious interrupts 2007-07-30 15:56:04 -04:00
s2io.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
s2io.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
saa9730.c SAA9730: Handle multicast frames. 2007-07-18 18:29:38 -04:00
saa9730.h
sb1000.c [SK_BUFF]: Introduce skb_reset_mac_header(skb) 2007-04-25 22:24:32 -07:00
sb1250-mac.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sc92031.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
seeq8005.c
seeq8005.h
sgiseeq.c sgiseeq: Fix return type of sgiseeq_remove 2007-08-25 02:31:13 -04:00
sgiseeq.h
shaper.c some kmalloc/memset ->kzalloc (tree wide) 2007-07-19 10:04:50 -07:00
sis190.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sis900.c sis900_mii_probe() must be __devinit 2007-07-10 12:24:42 -04:00
sis900.h
skge.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
skge.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sky2.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sky2.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
slhc.c
slip.c [SLIP]: trivial sparse warning fix 2007-08-26 18:35:39 -07:00
slip.h
smc-mca.c
smc-ultra.c
smc-ultra32.c
smc91x.c
smc91x.h net: smc91x: Build fixes for general sh boards. 2007-08-07 17:18:31 -04:00
smc911x.c smc911x: fix compilation breakage 2007-05-15 17:44:39 -04:00
smc911x.h
smc9194.c
smc9194.h
sni_82596.c Ethernet driver for EISA only SNI RM200/RM400 machines 2007-07-08 22:16:46 -04:00
sonic.c SONIC interrupt handling 2007-05-04 17:59:08 -07:00
sonic.h
spider_net.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
spider_net.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
spider_net_ethtool.c spidernet: checksum and ethtool 2007-06-20 19:09:33 -04:00
starfire.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
starfire_firmware.h
starfire_firmware.pl
stnic.c
sun3_82586.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sun3_82586.h
sun3lance.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunbmac.h
sundance.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sungem.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sungem.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
sungem_phy.c [POWERPC] Rename get_property to of_get_property: drivers 2007-05-02 20:04:32 +10:00
sungem_phy.h
sunhme.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
sunhme.h
sunlance.c [SUNLANCE]: Fix sparc32 crashes by using of_*() interfaces. 2007-07-30 18:23:39 -07:00
sunqe.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
sunqe.h
sunvnet.c [NET]: ethtool_perm_addr only has one implementation 2007-07-31 14:00:29 -07:00
sunvnet.h [SPARC64]: Add proper multicast support to VNET driver. 2007-07-20 17:14:30 -07:00
tc35815.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
tg3.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
tg3.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
tlan.c PCI: Change all drivers to use pci_device->revision 2007-07-11 16:02:10 -07:00
tlan.h
tsi108_eth.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
tsi108_eth.h [POWERPC] Generalize tsi108 PHY types 2007-05-08 11:54:20 +10:00
tun.c [NET]: Allow group ownership of TUN/TAP devices. 2007-07-10 22:16:42 -07:00
typhoon-firmware.h
typhoon.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
typhoon.h
ucc_geth.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ucc_geth.h [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
ucc_geth_ethtool.c ucc_geth: remove get_perm_addr from ucc_geth_ethtool.c 2007-08-03 16:08:15 +08:00
ucc_geth_mii.c ucc_geth: fix section mismatch 2007-08-03 16:07:58 +08:00
ucc_geth_mii.h ucc_geth: eliminate max-speed, change interface-type to phy-connection-type 2007-05-15 17:44:40 -04:00
veth.c [NET]: Virtual ethernet device driver. 2007-10-10 16:47:46 -07:00
via-rhine.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
via-velocity.c in-string typos of "error" 2007-07-31 15:39:40 -07:00
via-velocity.h
wd.c
xen-netfront.c [NET]: Make NAPI polling independent of struct net_device objects. 2007-10-10 16:47:45 -07:00
yellowfin.c [NET]: Kill eth_copy_and_sum(). 2007-07-10 22:08:12 -07:00
znet.c
zorro8390.c