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