xref: /kernel/linux/linux-5.10/net/l2tp/Kconfig (revision 8c2ecf20)
18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# Layer Two Tunneling Protocol (L2TP)
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_cimenuconfig L2TP
78c2ecf20Sopenharmony_ci	tristate "Layer Two Tunneling Protocol (L2TP)"
88c2ecf20Sopenharmony_ci	depends on (IPV6 || IPV6=n)
98c2ecf20Sopenharmony_ci	depends on INET
108c2ecf20Sopenharmony_ci	select NET_UDP_TUNNEL
118c2ecf20Sopenharmony_ci	help
128c2ecf20Sopenharmony_ci	  Layer Two Tunneling Protocol
138c2ecf20Sopenharmony_ci
148c2ecf20Sopenharmony_ci	  From RFC 2661 <http://www.ietf.org/rfc/rfc2661.txt>.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	  L2TP facilitates the tunneling of packets across an
178c2ecf20Sopenharmony_ci	  intervening network in a way that is as transparent as
188c2ecf20Sopenharmony_ci	  possible to both end-users and applications.
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_ci	  L2TP is often used to tunnel PPP traffic over IP
218c2ecf20Sopenharmony_ci	  tunnels. One IP tunnel may carry thousands of individual PPP
228c2ecf20Sopenharmony_ci	  connections. L2TP is also used as a VPN protocol, popular
238c2ecf20Sopenharmony_ci	  with home workers to connect to their offices.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci	  L2TPv3 allows other protocols as well as PPP to be carried
268c2ecf20Sopenharmony_ci	  over L2TP tunnels. L2TPv3 is defined in RFC 3931
278c2ecf20Sopenharmony_ci	  <http://www.ietf.org/rfc/rfc3931.txt>.
288c2ecf20Sopenharmony_ci
298c2ecf20Sopenharmony_ci	  The kernel component handles only L2TP data packets: a
308c2ecf20Sopenharmony_ci	  userland daemon handles L2TP the control protocol (tunnel
318c2ecf20Sopenharmony_ci	  and session setup). One such daemon is OpenL2TP
328c2ecf20Sopenharmony_ci	  (http://openl2tp.org/).
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ci	  If you don't need L2TP, say N. To compile all L2TP code as
358c2ecf20Sopenharmony_ci	  modules, choose M here.
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ciconfig L2TP_DEBUGFS
388c2ecf20Sopenharmony_ci	tristate "L2TP debugfs support"
398c2ecf20Sopenharmony_ci	depends on L2TP && DEBUG_FS
408c2ecf20Sopenharmony_ci	help
418c2ecf20Sopenharmony_ci	  Support for l2tp directory in debugfs filesystem. This may be
428c2ecf20Sopenharmony_ci	  used to dump internal state of the l2tp drivers for problem
438c2ecf20Sopenharmony_ci	  analysis.
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci	  If unsure, say 'Y'.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
488c2ecf20Sopenharmony_ci	  will be called l2tp_debugfs.
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ciconfig L2TP_V3
518c2ecf20Sopenharmony_ci	bool "L2TPv3 support"
528c2ecf20Sopenharmony_ci	depends on L2TP
538c2ecf20Sopenharmony_ci	help
548c2ecf20Sopenharmony_ci	  Layer Two Tunneling Protocol Version 3
558c2ecf20Sopenharmony_ci
568c2ecf20Sopenharmony_ci	  From RFC 3931 <http://www.ietf.org/rfc/rfc3931.txt>.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci	  The Layer Two Tunneling Protocol (L2TP) provides a dynamic
598c2ecf20Sopenharmony_ci	  mechanism for tunneling Layer 2 (L2) "circuits" across a
608c2ecf20Sopenharmony_ci	  packet-oriented data network (e.g., over IP).  L2TP, as
618c2ecf20Sopenharmony_ci	  originally defined in RFC 2661, is a standard method for
628c2ecf20Sopenharmony_ci	  tunneling Point-to-Point Protocol (PPP) [RFC1661] sessions.
638c2ecf20Sopenharmony_ci	  L2TP has since been adopted for tunneling a number of other
648c2ecf20Sopenharmony_ci	  L2 protocols, including ATM, Frame Relay, HDLC and even raw
658c2ecf20Sopenharmony_ci	  ethernet frames.
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci	  If you are connecting to L2TPv3 equipment, or you want to
688c2ecf20Sopenharmony_ci	  tunnel raw ethernet frames using L2TP, say Y here. If
698c2ecf20Sopenharmony_ci	  unsure, say N.
708c2ecf20Sopenharmony_ci
718c2ecf20Sopenharmony_ciconfig L2TP_IP
728c2ecf20Sopenharmony_ci	tristate "L2TP IP encapsulation for L2TPv3"
738c2ecf20Sopenharmony_ci	depends on L2TP_V3
748c2ecf20Sopenharmony_ci	help
758c2ecf20Sopenharmony_ci	  Support for L2TP-over-IP socket family.
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ci	  The L2TPv3 protocol defines two possible encapsulations for
788c2ecf20Sopenharmony_ci	  L2TP frames, namely UDP and plain IP (without UDP). This
798c2ecf20Sopenharmony_ci	  driver provides a new L2TPIP socket family with which
808c2ecf20Sopenharmony_ci	  userspace L2TPv3 daemons may create L2TP/IP tunnel sockets
818c2ecf20Sopenharmony_ci	  when UDP encapsulation is not required. When L2TP is carried
828c2ecf20Sopenharmony_ci	  in IP packets, it used IP protocol number 115, so this port
838c2ecf20Sopenharmony_ci	  must be enabled in firewalls.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
868c2ecf20Sopenharmony_ci	  will be called l2tp_ip.
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciconfig L2TP_ETH
898c2ecf20Sopenharmony_ci	tristate "L2TP ethernet pseudowire support for L2TPv3"
908c2ecf20Sopenharmony_ci	depends on L2TP_V3
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Support for carrying raw ethernet frames over L2TPv3.
938c2ecf20Sopenharmony_ci
948c2ecf20Sopenharmony_ci	  From RFC 4719 <http://www.ietf.org/rfc/rfc4719.txt>.
958c2ecf20Sopenharmony_ci
968c2ecf20Sopenharmony_ci	  The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be
978c2ecf20Sopenharmony_ci	  used as a control protocol and for data encapsulation to set
988c2ecf20Sopenharmony_ci	  up Pseudowires for transporting layer 2 Packet Data Units
998c2ecf20Sopenharmony_ci	  across an IP network [RFC3931].
1008c2ecf20Sopenharmony_ci
1018c2ecf20Sopenharmony_ci	  This driver provides an ethernet virtual interface for each
1028c2ecf20Sopenharmony_ci	  L2TP ethernet pseudowire instance. Standard Linux tools may
1038c2ecf20Sopenharmony_ci	  be used to assign an IP address to the local virtual
1048c2ecf20Sopenharmony_ci	  interface, or add the interface to a bridge.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci	  If you are using L2TPv3, you will almost certainly want to
1078c2ecf20Sopenharmony_ci	  enable this option.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here. The module
1108c2ecf20Sopenharmony_ci	  will be called l2tp_eth.
111