original_kernel/Documentation
Evgeniy Polyakov 7672d0b544 [NET]: Add netlink connector.
Kernel connector - new userspace <-> kernel space easy to use
communication module which implements easy to use bidirectional
message bus using netlink as it's backend.  Connector was created to
eliminate complex skb handling both in send and receive message bus
direction.

Connector driver adds possibility to connect various agents using as
one of it's backends netlink based network.  One must register
callback and identifier. When driver receives special netlink message
with appropriate identifier, appropriate callback will be called.

From the userspace point of view it's quite straightforward:

	socket();
	bind();
	send();
	recv();

But if kernelspace want to use full power of such connections, driver
writer must create special sockets, must know about struct sk_buff
handling...  Connector allows any kernelspace agents to use netlink
based networking for inter-process communication in a significantly
easier way:

int cn_add_callback(struct cb_id *id, char *name, void (*callback) (void *));
void cn_netlink_send(struct cn_msg *msg, u32 __groups, int gfp_mask);

struct cb_id
{
	__u32			idx;
	__u32			val;
};

idx and val are unique identifiers which must be registered in
connector.h for in-kernel usage.  void (*callback) (void *) - is a
callback function which will be called when message with above idx.val
will be received by connector core.

Using connector completely hides low-level transport layer from it's
users.

Connector uses new netlink ability to have many groups in one socket.

[ Incorporating many cleanups and fixes by myself and
  Andrew Morton -DaveM ]

Signed-off-by: Evgeniy Polyakov <johnpol@2ka.mipt.ru>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
2005-09-11 19:15:07 -07:00
..
DocBook
RCU
aoe
arm
block
cdrom
connector
cpu-freq
cris
crypto
device-mapper
driver-model
dvb
early-userspace
fb
filesystems
firmware_class
fujitsu/frv
hwmon
i2c
i2o
i386
ia64
infiniband
input
ioctl
isdn
kbuild
kdump
m68k
mips
networking
parisc
pcmcia
power
powerpc
s390
scsi
serial
sh
sound
sparc
sysctl
telephony
uml
usb
video4linux
vm
w1
watchdog
x86_64
00-INDEX
BUG-HUNTING
Changes
CodingStyle
DMA-API.txt
DMA-ISA-LPC.txt
DMA-mapping.txt
IO-mapping.txt
IPMI.txt
IRQ-affinity.txt
MSI-HOWTO.txt
ManagementStyle
PCIEBUS-HOWTO.txt
README.DAC960
README.cycladesZ
SAK.txt
SecurityBugs
SubmittingDrivers
SubmittingPatches
VGA-softcursor.txt
acpi-hotkey.txt
applying-patches.txt
atomic_ops.txt
basic_profiling.txt
binfmt_misc.txt
cachetlb.txt
cciss.txt
cli-sti-removal.txt
computone.txt
cpqarray.txt
cpusets.txt
dcdbas.txt
debugging-modules.txt
dell_rbu.txt
devices.txt
digiepca.txt
dnotify.txt
dontdiff
eisa.txt
exception.txt
feature-removal-schedule.txt
floppy.txt
ftape.txt
hayes-esp.txt
highuid.txt
hpet.txt
hw_random.txt
ibm-acpi.txt
ide.txt
initrd.txt
io_ordering.txt
ioctl-number.txt
iostats.txt
isapnp.txt
java.txt
kernel-doc-nano-HOWTO.txt
kernel-docs.txt
kernel-parameters.txt
keys.txt
kobject.txt
kprobes.txt
kref.txt
laptop-mode.txt
ldm.txt
locks.txt
logo.gif
logo.txt
magic-number.txt
mandatory.txt
mca.txt
md.txt
memory.txt
mono.txt
moxa-smartio
mtrr.txt
nbd.txt
nfsroot.txt
nmi_watchdog.txt
nommu-mmap.txt
numastat.txt
oops-tracing.txt
paride.txt
parport-lowlevel.txt
parport.txt
pci.txt
pm.txt
pnp.txt
preempt-locking.txt
prio_tree.txt
ramdisk.txt
riscom8.txt
rocket.txt
rpc-cache.txt
rtc.txt
sched-coding.txt
sched-design.txt
sched-domains.txt
sched-stats.txt
seclvl.txt
serial-console.txt
sgi-ioc4.txt
sgi-visws.txt
smart-config.txt
smp.txt
sonypi.txt
sparse.txt
specialix.txt
spinlocks.txt
stable_api_nonsense.txt
stable_kernel_rules.txt
stallion.txt
svga.txt
sx.txt
sysrq.txt
time_interpolators.txt
tipar.txt
tty.txt
unicode.txt
voyager.txt
xterm-linux.xpm
zorro.txt

README.cycladesZ

The Cyclades-Z must have firmware loaded onto the card before it will
operate.  This operation should be performed during system startup,

The firmware, loader program and the latest device driver code are
available from Cyclades at
    ftp://ftp.cyclades.com/pub/cyclades/cyclades-z/linux/