freebsd-skq/sys/netgraph
Marko Zec 57ce8ebf8c Simplify ng_pipe locking model by relying on the netgraph framework
to provide serialization of calls into the node, which is accomplished
by markng the node as single-threaded (NGF_FORCE_WRITER).

The price we pay is that each ng_pipe instance now has its own callout
handler which polls for queued frames on each clock tick, as long as
the pipe has any frames in its internal queues.  OTOH, we got rid of
the global ng_pipe mutex, so from now on multiple ng_pipe instances
can operate in parallel.  This change also fixes counting of forwarded
frames when an ng_pipe node is not enforcing any packet impairments.

While here, attempt to improve adherance to style(9) throughout
otherwise mostly unreadable code.

MFC after:	3 days
2010-11-24 16:02:58 +00:00
..
atm (S)LIST_HEAD_INITIALIZER takes a (S)LIST_HEAD as an argument. 2009-12-28 22:56:30 +00:00
bluetooth Fix typo 2010-08-02 22:26:08 +00:00
netflow Zero padding fields of netflow records. This helps to reduce 2010-07-26 13:48:35 +00:00
netgraph.h Introduce and use a sysinit-based initialization scheme for virtual 2009-07-23 20:46:49 +00:00
ng_async.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_async.h
ng_atmllc.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_atmllc.h
ng_base.c After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
ng_bpf.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_bpf.h
ng_bridge.c Add an optional "persistent" flag to ng_hub and ng_bridge, which if set, 2010-05-05 22:06:05 +00:00
ng_bridge.h Add an optional "persistent" flag to ng_hub and ng_bridge, which if set, 2010-05-05 22:06:05 +00:00
ng_car.c - Account all node stats at the shape mode. 2008-03-30 07:53:51 +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 Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_cisco.h
ng_deflate.c Remove alignment constraints. 2010-04-01 16:18:16 +00:00
ng_deflate.h
ng_device.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_device.h
ng_echo.c
ng_echo.h
ng_eiface.c After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
ng_eiface.h Allow for MTU sizes of up to ETHER_MAX_LEN_JUMBO (i.e. 9018) bytes to be 2010-11-22 12:32:19 +00:00
ng_etf.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_etf.h
ng_ether_echo.c Add a trivial node to reflect ethernet frames to whence they came. 2008-12-25 00:01:29 +00:00
ng_ether_echo.h Add a trivial node to reflect ethernet frames to whence they came. 2008-12-25 00:01:29 +00:00
ng_ether.c Declare a new EVENTHANDLER called iflladdr_event which signals that the L2 2010-01-18 20:34:00 +00:00
ng_ether.h
ng_fec.c Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
ng_fec.h
ng_frame_relay.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_frame_relay.h
ng_gif_demux.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_gif_demux.h
ng_gif.c Rework global locks for interface list and index management, correcting 2009-08-23 20:40:19 +00:00
ng_gif.h
ng_hole.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_hole.h
ng_hub.c Add an optional "persistent" flag to ng_hub and ng_bridge, which if set, 2010-05-05 22:06:05 +00:00
ng_hub.h Add an optional "persistent" flag to ng_hub and ng_bridge, which if set, 2010-05-05 22:06:05 +00:00
ng_iface.c After some off-list discussion, revert a number of changes to the 2010-11-22 19:32:54 +00:00
ng_iface.h Check for infinite recursion possible on some broken PPTP/L2TP/... VPN setups. 2009-01-20 22:26:09 +00:00
ng_ip_input.c Introduce a mechanism for detecting calls from outbound path of the 2009-06-11 16:50:49 +00:00
ng_ip_input.h
ng_ipfw.c Fix operation of "netgraph" action in conjunction with the 2010-07-27 14:26:34 +00:00
ng_ipfw.h bring the NGM_IPFW_COOKIE back into ng_ipfw.h, libnetgraph expects 2009-12-28 12:29:13 +00:00
ng_ksocket.c Fix an invalid parameter detected by INVARIANT and confirmed by r193272. 2010-05-06 20:58:23 +00:00
ng_ksocket.h
ng_l2tp.c Make ng_l2tp irrelevant to data alignment. 2010-03-31 22:11:06 +00:00
ng_l2tp.h
ng_lmi.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_lmi.h
ng_message.h World now builds without these defines, so eliminate them. 2009-06-09 07:07:20 +00:00
ng_mppc.c Remove some more alignment constraints. 2010-03-31 22:47:55 +00:00
ng_mppc.h
ng_nat.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_nat.h Fix incorrect field name. 2008-03-04 11:10:54 +00:00
ng_one2many.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_one2many.h
ng_parse.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_parse.h
ng_patch.c * Include sys/systm.h for KASSERT() 2010-06-15 08:53:13 +00:00
ng_patch.h Style(9) fixes: 2010-06-10 16:45:30 +00:00
ng_pipe.c Simplify ng_pipe locking model by relying on the netgraph framework 2010-11-24 16:02:58 +00:00
ng_pipe.h Start copyright notice with /*- 2010-04-07 16:29:10 +00:00
ng_ppp.c Remove some more alignment constraints. 2010-03-31 22:47:55 +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 Remove some dead and incorrect code. 2010-06-05 10:16:23 +00:00
ng_pppoe.h Make Netgraph compile with Clang. 2009-03-03 18:47:33 +00:00
ng_pptpgre.c Remove alignment constraints. 2010-04-01 16:20:36 +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 Use m_unshare()+m_copyback() instead of m_freem()+m_devget() to keep 2009-01-18 19:25:36 +00:00
ng_pred1.h
ng_rfc1490.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_rfc1490.h
ng_sample.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_sample.h
ng_socket.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_socket.h
ng_socketvar.h Now fix functionality of 'netstat -f netgraph' that hasn't worked 2010-03-12 15:04:59 +00:00
ng_source.c Remove email address that no longer exists. 2010-07-06 16:42:11 +00:00
ng_source.h Remove defunct email address from header as well. 2010-07-06 16:55:39 +00:00
ng_split.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_split.h
ng_sppp.c Take a step towards removing if_watchdog/if_timer. Don't explicitly set 2009-11-06 14:55:01 +00:00
ng_sppp.h
ng_tag.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_tag.h
ng_tcpmss.c Remove alignment constraints. 2010-04-01 10:41:01 +00:00
ng_tcpmss.h
ng_tee.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_tee.h
ng_tty.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_tty.h Assign new cookie to the node to reflect API change. 2008-11-08 02:05:41 +00:00
ng_UI.c When calling panic(), always pass a format string. 2010-10-13 17:21:21 +00:00
ng_UI.h
ng_vjc.c Mark ng_vjc node as FORCE_WRITER to protect slcompress state. 2009-01-08 17:51:15 +00:00
ng_vjc.h
ng_vlan.c Retire the MALLOC and FREE macros. They are an abomination unto style(9). 2008-10-23 15:53:51 +00:00
ng_vlan.h
NOTES Spell DIAGNOSTIC correctly. 2009-10-24 18:49:17 +00:00