blob: 378c73b26093b22f39ee53f77d6b09d8b8ddf3c0 [file] [log] [blame]
James Chapmanfd558d12010-04-02 06:18:33 +00001#
2# Layer Two Tunneling Protocol (L2TP)
3#
4
5menuconfig L2TP
6 tristate "Layer Two Tunneling Protocol (L2TP)"
Amerigo Wangfc181622012-09-20 20:36:06 +00007 depends on (IPV6 || IPV6=n)
James Chapmanfd558d12010-04-02 06:18:33 +00008 depends on INET
Tom Herbert85644b42014-07-13 19:49:48 -07009 select NET_UDP_TUNNEL
James Chapmanfd558d12010-04-02 06:18:33 +000010 ---help---
11 Layer Two Tunneling Protocol
12
13 From RFC 2661 <http://www.ietf.org/rfc/rfc2661.txt>.
14
15 L2TP facilitates the tunneling of packets across an
16 intervening network in a way that is as transparent as
17 possible to both end-users and applications.
18
19 L2TP is often used to tunnel PPP traffic over IP
20 tunnels. One IP tunnel may carry thousands of individual PPP
21 connections. L2TP is also used as a VPN protocol, popular
22 with home workers to connect to their offices.
23
James Chapmanf7faffa2010-04-02 06:18:49 +000024 L2TPv3 allows other protocols as well as PPP to be carried
25 over L2TP tunnels. L2TPv3 is defined in RFC 3931
26 <http://www.ietf.org/rfc/rfc3931.txt>.
27
James Chapmanfd558d12010-04-02 06:18:33 +000028 The kernel component handles only L2TP data packets: a
29 userland daemon handles L2TP the control protocol (tunnel
30 and session setup). One such daemon is OpenL2TP
31 (http://openl2tp.org/).
32
33 If you don't need L2TP, say N. To compile all L2TP code as
34 modules, choose M here.
James Chapmanf7faffa2010-04-02 06:18:49 +000035
James Chapman0ad66142010-04-02 06:19:33 +000036config L2TP_DEBUGFS
37 tristate "L2TP debugfs support"
38 depends on L2TP && DEBUG_FS
39 help
40 Support for l2tp directory in debugfs filesystem. This may be
41 used to dump internal state of the l2tp drivers for problem
42 analysis.
43
44 If unsure, say 'Y'.
45
46 To compile this driver as a module, choose M here. The module
47 will be called l2tp_debugfs.
48
James Chapmanf7faffa2010-04-02 06:18:49 +000049config L2TP_V3
Kees Cook41694362012-10-02 11:19:50 -070050 bool "L2TPv3 support"
51 depends on L2TP
James Chapmanf7faffa2010-04-02 06:18:49 +000052 help
53 Layer Two Tunneling Protocol Version 3
54
55 From RFC 3931 <http://www.ietf.org/rfc/rfc3931.txt>.
56
57 The Layer Two Tunneling Protocol (L2TP) provides a dynamic
58 mechanism for tunneling Layer 2 (L2) "circuits" across a
59 packet-oriented data network (e.g., over IP). L2TP, as
60 originally defined in RFC 2661, is a standard method for
61 tunneling Point-to-Point Protocol (PPP) [RFC1661] sessions.
62 L2TP has since been adopted for tunneling a number of other
63 L2 protocols, including ATM, Frame Relay, HDLC and even raw
64 ethernet frames.
65
66 If you are connecting to L2TPv3 equipment, or you want to
67 tunnel raw ethernet frames using L2TP, say Y here. If
68 unsure, say N.
James Chapman0d767512010-04-02 06:19:00 +000069
70config L2TP_IP
71 tristate "L2TP IP encapsulation for L2TPv3"
72 depends on L2TP_V3
73 help
74 Support for L2TP-over-IP socket family.
75
76 The L2TPv3 protocol defines two possible encapsulations for
77 L2TP frames, namely UDP and plain IP (without UDP). This
78 driver provides a new L2TPIP socket family with which
79 userspace L2TPv3 daemons may create L2TP/IP tunnel sockets
80 when UDP encapsulation is not required. When L2TP is carried
81 in IP packets, it used IP protocol number 115, so this port
82 must be enabled in firewalls.
83
84 To compile this driver as a module, choose M here. The module
85 will be called l2tp_ip.
James Chapmand9e31d12010-04-02 06:19:26 +000086
87config L2TP_ETH
88 tristate "L2TP ethernet pseudowire support for L2TPv3"
89 depends on L2TP_V3
90 help
91 Support for carrying raw ethernet frames over L2TPv3.
92
93 From RFC 4719 <http://www.ietf.org/rfc/rfc4719.txt>.
94
95 The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be
96 used as a control protocol and for data encapsulation to set
97 up Pseudowires for transporting layer 2 Packet Data Units
98 across an IP network [RFC3931].
99
100 This driver provides an ethernet virtual interface for each
101 L2TP ethernet pseudowire instance. Standard Linux tools may
102 be used to assign an IP address to the local virtual
103 interface, or add the interface to a bridge.
104
105 If you are using L2TPv3, you will almost certainly want to
106 enable this option.
107
108 To compile this driver as a module, choose M here. The module
109 will be called l2tp_eth.