Brett Glass wrote:
At 01:47 PM 12/1/2009, Julian Elischer wrote:

well, not all work is done by that thread. It is the
backup-doer-of-things, but many netgraph operations are done in the
context of a caller such as teh user of a socket.

In the case of a PPTP session, the data (ignoring the control session
for the moment) flows from the interface (as GRE packets) through PPP
(also implemented in netgraph) to an "ng" pseudo-interface, where it
enters the ordinary FreeBSD IP stack. There isn't a user process listening
on a socket anywhere in that path, so I assume that the netgraph
kernel thread has to handle all of the work of encryption, decryption,
handshaking, etc. Am I incorrect about this? I am concerned that the
performance of a single core will be the bottleneck.

The work will be split between the sender of outgoing packets, the thread responding to the incoming packets from the interface and the netgraph threads. There was a patch to make more netgraph threads but I don't remember if it was checked in.


--Brett Glass

P.S. -- By the way, when I compiled netgraph into the kernel to begin my test, I began to get the message

WARNING: attempt to domain_add(netgraph) after domainfinalize()

yes, it is known. we really cant domainfinalize() on a system where
a protocol may be added later (like in a module).
Luckily it doesn't matter in this case.
"One day" someone will remove the printf.



each time the system boots. Why? Does it have anything to do with the fact that I compiled netgraph itself in, but did not compile in all of the modules I might be using?

_______________________________________________
freebsd-net@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-net
To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"

Reply via email to