1# SPDX-License-Identifier: GPL-2.0-only 2# 3# Layer Two Tunneling Protocol (L2TP) 4# 5 6menuconfig 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 37config 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 50config 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 71config 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 88config 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. 111