freebsd-skq/sys/netgraph
mav 9af7fc155d Rewrite node to support multiple hooks, alike to ng_l2tp, to use one pair
of pptpgre and ksocket nodes for all calls between two peers. This patch
modifies node's API by adding new "session_%04x" hook names support, while
keeping backward compatibility.

Together with appropriate user-level support (by latest mpd5) it gives
huge performance benefits for case of multiple active calls between
two peers because of avoiding data duplication and extra socket processing.
On my benchmarks I have got more then 10 times speedup for the 200
simultaneous PPTP calls between two peers.
In conclusion, it allows now to build effective "clients <=> PAC <=> PNS"
setups.
2008-03-24 22:55:22 +00:00
..
atm Don't use data after free. 2006-09-30 12:37:43 +00:00
bluetooth Fix locking issue in ng_btsocket_l2cap_ctloutput() 2007-10-31 16:17:20 +00:00
netflow Use rtalloc1() instead of rtalloc_ign(). It returns a locked 2008-02-07 11:10:17 +00:00
netgraph.h Improve apply callback error reporting: 2008-03-11 21:58:48 +00:00
ng_async.c
ng_async.h
ng_atmllc.c
ng_atmllc.h
ng_base.c Remove impossible (hk_peer == NULL) check from ng_address_hook(). 2008-03-16 23:12:17 +00:00
ng_bpf.c Prepare hooks direct pointers on setup to avoid heavy ng_findhook() calls 2008-02-04 19:26:53 +00:00
ng_bpf.h Fix typo in a comment. 2005-02-12 18:10:26 +00:00
ng_bridge.c In revision 1.29 timeout() was converted to ng_callout(). 2005-02-09 15:14:44 +00:00
ng_bridge.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
ng_car.c Add option to set packets per second limits instead of default 2007-12-19 22:50:14 +00:00
ng_car.h Add option to set packets per second limits instead of default 2007-12-19 22:50:14 +00:00
ng_cisco.c Add ipv6 to ng_cisco node. ipv6 wasn't a reality when I wrote it.. 2007-11-30 23:27:39 +00:00
ng_cisco.h
ng_deflate.c Whitespace cleanup. 2007-01-15 05:55:56 +00:00
ng_deflate.h A node that implements the Deflate sub-protocols of the Compression Control 2006-12-28 15:44:05 +00:00
ng_device.c Rename m_getm() to m_getm2() and rewrite it to allocate up to page sized 2006-11-02 17:37:22 +00:00
ng_device.h
ng_echo.c - Return error, if there was one. 2005-04-15 10:14:00 +00:00
ng_echo.h
ng_eiface.c Honor the IFF_MONITOR flag. 2007-07-26 10:54:33 +00:00
ng_eiface.h Added ASCII version of the NGM_EIFACE_GET_IFNAME message, "getifname". 2005-02-03 11:52:42 +00:00
ng_etf.c Remove ng_connect_t where it is unused. Probably it remained from ng_source.c. 2005-03-14 20:49:48 +00:00
ng_etf.h
ng_ether.c Implement reference counting for ifmultiaddr, in_multi, and in6_multi 2007-03-20 00:36:10 +00:00
ng_ether.h Add new netgraph control message NGM_ETHER_DETACH, which actually 2005-02-14 12:01:09 +00:00
ng_fec.c Help ng_fec deal with multicast addresses. 2007-05-18 15:05:49 +00:00
ng_fec.h
ng_frame_relay.c Initialize variable. 2006-01-14 21:49:31 +00:00
ng_frame_relay.h
ng_gif_demux.c
ng_gif_demux.h
ng_gif.c Stop embedding struct ifnet at the top of driver softcs. Instead the 2005-06-10 16:49:24 +00:00
ng_gif.h
ng_hole.c Fix memory leak. 2005-12-09 07:09:44 +00:00
ng_hole.h
ng_hub.c
ng_hub.h
ng_iface.c Implement stack protection based on GET_STACK_USAGE() macro. 2008-01-31 08:51:48 +00:00
ng_iface.h Bump cookie value to reflect change in NGM_IFACE_GET_IFNAME semantics. 2005-02-13 16:36:41 +00:00
ng_ip_input.c
ng_ip_input.h
ng_ipfw.c Unbreak this. 2006-02-14 15:22:24 +00:00
ng_ipfw.h Remove unused now field. 2006-02-17 09:42:49 +00:00
ng_ksocket.c Send only one incoming notification at a time to reduce queue 2008-03-07 21:12:56 +00:00
ng_ksocket.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
ng_l2tp.c Add session ID hashing to speedup incoming packets dispatch in case 2008-03-16 21:33:12 +00:00
ng_l2tp.h
ng_lmi.c Remove dead code. 2006-01-14 14:17:27 +00:00
ng_lmi.h
ng_message.h Make ng_ID_t fixed size, so that its maximum value is platform independent. 2006-10-17 11:01:20 +00:00
ng_mppc.c Fix build with NETGRAPH_MPPC_COMPRESSION but without NETGRAPH_MPPC_ENCRYPTION. 2007-05-18 15:28:01 +00:00
ng_mppc.h
ng_nat.c Add support for the libalias redirect functionality. 2008-03-01 17:14:02 +00:00
ng_nat.h Fix incorrect field name. 2008-03-04 11:10:54 +00:00
ng_one2many.c Fix getting stats from many links with index > 0. 2005-03-11 10:29:38 +00:00
ng_one2many.h
ng_parse.c Fix various compilation warnings for gcc-4.2. 2007-06-23 00:02:20 +00:00
ng_parse.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
ng_ppp.c Do not use bcmp() to compare two bytes with constants. 2008-02-06 20:37:34 +00:00
ng_ppp.h Add 64bit statistic counters to the ng_ppp node. 2007-08-01 20:49:35 +00:00
ng_pppoe.c Use more compact LIST instead of TAILQ for session hash. 2008-03-03 19:36:03 +00:00
ng_pppoe.h Remove some prehistoric never used defines. 2007-12-26 19:15:07 +00:00
ng_pptpgre.c Rewrite node to support multiple hooks, alike to ng_l2tp, to use one pair 2008-03-24 22:55:22 +00:00
ng_pptpgre.h Rewrite node to support multiple hooks, alike to ng_l2tp, to use one pair 2008-03-24 22:55:22 +00:00
ng_pred1.c Slightly simplify code. 2008-01-27 02:04:12 +00:00
ng_pred1.h A node that implements Predictor-1 compression for PPP. 2006-12-29 09:54:32 +00:00
ng_rfc1490.c
ng_rfc1490.h
ng_sample.c Whitespace. 2005-02-06 19:24:59 +00:00
ng_sample.h
ng_socket.c Improve apply callback error reporting: 2008-03-11 21:58:48 +00:00
ng_socket.h Make the sg_len and sg_family members of the sockaddr_ng the same type 2006-10-17 11:03:55 +00:00
ng_socketvar.h In the splnet times, netgraph was functional and synchronous. Nowadays, 2005-07-05 17:35:20 +00:00
ng_source.c Ensure message passed to "settimestamp" and "setcounter" is the right 2007-03-02 14:36:19 +00:00
ng_source.h Add "setcounter" and "getcounter" messages, providing the the ability 2007-03-02 01:44:04 +00:00
ng_split.c Plug item leak in case when not all hooks are connected. 2005-08-29 13:47:08 +00:00
ng_split.h Make the cookie constant name canonical. 2005-10-25 20:56:12 +00:00
ng_sppp.c Various bpf(4) related fixes to catch places up to the new bpf(4) 2006-12-29 13:59:50 +00:00
ng_sppp.h Parse "getifname" using the standard parse string type. 2005-02-03 13:03:31 +00:00
ng_tag.c A netgraph node that can do different manipulations with 2006-06-27 12:45:28 +00:00
ng_tag.h A netgraph node that can do different manipulations with 2006-06-27 12:45:28 +00:00
ng_tcpmss.c Update ip and tcp pointers after m_pullup(). 2007-01-15 05:01:31 +00:00
ng_tcpmss.h Add ng_tcpmss node, which alters MSS options of TCP packets. Useful to 2005-06-10 08:02:34 +00:00
ng_tee.c Fix shutdown bug made by previous commit. 2008-02-24 10:13:32 +00:00
ng_tee.h
ng_tty.c Sweep kernel replacing suser(9) calls with priv(9) calls, assigning 2006-11-06 13:42:10 +00:00
ng_tty.h
ng_UI.c
ng_UI.h
ng_vjc.c Use __LP64__ to check for the 64-bit pointer type, and fix -Wundef. 2005-12-04 00:25:03 +00:00
ng_vjc.h
ng_vlan.c Silence a gcc warning in a more canonical way (evl = NULL rather than &evl). 2007-06-11 15:29:02 +00:00
ng_vlan.h Use variable-sized arrays where appropriate. 2005-10-28 14:41:28 +00:00
NOTES