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