xref: /linux/net/l2tp/Kconfig (revision d9e31d17ceba5f0736f5a34bbc236239cd42b420)
1fd558d18SJames Chapman#
2fd558d18SJames Chapman# Layer Two Tunneling Protocol (L2TP)
3fd558d18SJames Chapman#
4fd558d18SJames Chapman
5fd558d18SJames Chapmanmenuconfig L2TP
6fd558d18SJames Chapman	tristate "Layer Two Tunneling Protocol (L2TP)"
7fd558d18SJames Chapman	depends on INET
8fd558d18SJames Chapman	---help---
9fd558d18SJames Chapman	  Layer Two Tunneling Protocol
10fd558d18SJames Chapman
11fd558d18SJames Chapman	  From RFC 2661 <http://www.ietf.org/rfc/rfc2661.txt>.
12fd558d18SJames Chapman
13fd558d18SJames Chapman	  L2TP facilitates the tunneling of packets across an
14fd558d18SJames Chapman	  intervening network in a way that is as transparent as
15fd558d18SJames Chapman	  possible to both end-users and applications.
16fd558d18SJames Chapman
17fd558d18SJames Chapman	  L2TP is often used to tunnel PPP traffic over IP
18fd558d18SJames Chapman	  tunnels. One IP tunnel may carry thousands of individual PPP
19fd558d18SJames Chapman	  connections. L2TP is also used as a VPN protocol, popular
20fd558d18SJames Chapman	  with home workers to connect to their offices.
21fd558d18SJames Chapman
22f7faffa3SJames Chapman	  L2TPv3 allows other protocols as well as PPP to be carried
23f7faffa3SJames Chapman	  over L2TP tunnels. L2TPv3 is defined in RFC 3931
24f7faffa3SJames Chapman	  <http://www.ietf.org/rfc/rfc3931.txt>.
25f7faffa3SJames Chapman
26fd558d18SJames Chapman	  The kernel component handles only L2TP data packets: a
27fd558d18SJames Chapman	  userland daemon handles L2TP the control protocol (tunnel
28fd558d18SJames Chapman	  and session setup). One such daemon is OpenL2TP
29fd558d18SJames Chapman	  (http://openl2tp.org/).
30fd558d18SJames Chapman
31fd558d18SJames Chapman	  If you don't need L2TP, say N. To compile all L2TP code as
32fd558d18SJames Chapman	  modules, choose M here.
33f7faffa3SJames Chapman
34f7faffa3SJames Chapmanconfig L2TP_V3
35f7faffa3SJames Chapman	bool "L2TPv3 support (EXPERIMENTAL)"
36f7faffa3SJames Chapman	depends on EXPERIMENTAL && L2TP
37f7faffa3SJames Chapman	help
38f7faffa3SJames Chapman	  Layer Two Tunneling Protocol Version 3
39f7faffa3SJames Chapman
40f7faffa3SJames Chapman	  From RFC 3931 <http://www.ietf.org/rfc/rfc3931.txt>.
41f7faffa3SJames Chapman
42f7faffa3SJames Chapman	  The Layer Two Tunneling Protocol (L2TP) provides a dynamic
43f7faffa3SJames Chapman	  mechanism for tunneling Layer 2 (L2) "circuits" across a
44f7faffa3SJames Chapman	  packet-oriented data network (e.g., over IP).  L2TP, as
45f7faffa3SJames Chapman	  originally defined in RFC 2661, is a standard method for
46f7faffa3SJames Chapman	  tunneling Point-to-Point Protocol (PPP) [RFC1661] sessions.
47f7faffa3SJames Chapman	  L2TP has since been adopted for tunneling a number of other
48f7faffa3SJames Chapman	  L2 protocols, including ATM, Frame Relay, HDLC and even raw
49f7faffa3SJames Chapman	  ethernet frames.
50f7faffa3SJames Chapman
51f7faffa3SJames Chapman	  If you are connecting to L2TPv3 equipment, or you want to
52f7faffa3SJames Chapman	  tunnel raw ethernet frames using L2TP, say Y here. If
53f7faffa3SJames Chapman	  unsure, say N.
540d76751fSJames Chapman
550d76751fSJames Chapmanconfig L2TP_IP
560d76751fSJames Chapman	tristate "L2TP IP encapsulation for L2TPv3"
570d76751fSJames Chapman	depends on L2TP_V3
580d76751fSJames Chapman	help
590d76751fSJames Chapman	  Support for L2TP-over-IP socket family.
600d76751fSJames Chapman
610d76751fSJames Chapman	  The L2TPv3 protocol defines two possible encapsulations for
620d76751fSJames Chapman	  L2TP frames, namely UDP and plain IP (without UDP). This
630d76751fSJames Chapman	  driver provides a new L2TPIP socket family with which
640d76751fSJames Chapman	  userspace L2TPv3 daemons may create L2TP/IP tunnel sockets
650d76751fSJames Chapman	  when UDP encapsulation is not required. When L2TP is carried
660d76751fSJames Chapman	  in IP packets, it used IP protocol number 115, so this port
670d76751fSJames Chapman	  must be enabled in firewalls.
680d76751fSJames Chapman
690d76751fSJames Chapman	  To compile this driver as a module, choose M here. The module
700d76751fSJames Chapman	  will be called l2tp_ip.
71*d9e31d17SJames Chapman
72*d9e31d17SJames Chapmanconfig L2TP_ETH
73*d9e31d17SJames Chapman	tristate "L2TP ethernet pseudowire support for L2TPv3"
74*d9e31d17SJames Chapman	depends on L2TP_V3
75*d9e31d17SJames Chapman	help
76*d9e31d17SJames Chapman	  Support for carrying raw ethernet frames over L2TPv3.
77*d9e31d17SJames Chapman
78*d9e31d17SJames Chapman	  From RFC 4719 <http://www.ietf.org/rfc/rfc4719.txt>.
79*d9e31d17SJames Chapman
80*d9e31d17SJames Chapman	  The Layer 2 Tunneling Protocol, Version 3 (L2TPv3) can be
81*d9e31d17SJames Chapman	  used as a control protocol and for data encapsulation to set
82*d9e31d17SJames Chapman	  up Pseudowires for transporting layer 2 Packet Data Units
83*d9e31d17SJames Chapman	  across an IP network [RFC3931].
84*d9e31d17SJames Chapman
85*d9e31d17SJames Chapman	  This driver provides an ethernet virtual interface for each
86*d9e31d17SJames Chapman	  L2TP ethernet pseudowire instance. Standard Linux tools may
87*d9e31d17SJames Chapman	  be used to assign an IP address to the local virtual
88*d9e31d17SJames Chapman	  interface, or add the interface to a bridge.
89*d9e31d17SJames Chapman
90*d9e31d17SJames Chapman	  If you are using L2TPv3, you will almost certainly want to
91*d9e31d17SJames Chapman	  enable this option.
92*d9e31d17SJames Chapman
93*d9e31d17SJames Chapman	  To compile this driver as a module, choose M here. The module
94*d9e31d17SJames Chapman	  will be called l2tp_eth.
95