blob: f34e89f9324739b3a3c8ca8d88761f680deaf87c [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001PPPoL2TP plugin
2===============
3
4The pppol2tp plugin lets pppd use the Linux kernel driver pppol2tp.ko
5to pass PPP frames in L2TP tunnels. The driver was integrated into the
6kernel in the 2.6.23 release. For kernels before 2.6.23, an
7out-of-tree kernel module is available from the pppol2tp-kmod package
8in the OpenL2TP project.
9
10Note that pppd receives only PPP control frames over the PPPoL2TP
11socket; data frames are handled entirely by the kernel.
12
13The pppol2tp plugin adds extra arguments to pppd and uses the Linux kernel
14PPP-over-L2TP driver to set up each session's data path.
15
16Arguments are:-
17
18pppol2tp <fd> - FD for PPPoL2TP socket
19pppol2tp_lns_mode - PPPoL2TP LNS behavior. Default off.
20pppol2tp_send_seq - PPPoL2TP enable sequence numbers in
21 transmitted data packets. Default off.
22pppol2tp_recv_seq - PPPoL2TP enforce sequence numbers in
23 received data packets. Default off.
24pppol2tp_reorderto <millisecs> - PPPoL2TP data packet reorder timeout.
25 Default 0 (no reordering).
26pppol2tp_debug_mask <mask> - PPPoL2TP debug mask. Bitwise OR of
27 1 - verbose debug
28 2 - control
29 4 - kernel transport
30 8 - ppp packet data
31 Default: 0 (no debug).
32pppol2tp_ifname <ifname> - Name of PPP network interface visible
33 to "ifconfig" and "ip link".
34 Default: "pppN"
35pppol2tp_tunnel_id <id> - L2TP tunnel_id tunneling this PPP
36 session.
37pppol2tp_session_id <id> - L2TP session_id of this PPP session.
38 The tunnel_id/session_id pair is used
39 when sending event messages to openl2tpd.
40
41pppd will typically be started by an L2TP daemon for each L2TP sesion,
42supplying one or more of the above arguments as required. The pppd
43user will usually have no visibility of these arguments.
44
45Two hooks are exported by this plugin.
46
47void (*pppol2tp_send_accm_hook)(int tunnel_id, int session_id,
48 uint32_t send_accm, uint32_t recv_accm);
49void (*pppol2tp_ip_updown_hook)(int tunnel_id, int session_id, int up);
50
51Credits
52=======
53
54This plugin was developed by Katalix Systems as part of the OpenL2TP
55project, http://openl2tp.sourceforge.net. OpenL2TP is a full-featured
56L2TP client-server, suitable for use as an enterprise L2TP VPN server
57or a VPN client.
58
59Please copy problems to the OpenL2TP mailing list:
60openl2tp-users@lists.sourceforge.net.
61
62Maintained by:
63 James Chapman
64 jchapman@katalix.com
65 Katalix Systems Ltd
66 http://www.katalix.com