1Overview
2--------
3The ACCEL-PPTP is PPTP client/server based on POPTOP (http://www.poptop.org) and PPTPCLIENT (http://pptpclient.sourceforge.net).
4ACCEL-PPTP uses kernel module to increase performance and decrease system usage.
5For more documentation about PPTP visit POPTOP web site.
6ACCEL-PPTP was successfully tested on about 1200 connections and system usage has been decreased by ~50% on comparisons with the
7original poptop server.
8
9
10Requirment
11----------
121. modern linux distribution
131. kernel-2.6.15 or later with PPPoX support or kernel-2.4.x patched for PPPoX support (2.4.x not fully tested)
142. pppd-2.4.2 or later
15
16Compilation
17-----------
18Make sure you have configured kernel headers in /usr/src/linux or /lib/modules/`uname -r`/build,
19or specify other location via KDIR environment variable
20make client - compiles only client's part of package
21make server - full compilation
22
23Insallation
24-----------
25Do make client_install for installing pptp client.
26Do make server_install for installing pptp server.
27
28
29Configuration
30-------------
31If you are beginner in PPTP please read documentation available on POPTOP web site.
32Configuration is same as original pptpd and pptp.
33Exception in configuration of client is:
34replace line in peer config file (for instance, /etc/ppp/peers/my_vpn):
35  pty "pptp x.x.x.x ...." 
36to 
37  plugin "pptp.so"
38  pptp_server x.x.x.x
39  pptp_phone xxxx (optional)
40  pptp_window xxx (optional) - this is sliding window size (at current time automatic algorithm is not implemented),
41                               set it to  3-10 for low-speed connections,
42                                      to   >10 for hi-speed connections. 
43  
44Remove lock option in /etc/ppp/options.pptp, /etc/ppp/options.pptpd or similar if it exists.
45
46See configuration example in example directory.
47
48
49Warning !!!
50-----------
511. This driver conflicts with ip_gre driver (in kernel), so make sure that ip_gre is not built-in or loaded at run time.
522. Never mix connections of accel-pptp and original pptpd, before starting accel-pptp make sure that no connections
53   of original pptpd exists.
543. If you are switching from <2.6.23 to >=2.6.23 kernel or vi�e-versa then rebuild and reinstall entire package, 
55   not just kernel module.
56
57
58Kernel module
59-------------
60Kernel module is available as separated module and as patch for kernel.
61You can use either separated module or patch for kernel.
62There is only patch for 2.6.18 kernel now. If you wish patch for other kernels please mail me.
63
64ppp_generic_smp
65---------------
66This driver is replacement of kernel's ppp_generic for better smp performance.
67It is disables by default, to enable you should uncomment "#obj-m      += ppp_generic_smp.o" in kernel/driver/Makefile.
68
69
70Thanks
71------
72Thanks to Kirill Yushkov for debug support and donations.
73
74
75http://accel-pptp.sourceforge.net/
76mail: xeb@mail.ru, xeb@linux.vsi.ru
77ICQ: 337258064
78Jabber: xeb@city.veganet.ru, xeb@linux.vsi.ru
79MDIR = extra
80
81KDIR ?= $(shell sh find_kernel_headers)
82
83obj-m      += pptp.o
84
85CURRENT = $(shell uname -r)
86
87
88ifndef MAKING_MODULES
89all: kernel_headers
90	make -C $(KDIR) SUBDIRS=$(PWD) modules
91endif
92
93ifneq (,$(findstring 2.4.,$(CURRENT)))
94install:
95	@if test ! -d /lib/modules/$(CURRENT)/extra; then \
96	    mkdir /lib/modules/$(CURRENT)/extra; \
97	fi; \
98	cp -v $(TARGET).o /lib/modules/$(CURRENT)/extra/$(TARGET).o && /sbin/depmod -a
99else
100install:	
101	make -C $(KDIR) SUBDIRS=$(PWD) modules_install
102endif
103
104kernel_headers:
105	@if test -z "$(KDIR)"; then \
106	    echo "kernel headers not found"; \
107	    exit 1; \
108	else \
109	    echo "using \"$(KDIR)\" kernel headers"; \
110	fi
111
112
113clean:
114	-rm -f *.o *.ko .*.cmd .*.flags *.mod.c
115
116ifneq (,$(findstring 2.4.,$(CURRENT)))
117include $(KDIR)/Rules.make
118endif
119