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