Skip to content

Commit

Permalink
PPTP: PPP over IPv4 (Point-to-Point Tunneling Protocol)
Browse files Browse the repository at this point in the history
PPP: introduce "pptp" module which implements point-to-point tunneling protocol using pppox framework
NET: introduce the "gre" module for demultiplexing GRE packets on version criteria
     (required to pptp and ip_gre may coexists)
NET: ip_gre: update to use the "gre" module

This patch introduces then pptp support to the linux kernel which
dramatically speeds up pptp vpn connections and decreases cpu usage in
comparison of existing user-space implementation
(poptop/pptpclient). There is accel-pptp project
(https://sourceforge.net/projects/accel-pptp/) to utilize this module,
it contains plugin for pppd to use pptp in client-mode and modified
pptpd (poptop) to build high-performance pptp NAS.

There was many changes from initial submitted patch, most important are:
1. using rcu instead of read-write locks
2. using static bitmap instead of dynamically allocated
3. using vmalloc for memory allocation instead of BITS_PER_LONG + __get_free_pages
4. fixed many coding style issues
Thanks to Eric Dumazet.

Signed-off-by: Dmitry Kozlov <[email protected]>
Signed-off-by: Eric Dumazet <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
xebd authored and davem330 committed Aug 22, 2010
1 parent 1003489 commit 00959ad
Show file tree
Hide file tree
Showing 10 changed files with 971 additions and 24 deletions.
14 changes: 14 additions & 0 deletions MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -6528,6 +6528,20 @@ M: "Maciej W. Rozycki" <[email protected]>
S: Maintained
F: drivers/serial/zs.*

GRE DEMULTIPLEXER DRIVER
M: Dmitry Kozlov <[email protected]>
L: [email protected]
S: Maintained
F: net/ipv4/gre.c
F: include/net/gre.h

PPTP DRIVER
M: Dmitry Kozlov <[email protected]>
L: [email protected]
S: Maintained
F: drivers/net/pptp.c
W: http://sourceforge.net/projects/accel-pptp

THE REST
M: Linus Torvalds <[email protected]>
L: [email protected]
Expand Down
11 changes: 11 additions & 0 deletions drivers/net/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -3192,6 +3192,17 @@ config PPPOE
which contains instruction on how to use this driver (under
the heading "Kernel mode PPPoE").

config PPTP
tristate "PPP over IPv4 (PPTP) (EXPERIMENTAL)"
depends on EXPERIMENTAL && PPP && NET_IPGRE_DEMUX
help
Support for PPP over IPv4.(Point-to-Point Tunneling Protocol)

This driver requires pppd plugin to work in client mode or
modified pptpd (poptop) to work in server mode.
See http://accel-pptp.sourceforge.net/ for information how to
utilize this module.

config PPPOATM
tristate "PPP over ATM"
depends on ATM && PPP
Expand Down
1 change: 1 addition & 0 deletions drivers/net/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -162,6 +162,7 @@ obj-$(CONFIG_PPP_BSDCOMP) += bsd_comp.o
obj-$(CONFIG_PPP_MPPE) += ppp_mppe.o
obj-$(CONFIG_PPPOE) += pppox.o pppoe.o
obj-$(CONFIG_PPPOL2TP) += pppox.o
obj-$(CONFIG_PPTP) += pppox.o pptp.o

obj-$(CONFIG_SLIP) += slip.o
obj-$(CONFIG_SLHC) += slhc.o
Expand Down
Loading

0 comments on commit 00959ad

Please sign in to comment.