freebsd-dev/sys/modules/netgraph
Gleb Smirnoff 547d34736b Major overhaul.
List of functional changes:
   - Make a single device per single node with a single hook.
     This gives us parrallelizm, which can't be achieved on a single
     node with many devices/hooks. This also gives us flexibility - we
     can play with a particular device node, not affecting others.
   - Remove read queue as it is. Use struct ifqueue instead. This change
     removes a lot of extra memcpy()ing, m_devget()ting and m_copymem()ming.
     In ng_device_receivedata() we enqueue an mbuf and wake readers.
     In ngdread() we take one mbuf from qeueue and uiomove() it to
     userspace. If no mbuf is present we optionally block. [1]
   - In ngdwrite() we create an mbuf from uio using m_uiotombuf().
     This is faster then uiomove() into buffer, and then m_copydata(),
     and this is much better than huge m_pullup().
   - Perform locking of device
   - Perform locking of connection list.
   - Clear out _rcvmsg method, since it does nothing good yet.
   - Implement NGM_DEVICE_GET_DEVNAME message.
   - #if 0 ioctl method, while nothing is done here yet.
   - Return immediately from ngdwrite() if uio_resid == 0.

 List of tidyness changes:
   - Introduce device2priv(), to remove cut'n'paste.
   - Use MALLOC/FREE, instead of malloc/free.
   - Use unit2minor().
   - Use UID_ROOT/GID_WHEEL instead of 0/0.
   - Define NGD_DEVICE_DEVNAME, use it.
   - Use more nice macros for debugging. [2]
   - Return Exxx, not -1.

 style(9) changes:
   - No "#endif" after short block.
   - Break long lines.
   - Remove extra spaces, add needed spaces.

[1] Obtained from:      if_tun.c
[2] Obtained from:      ng_pppoe.c
Reviewed by:		marks
Approved by:		julian (mentor)
MFC after:		1 month
2004-10-18 20:13:57 +00:00
..
async
atm Add the module build stuff for the ATM call control module. 2004-08-12 14:58:46 +00:00
atmllc Add a netgraph node to handle ATM LLC encapsulation. This currently handles 2004-03-08 10:54:35 +00:00
bluetooth Build usbdevs.h 2004-06-28 19:06:30 +00:00
bpf
bridge
cisco
device Major overhaul. 2004-10-18 20:13:57 +00:00
echo
eiface
etf Don't compile with -g by default; there's a better way to build modules with 2003-11-10 12:54:54 +00:00
ether
fec MODULE_DEPEND is a C macro, not a make(1). 2004-01-13 11:30:37 +00:00
frame_relay
gif
gif_demux
hole
hub A simple packet distribution node type that acts like an Ethernet hub. 2004-04-17 12:42:17 +00:00
iface
ip_input
ksocket
l2tp
lmi
mppc
netflow Attach ng_netflow to kernel build. 2004-09-16 20:35:28 +00:00
netgraph
one2many
ppp
pppoe
pptpgre
rfc1490
sample
socket
source
split
sppp sppp (4) to netgraph (4) node. As always: I'l connect it to the 2004-03-24 17:24:01 +00:00
sync_ar
sync_sr
tee
tty
UI
vjc
vlan Netgraph node type for IEEE 802.1Q VLAN tagging. 2004-03-01 17:22:16 +00:00
Makefile Attach ng_netflow to kernel build. 2004-09-16 20:35:28 +00:00
Makefile.inc