xref: /openbmc/linux/drivers/net/ppp/Kconfig (revision 2612e3bbc0386368a850140a6c9b990cd496a5ec)
1ec8f24b7SThomas Gleixner# SPDX-License-Identifier: GPL-2.0-only
2224cf5adSJeff Kirsher#
3224cf5adSJeff Kirsher# PPP network device configuration
4224cf5adSJeff Kirsher#
5224cf5adSJeff Kirsher
6224cf5adSJeff Kirsherconfig PPP
7224cf5adSJeff Kirsher	tristate "PPP (point-to-point protocol) support"
8224cf5adSJeff Kirsher	select SLHC
9a7f7f624SMasahiro Yamada	help
10224cf5adSJeff Kirsher	  PPP (Point to Point Protocol) is a newer and better SLIP.  It serves
11224cf5adSJeff Kirsher	  the same purpose: sending Internet traffic over telephone (and other
12224cf5adSJeff Kirsher	  serial) lines.  Ask your access provider if they support it, because
13224cf5adSJeff Kirsher	  otherwise you can't use it; most Internet access providers these
14224cf5adSJeff Kirsher	  days support PPP rather than SLIP.
15224cf5adSJeff Kirsher
16224cf5adSJeff Kirsher	  To use PPP, you need an additional program called pppd as described
17224cf5adSJeff Kirsher	  in the PPP-HOWTO, available at
18224cf5adSJeff Kirsher	  <http://www.tldp.org/docs.html#howto>.  Make sure that you have
19224cf5adSJeff Kirsher	  the version of pppd recommended in <file:Documentation/Changes>.
20224cf5adSJeff Kirsher	  The PPP option enlarges your kernel by about 16 KB.
21224cf5adSJeff Kirsher
22224cf5adSJeff Kirsher	  There are actually two versions of PPP: the traditional PPP for
23224cf5adSJeff Kirsher	  asynchronous lines, such as regular analog phone lines, and
24224cf5adSJeff Kirsher	  synchronous PPP which can be used over digital ISDN lines for
25224cf5adSJeff Kirsher	  example.  If you want to use PPP over phone lines or other
26224cf5adSJeff Kirsher	  asynchronous serial lines, you need to say Y (or M) here and also to
27224cf5adSJeff Kirsher	  the next option, "PPP support for async serial ports".  For PPP over
28224cf5adSJeff Kirsher	  synchronous lines, you should say Y (or M) here and to "Support
29224cf5adSJeff Kirsher	  synchronous PPP", below.
30224cf5adSJeff Kirsher
31224cf5adSJeff Kirsher	  If you said Y to "Version information on all symbols" above, then
32224cf5adSJeff Kirsher	  you cannot compile the PPP driver into the kernel; you can then only
33224cf5adSJeff Kirsher	  compile it as a module. To compile this driver as a module, choose M
34224cf5adSJeff Kirsher	  here. The module will be called ppp_generic.
35224cf5adSJeff Kirsher
36224cf5adSJeff Kirsherif PPP
37224cf5adSJeff Kirsher
38224cf5adSJeff Kirsherconfig PPP_BSDCOMP
39224cf5adSJeff Kirsher	tristate "PPP BSD-Compress compression"
40224cf5adSJeff Kirsher	depends on PPP
41a7f7f624SMasahiro Yamada	help
42224cf5adSJeff Kirsher	  Support for the BSD-Compress compression method for PPP, which uses
43224cf5adSJeff Kirsher	  the LZW compression method to compress each PPP packet before it is
44224cf5adSJeff Kirsher	  sent over the wire. The machine at the other end of the PPP link
45224cf5adSJeff Kirsher	  (usually your ISP) has to support the BSD-Compress compression
46224cf5adSJeff Kirsher	  method as well for this to be useful. Even if they don't support it,
47224cf5adSJeff Kirsher	  it is safe to say Y here.
48224cf5adSJeff Kirsher
49224cf5adSJeff Kirsher	  The PPP Deflate compression method ("PPP Deflate compression",
50224cf5adSJeff Kirsher	  above) is preferable to BSD-Compress, because it compresses better
51224cf5adSJeff Kirsher	  and is patent-free.
52224cf5adSJeff Kirsher
53224cf5adSJeff Kirsher	  Note that the BSD compression code will always be compiled as a
54224cf5adSJeff Kirsher	  module; it is called bsd_comp and will show up in the directory
55224cf5adSJeff Kirsher	  modules once you have said "make modules". If unsure, say N.
56224cf5adSJeff Kirsher
57224cf5adSJeff Kirsherconfig PPP_DEFLATE
58224cf5adSJeff Kirsher	tristate "PPP Deflate compression"
59224cf5adSJeff Kirsher	depends on PPP
60224cf5adSJeff Kirsher	select ZLIB_INFLATE
61224cf5adSJeff Kirsher	select ZLIB_DEFLATE
62a7f7f624SMasahiro Yamada	help
63224cf5adSJeff Kirsher	  Support for the Deflate compression method for PPP, which uses the
64224cf5adSJeff Kirsher	  Deflate algorithm (the same algorithm that gzip uses) to compress
65224cf5adSJeff Kirsher	  each PPP packet before it is sent over the wire.  The machine at the
66224cf5adSJeff Kirsher	  other end of the PPP link (usually your ISP) has to support the
67224cf5adSJeff Kirsher	  Deflate compression method as well for this to be useful.  Even if
68224cf5adSJeff Kirsher	  they don't support it, it is safe to say Y here.
69224cf5adSJeff Kirsher
70224cf5adSJeff Kirsher	  To compile this driver as a module, choose M here.
71224cf5adSJeff Kirsher
72224cf5adSJeff Kirsherconfig PPP_FILTER
73224cf5adSJeff Kirsher	bool "PPP filtering"
74224cf5adSJeff Kirsher	depends on PPP
75a7f7f624SMasahiro Yamada	help
76224cf5adSJeff Kirsher	  Say Y here if you want to be able to filter the packets passing over
77224cf5adSJeff Kirsher	  PPP interfaces.  This allows you to control which packets count as
78224cf5adSJeff Kirsher	  activity (i.e. which packets will reset the idle timer or bring up
79224cf5adSJeff Kirsher	  a demand-dialed link) and which packets are to be dropped entirely.
80224cf5adSJeff Kirsher	  You need to say Y here if you wish to use the pass-filter and
81224cf5adSJeff Kirsher	  active-filter options to pppd.
82224cf5adSJeff Kirsher
83224cf5adSJeff Kirsher	  If unsure, say N.
84224cf5adSJeff Kirsher
85224cf5adSJeff Kirsherconfig PPP_MPPE
868aa53cb3SKees Cook	tristate "PPP MPPE compression (encryption)"
878aa53cb3SKees Cook	depends on PPP
88224cf5adSJeff Kirsher	select CRYPTO
89224cf5adSJeff Kirsher	select CRYPTO_SHA1
900e5a610bSArd Biesheuvel	select CRYPTO_LIB_ARC4
91a7f7f624SMasahiro Yamada	help
92224cf5adSJeff Kirsher	  Support for the MPPE Encryption protocol, as employed by the
93224cf5adSJeff Kirsher	  Microsoft Point-to-Point Tunneling Protocol.
94224cf5adSJeff Kirsher
95224cf5adSJeff Kirsher	  See http://pptpclient.sourceforge.net/ for information on
96224cf5adSJeff Kirsher	  configuring PPTP clients and servers to utilize this method.
97224cf5adSJeff Kirsher
98224cf5adSJeff Kirsherconfig PPP_MULTILINK
998aa53cb3SKees Cook	bool "PPP multilink support"
1008aa53cb3SKees Cook	depends on PPP
101a7f7f624SMasahiro Yamada	help
102224cf5adSJeff Kirsher	  PPP multilink is a protocol (defined in RFC 1990) which allows you
103224cf5adSJeff Kirsher	  to combine several (logical or physical) lines into one logical PPP
104224cf5adSJeff Kirsher	  connection, so that you can utilize your full bandwidth.
105224cf5adSJeff Kirsher
106224cf5adSJeff Kirsher	  This has to be supported at the other end as well and you need a
107224cf5adSJeff Kirsher	  version of the pppd daemon which understands the multilink protocol.
108224cf5adSJeff Kirsher
109224cf5adSJeff Kirsher	  If unsure, say N.
110224cf5adSJeff Kirsher
111224cf5adSJeff Kirsherconfig PPPOATM
112224cf5adSJeff Kirsher	tristate "PPP over ATM"
113224cf5adSJeff Kirsher	depends on ATM && PPP
114a7f7f624SMasahiro Yamada	help
115224cf5adSJeff Kirsher	  Support PPP (Point to Point Protocol) encapsulated in ATM frames.
116224cf5adSJeff Kirsher	  This implementation does not yet comply with section 8 of RFC2364,
117224cf5adSJeff Kirsher	  which can lead to bad results if the ATM peer loses state and
118224cf5adSJeff Kirsher	  changes its encapsulation unilaterally.
119224cf5adSJeff Kirsher
120224cf5adSJeff Kirsherconfig PPPOE
1218aa53cb3SKees Cook	tristate "PPP over Ethernet"
1228aa53cb3SKees Cook	depends on PPP
123a7f7f624SMasahiro Yamada	help
124224cf5adSJeff Kirsher	  Support for PPP over Ethernet.
125224cf5adSJeff Kirsher
126224cf5adSJeff Kirsher	  This driver requires the latest version of pppd from the CVS
127224cf5adSJeff Kirsher	  repository at cvs.samba.org.  Alternatively, see the
128224cf5adSJeff Kirsher	  RoaringPenguin package (<http://www.roaringpenguin.com/pppoe>)
129224cf5adSJeff Kirsher	  which contains instruction on how to use this driver (under
130224cf5adSJeff Kirsher	  the heading "Kernel mode PPPoE").
131224cf5adSJeff Kirsher
13296ba44c6SJaco Kroonchoice
13396ba44c6SJaco Kroon	prompt "Number of PPPoE hash bits"
13496ba44c6SJaco Kroon	default PPPOE_HASH_BITS_4
13596ba44c6SJaco Kroon	depends on PPPOE
13696ba44c6SJaco Kroon	help
13796ba44c6SJaco Kroon		Select the number of bits used for hashing PPPoE interfaces.
13896ba44c6SJaco Kroon
13996ba44c6SJaco Kroon		Larger sizes reduces the risk of hash collisions at the cost
14096ba44c6SJaco Kroon		of slightly increased memory usage.
14196ba44c6SJaco Kroon
14296ba44c6SJaco Kroon		This hash table is on a per outer ethernet interface.
14396ba44c6SJaco Kroon
144*ae91f7e4SLukas Bulwahnconfig PPPOE_HASH_BITS_1
14596ba44c6SJaco Kroon	bool "1 bit (2 buckets)"
14696ba44c6SJaco Kroon
14796ba44c6SJaco Kroonconfig PPPOE_HASH_BITS_2
14896ba44c6SJaco Kroon	bool "2 bits (4 buckets)"
14996ba44c6SJaco Kroon
15096ba44c6SJaco Kroonconfig PPPOE_HASH_BITS_4
15196ba44c6SJaco Kroon	bool "4 bits (16 buckets)"
15296ba44c6SJaco Kroon
15396ba44c6SJaco Kroonconfig PPPOE_HASH_BITS_8
15496ba44c6SJaco Kroon	bool "8 bits (256 buckets)"
15596ba44c6SJaco Kroon
15696ba44c6SJaco Kroonendchoice
15796ba44c6SJaco Kroon
15896ba44c6SJaco Kroonconfig PPPOE_HASH_BITS
15996ba44c6SJaco Kroon	int
16096ba44c6SJaco Kroon	default 1 if PPPOE_HASH_BITS_1
16196ba44c6SJaco Kroon	default 2 if PPPOE_HASH_BITS_2
16296ba44c6SJaco Kroon	default 4 if PPPOE_HASH_BITS_4
16396ba44c6SJaco Kroon	default 8 if PPPOE_HASH_BITS_8
16496ba44c6SJaco Kroon	default 4
16596ba44c6SJaco Kroon
166224cf5adSJeff Kirsherconfig PPTP
1678aa53cb3SKees Cook	tristate "PPP over IPv4 (PPTP)"
1688aa53cb3SKees Cook	depends on PPP && NET_IPGRE_DEMUX
169a7f7f624SMasahiro Yamada	help
170224cf5adSJeff Kirsher	  Support for PPP over IPv4.(Point-to-Point Tunneling Protocol)
171224cf5adSJeff Kirsher
172224cf5adSJeff Kirsher	  This driver requires pppd plugin to work in client mode or
173224cf5adSJeff Kirsher	  modified pptpd (poptop) to work in server mode.
174224cf5adSJeff Kirsher	  See http://accel-pptp.sourceforge.net/ for information how to
175224cf5adSJeff Kirsher	  utilize this module.
176224cf5adSJeff Kirsher
177224cf5adSJeff Kirsherconfig PPPOL2TP
1788aa53cb3SKees Cook	tristate "PPP over L2TP"
1798aa53cb3SKees Cook	depends on L2TP && PPP
180a7f7f624SMasahiro Yamada	help
181224cf5adSJeff Kirsher	  Support for PPP-over-L2TP socket family. L2TP is a protocol
182224cf5adSJeff Kirsher	  used by ISPs and enterprises to tunnel PPP traffic over UDP
183224cf5adSJeff Kirsher	  tunnels. L2TP is replacing PPTP for VPN uses.
1844f73bc4dSJoe Millenbachif TTY
185224cf5adSJeff Kirsher
186224cf5adSJeff Kirsherconfig PPP_ASYNC
187224cf5adSJeff Kirsher	tristate "PPP support for async serial ports"
188224cf5adSJeff Kirsher	depends on PPP
189224cf5adSJeff Kirsher	select CRC_CCITT
190a7f7f624SMasahiro Yamada	help
191224cf5adSJeff Kirsher	  Say Y (or M) here if you want to be able to use PPP over standard
192224cf5adSJeff Kirsher	  asynchronous serial ports, such as COM1 or COM2 on a PC.  If you use
193224cf5adSJeff Kirsher	  a modem (not a synchronous or ISDN modem) to contact your ISP, you
194224cf5adSJeff Kirsher	  need this option.
195224cf5adSJeff Kirsher
196224cf5adSJeff Kirsher	  To compile this driver as a module, choose M here.
197224cf5adSJeff Kirsher
198224cf5adSJeff Kirsher	  If unsure, say Y.
199224cf5adSJeff Kirsher
200224cf5adSJeff Kirsherconfig PPP_SYNC_TTY
201224cf5adSJeff Kirsher	tristate "PPP support for sync tty ports"
202224cf5adSJeff Kirsher	depends on PPP
203a7f7f624SMasahiro Yamada	help
204224cf5adSJeff Kirsher	  Say Y (or M) here if you want to be able to use PPP over synchronous
205224cf5adSJeff Kirsher	  (HDLC) tty devices, such as the SyncLink adapter. These devices
206224cf5adSJeff Kirsher	  are often used for high-speed leased lines like T1/E1.
207224cf5adSJeff Kirsher
208224cf5adSJeff Kirsher	  To compile this driver as a module, choose M here.
209224cf5adSJeff Kirsher
2104f73bc4dSJoe Millenbachendif # TTY
2114f73bc4dSJoe Millenbach
212224cf5adSJeff Kirsherendif # PPP
213