In order to minimize latency, all netgraph operations are functional.
direct call vs. queuing does not have this advantage if you compare
optimum solutions using both methods. e.g. take into account
issues and event sequencing.
Do you queue the create hook and delete hook events?
I'm reasured that you have queuing, shame its not the default.
Its not the default because a directly called node can decide to queue,
within itself. (and have the data resubmitted at dequeue time).. basically
the directly called subrutine acts as a subroutine of the caller, but with
the internal knowledge of the callee.
It's also slightly slower and un-needed for 98% of the operations. These
nodes a VERY SIMPLE, and a packet may go through 6 of them.
6 queueing delays would be excessive. (look at this exact problem in
STREAMS). It was decided to allow queueing (either sender or receiver can
specify that it should be queued) but to use direct calling specifically
because of the bad experiences of STREAMS. direct calling can still
queue, but queueing cant go back to direct calling. Direct calling also
allows return values, which are sometimes useful, and lost if you decide
To Unsubscribe: send mail to majo...@FreeBSD.org
with "unsubscribe freebsd-isdn" in the body of the message