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
..
2010-08-02 22:26:08 +00:00
2010-04-01 16:18:16 +00:00
2008-03-04 11:10:54 +00:00
2010-06-15 08:53:13 +00:00
2010-06-10 16:45:30 +00:00
2010-04-07 16:29:10 +00:00
2009-03-03 18:47:33 +00:00
2010-04-01 16:20:36 +00:00
2010-04-01 10:41:01 +00:00
2009-10-24 18:49:17 +00:00