162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# Layer Two Tunneling Protocol (L2TP) 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_cimenuconfig L2TP 762306a36Sopenharmony_ci tristate "Layer Two Tunneling Protocol (L2TP)" 862306a36Sopenharmony_ci depends on (IPV6 || IPV6=n) 962306a36Sopenharmony_ci depends on INET 1062306a36Sopenharmony_ci select NET_UDP_TUNNEL 1162306a36Sopenharmony_ci help 1262306a36Sopenharmony_ci Layer Two Tunneling Protocol 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci From RFC 2661 <http://www.ietf.org/rfc/rfc2661.txt>. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci L2TP facilitates the tunneling of packets across an 1762306a36Sopenharmony_ci intervening network in a way that is as transparent as 1862306a36Sopenharmony_ci possible to both end-users and applications. 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci L2TP is often used to tunnel PPP traffic over IP 2162306a36Sopenharmony_ci tunnels. One IP tunnel may carry thousands of individual PPP 2262306a36Sopenharmony_ci connections. L2TP is also used as a VPN protocol, popular 2362306a36Sopenharmony_ci with home workers to connect to their offices. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci L2TPv3 allows other protocols as well as PPP to be carried 2662306a36Sopenharmony_ci over L2TP tunnels. L2TPv3 is defined in RFC 3931 2762306a36Sopenharmony_ci <http://www.ietf.org/rfc/rfc3931.txt>. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci The kernel component handles only L2TP data packets: a 3062306a36Sopenharmony_ci userland daemon handles L2TP the control protocol (tunnel 3162306a36Sopenharmony_ci and session setup). One such daemon is OpenL2TP 3262306a36Sopenharmony_ci (http://openl2tp.org/). 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci If you don't need L2TP, say N. To compile all L2TP code as 3562306a36Sopenharmony_ci modules, choose M here. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ciconfig L2TP_DEBUGFS 3862306a36Sopenharmony_ci tristate "L2TP debugfs support" 3962306a36Sopenharmony_ci depends on L2TP && DEBUG_FS 4062306a36Sopenharmony_ci help 4162306a36Sopenharmony_ci Support for l2tp directory in debugfs filesystem. This may be 4262306a36Sopenharmony_ci used to dump internal state of the l2tp drivers for problem 4362306a36Sopenharmony_ci analysis. 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ci If unsure, say 'Y'. 4662306a36Sopenharmony_ci 4762306a36Sopenharmony_ci To compile this driver as a module, choose M here. The module 4862306a36Sopenharmony_ci will be called l2tp_debugfs. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciconfig L2TP_V3 5162306a36Sopenharmony_ci bool "L2TPv3 support" 5262306a36Sopenharmony_ci depends on L2TP 5362306a36Sopenharmony_ci help 5462306a36Sopenharmony_ci Layer Two Tunneling Protocol Version 3 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ci From RFC 3931 <http://www.ietf.org/rfc/rfc3931.txt>. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ci The Layer Two Tunneling Protocol (L2TP) provides a dynamic 5962306a36Sopenharmony_ci mechanism for tunneling Layer 2 (L2) "circuits" across a 6062306a36Sopenharmony_ci packet-oriented data network (e.g., over IP). L2TP, as 6162306a36Sopenharmony_ci originally defined in RFC 2661, is a standard method for 6262306a36Sopenharmony_ci tunneling Point-to-Point Protocol (PPP) [RFC1661] sessions. 6362306a36Sopenharmony_ci L2TP has since been adopted for tunneling a number of other 6462306a36Sopenharmony_ci L2 protocols, including ATM, Frame Relay, HDLC and even raw 6562306a36Sopenharmony_ci ethernet frames. 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci If you are connecting to L2TPv3 equipment, or you want to 6862306a36Sopenharmony_ci tunnel raw ethernet frames using L2TP, say Y here. If 6962306a36Sopenharmony_ci unsure, say N. 7062306a36Sopenharmony_ci 7162306a36Sopenharmony_ciconfig L2TP_IP 7262306a36Sopenharmony_ci tristate "L2TP IP encapsulation for L2TPv3" 7362306a36Sopenharmony_ci depends on L2TP_V3 7462306a36Sopenharmony_ci help 7562306a36Sopenharmony_ci Support for L2TP-over-IP socket family. 7662306a36Sopenharmony_ci 7762306a36Sopenharmony_ci The L2TPv3 protocol defines two possible encapsulations for 7862306a36Sopenharmony_ci L2TP frames, namely UDP and plain IP (without UDP). This 7962306a36Sopenharmony_ci driver provides a new L2TPIP socket family with which 8062306a36Sopenharmony_ci userspace L2TPv3 daemons may create L2TP/IP tunnel sockets 8162306a36Sopenharmony_ci when UDP encapsulation is not required. When L2TP is carried 8262306a36Sopenharmony_ci in IP packets, it used IP protocol number 115, so this port 8362306a36Sopenharmony_ci must be enabled in firewalls. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci To compile this driver as a module, choose M here. The module 8662306a36Sopenharmony_ci will be called l2tp_ip. 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ciconfig L2TP_ETH 8962306a36Sopenharmony_ci tristate "L2TP ethernet pseudowire support for L2TPv3" 9062306a36Sopenharmony_ci depends on L2TP_V3 9162306a36Sopenharmony_ci help 9262306a36Sopenharmony_ci Support for carrying raw ethernet frames over L2TPv3. 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci From RFC 4719 <http://www.ietf.org/rfc/rfc4719.txt>. 9562306a36Sopenharmony_ci 9662306a36Sopenharmony_ci The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be 9762306a36Sopenharmony_ci used as a control protocol and for data encapsulation to set 9862306a36Sopenharmony_ci up Pseudowires for transporting layer 2 Packet Data Units 9962306a36Sopenharmony_ci across an IP network [RFC3931]. 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci This driver provides an ethernet virtual interface for each 10262306a36Sopenharmony_ci L2TP ethernet pseudowire instance. Standard Linux tools may 10362306a36Sopenharmony_ci be used to assign an IP address to the local virtual 10462306a36Sopenharmony_ci interface, or add the interface to a bridge. 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci If you are using L2TPv3, you will almost certainly want to 10762306a36Sopenharmony_ci enable this option. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci To compile this driver as a module, choose M here. The module 11062306a36Sopenharmony_ci will be called l2tp_eth. 111