opnsense-src/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 Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
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 Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
bridge Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
cisco Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
device Major overhaul. 2004-10-18 20:13:57 +00:00
echo Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
eiface Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
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 Export "ng_ether_enaddr_type" because the ng_bridge type uses it. 2002-01-12 17:31:25 +00:00
fec MODULE_DEPEND is a C macro, not a make(1). 2004-01-13 11:30:37 +00:00
frame_relay Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
gif /home/brooks/ng_gif.message 2001-09-26 23:50:17 +00:00
gif_demux /home/brooks/ng_gif.message 2001-09-26 23:50:17 +00:00
hole Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
hub A simple packet distribution node type that acts like an Ethernet hub. 2004-04-17 12:42:17 +00:00
iface Fix module build by adding options to Makefile. 2003-03-08 21:54:32 +00:00
ip_input Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
ksocket Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
l2tp Add ng_l2tp module. 2002-08-20 22:03:57 +00:00
lmi Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
mppc Take the rc4 code out of ng_mppc module so we don't fail to load when 2003-02-05 19:11:11 +00:00
netflow Attach ng_netflow to kernel build. 2004-09-16 20:35:28 +00:00
netgraph Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
one2many Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
ppp Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
pppoe Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
pptpgre Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
rfc1490 Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
sample Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
socket Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
source Add the netgraph 'source' module. 2002-10-31 23:03:09 +00:00
split Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
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 Move the isa parts to a separate file. 2001-04-16 13:20:39 +00:00
sync_sr Make klds for the ar and sr devices and hook them up. 2001-01-30 10:20:43 +00:00
tee Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
tty Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
UI Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
vjc Drop <bsd.man.mk> support from <bsd.kmod.mk>. 2002-01-11 15:49:02 +00:00
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 Turn on unconditional symbol export for modules whose API is 2002-01-11 01:19:26 +00:00