Big PPTP server
Brett Glass
brett at lariat.net
Fri Aug 25 17:33:51 UTC 2006
At 10:16 AM 8/25/2006, Archie Cobbs wrote:
>The ng_pptpgre node handles the "data packet" level of PPTP, but most
>of the complexity in PPTP is in the higher level protocol for setup
>and teardown. You'd have to get that in there somehow.
I suppose that the call control facility could be implemented in the
kernel, but it's probably better to handle it in user space, since
the call manager behaves like any other program that listens on a
TCP socket.
If call management is done in user space, it's necessary to keep tabs
on all the calls in one of three ways. mpd and pppoed use one master
process that tracks them all. The alternatives are to spawn separate
processes to track each one, as PoPToP does (high overhead!), or to
go threaded, with one thread per call (probably the most efficient
way to go). If the daemon were to use one master process as mpd does,
much of the code from mpd could be reused. The state machine could be
lifted from mpd nearly verbatim. Brian Somers, are you monitoring
this list? Are there any potential pitfalls I'm overlooking here?
Would patches be needed in ppp(8)?
--Brett
More information about the freebsd-net
mailing list