freebsd-skq/sys/netgraph
glebius 3c69856ec5 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
..
atm Apply error and success logic consistently to the function netisr_queue() and 2004-08-27 18:33:08 +00:00
bluetooth Get rid of device nodes interface. It is useless and confusing. 2004-10-12 23:33:46 +00:00
netflow - Remove advertising clause from copyright [1] 2004-09-17 19:58:03 +00:00
netgraph.h Align netgraph message fields ready for 64-bit (and 128 bit :-) machines. 2004-08-20 01:24:23 +00:00
ng_async.c Consistently use __inline instead of __inline__ as the former is an empty macro 2004-07-04 16:11:03 +00:00
ng_async.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_atmllc.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_atmllc.h Add a netgraph node to handle ATM LLC encapsulation. This currently handles 2004-03-08 10:54:35 +00:00
ng_base.c When making a peer of unknown type framework tries to load module 2004-07-27 20:30:56 +00:00
ng_bpf.c Avoid calling bpf_filter() with len == 0, which causes a change in semantics 2004-06-23 02:37:10 +00:00
ng_bpf.h Get rid of the deprecated *LEN constants in favour of the new 2004-01-26 14:05:31 +00:00
ng_bridge.c Convert ipfw to use PFIL_HOOKS. This is change is transparent to userland 2004-08-17 22:05:54 +00:00
ng_bridge.h
ng_cisco.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_cisco.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_device.c Major overhaul. 2004-10-18 20:13:57 +00:00
ng_device.h Major overhaul. 2004-10-18 20:13:57 +00:00
ng_echo.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_echo.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_eiface.c Remove orphaned comment about Meta data. 2004-09-11 08:59:06 +00:00
ng_eiface.h Use the (now standard) Ethernet address parse type. 2003-12-17 13:03:32 +00:00
ng_etf.c Having moved metadata usage to mbuf tags, remove code that supports 2004-06-26 22:24:16 +00:00
ng_etf.h Get rid of the deprecated *LEN constants in favour of the new 2004-01-26 14:05:31 +00:00
ng_ether.c Fix packet flow when both ng_ether(4) and bridge(4) are in use: 2004-10-12 10:33:42 +00:00
ng_ether.h Backout previous change, it breaks build and it is not needed 2004-02-20 08:26:27 +00:00
ng_fec.c Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
ng_fec.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_frame_relay.c Mark 'makeup' in ng_frame_relay as const, as its values are immutable. 2004-07-12 04:35:42 +00:00
ng_frame_relay.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_gif_demux.c Consistently use __inline instead of __inline__ as the former is an empty macro 2004-07-04 16:11:03 +00:00
ng_gif_demux.h
ng_gif.c Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
ng_gif.h
ng_hole.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_hole.h Whitespace nit. 2004-05-19 11:35:03 +00:00
ng_hub.c Having moved metadata usage to mbuf tags, remove code that supports 2004-06-26 22:24:16 +00:00
ng_hub.h A simple packet distribution node type that acts like an Ethernet hub. 2004-04-17 12:42:17 +00:00
ng_iface.c Introduce a new mutex, ng_iface_mtx, to protect the global unit list 2004-07-14 20:24:21 +00:00
ng_iface.h Implemented the "getifindex" control message. 2004-03-07 23:00:44 +00:00
ng_ip_input.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_ip_input.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_ksocket.c In FreeBSD 5.x, curthread is always defined, so we don't need to to test 2004-09-02 19:53:13 +00:00
ng_ksocket.h oops from Gleb.. 2004-06-25 22:59:59 +00:00
ng_l2tp.c Implement minimalistic L2TP sessions statistics and correct man page 2004-08-03 06:52:55 +00:00
ng_l2tp.h Implement minimalistic L2TP sessions statistics and correct man page 2004-08-03 06:52:55 +00:00
ng_lmi.c Convert Netgraph to use mbuf tags to pass its meta information around. 2004-06-25 19:22:05 +00:00
ng_lmi.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_message.h Align netgraph message fields ready for 64-bit (and 128 bit :-) machines. 2004-08-20 01:24:23 +00:00
ng_mppc.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_mppc.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_one2many.c Having moved metadata usage to mbuf tags, remove code that supports 2004-06-26 22:24:16 +00:00
ng_one2many.h Backout previous change, it breaks build and it is not needed 2004-02-20 08:26:27 +00:00
ng_parse.c Avoid casts as lvalues. 2004-07-28 06:59:55 +00:00
ng_parse.h Get rid of the deprecated *LEN constants in favour of the new 2004-01-26 14:05:31 +00:00
ng_ppp.c Do not change link[n].conf.latency for internal usage but have 2004-08-03 06:34:55 +00:00
ng_ppp.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_pppoe.c Another stupid error from my side. PPPOE_NONSTANDARD was first defined 2004-08-01 20:39:33 +00:00
ng_pppoe.h When node is server serve both standard RFC2516 and non-standard 3Com 2004-07-27 19:47:13 +00:00
ng_pptpgre.c Increase PPTP_MAX_TIMEOUT up to 3 seconds. 10 prooved too much for high packet 2004-09-06 19:53:58 +00:00
ng_pptpgre.h Add 'enableWindowing' configuration knob to the ng_pptpgre(4) netgraph node. 2004-04-26 14:26:54 +00:00
ng_rfc1490.c Make the frameworkl responsible for not passing the nodes a NULL mbuf pointer. 2004-06-25 21:11:14 +00:00
ng_rfc1490.h Add the capacity for the rfc1490 node to handle cisco style encasulation 2004-06-13 15:44:00 +00:00
ng_sample.c Address node in a less complex way. 2004-07-29 08:05:02 +00:00
ng_sample.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_socket.c Acquire Giant arounds calls into the linker from Netgraph sockets. 2004-08-30 14:41:25 +00:00
ng_socket.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_socketvar.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_source.c Slight cosmetic changes. 2004-07-20 17:15:38 +00:00
ng_source.h Define the new command NGM_SOURCE_START_NOW to allow generation of 2004-01-26 14:54:39 +00:00
ng_split.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_split.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_sppp.c Consistently use __inline instead of __inline__ as the former is an empty macro 2004-07-04 16:11:03 +00:00
ng_sppp.h sppp (4) to netgraph (4) node. As always: I'l connect it to the 2004-03-24 17:24:01 +00:00
ng_tee.c Having moved metadata usage to mbuf tags, remove code that supports 2004-06-26 22:24:16 +00:00
ng_tee.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_tty.c Fix an issue with ng_tty which (ab)used the tty->t_sc field which is 2004-09-17 22:26:27 +00:00
ng_tty.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_UI.c Make the frameworkl responsible for not passing the nodes a NULL mbuf pointer. 2004-06-25 21:11:14 +00:00
ng_UI.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_vjc.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_vjc.h Use a single style of multiple inclusion protection for Netgraph headers. 2003-11-11 12:30:37 +00:00
ng_vlan.c Switch to using C99 sparse initialisers for the type methods array. 2004-05-29 00:51:19 +00:00
ng_vlan.h Netgraph node type for IEEE 802.1Q VLAN tagging. 2004-03-01 17:22:16 +00:00
NOTES