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