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
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
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
ng_car.h
ng_cisco.c
ng_cisco.h
ng_deflate.c Remove alignment constraints. 2010-04-01 16:18:16 +00:00
ng_deflate.h
ng_device.c
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
ng_etf.h
ng_ether_echo.c
ng_ether_echo.h
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
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
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
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
ng_nat.h
ng_one2many.c
ng_one2many.h
ng_parse.c
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
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
ng_pred1.c
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
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
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
ng_tag.h
ng_tcpmss.c Remove alignment constraints. 2010-04-01 10:41:01 +00:00
ng_tcpmss.h
ng_tee.c
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
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
ng_vjc.h
ng_vlan.c
ng_vlan.h
NOTES Spell DIAGNOSTIC correctly. 2009-10-24 18:49:17 +00:00