[pptp-server] Help
David Luyer
luyer at ucs.uwa.edu.au
Thu Jun 10 00:42:28 CDT 1999
Actually, the limits under Linux are:
per-process filedescriptors
- up until a few minutes ago, one per client (would limit clients
to 256 by default, or 1024 with kernel recompile, or more with
major libc/kernel hackery)
- now, no relevant limit
ttys - currently, with a standard kernel, 256 clients
- with Unix98 ptys and a small amount of coding, 2048
ppp devices
- no limit in kernel source for ppp
- limit of 100 in dev_alloc_name() in 2.2.x
for(i=0;i<100;i++)
{
sprintf(dev->name,name,i);
if(dev_get(dev->name)==NULL)
return i;
}
best fix is probably to keep a static int ppp_maxdev so you
don't end up doing 2000 dev_get's to allocated the 2001'th
device.
processes
- 2 per client plus system processes
- standard kernel max = 512 processes, ie 256 clients
- i386 max = 4096 processes, ie 2048 clients
So it seems that 2048 will be the limit, if you fix a few things and
with a minor kernel mod (I could do all of these pretty easily and send
you a trivial kernel patch). To go above 2048 the easiest approach would
be to combine pptpctrl and pppd in one process, which would get you to
4096. Beyond there, you need to go for a select() based model, which would
be significant coding effort and require large fd-set sizes and so on.
So 4096 is the practical limit, and 2048 the easy limit.
David.
More information about the pptp-server
mailing list