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