projects/linux·blob master · refs

207 lines · 6.6 KiB

1# SPDX-License-Identifier: GPL-2.0-only
2#
3# PPP network device configuration
4#
5
6config PPP
7 tristate "PPP (point-to-point protocol) support"
8 select SLHC
9 help
10 PPP (Point to Point Protocol) is a newer and better SLIP. It serves
11 the same purpose: sending Internet traffic over telephone (and other
12 serial) lines. Ask your access provider if they support it, because
13 otherwise you can't use it; most Internet access providers these
14 days support PPP rather than SLIP.
15
16 To use PPP, you need an additional program called pppd, available at
17 <https://ppp.samba.org>. Make sure that you have the version of pppd
18 recommended in <file:Documentation/Changes>.
19 The PPP option enlarges your kernel by about 16 KB.
20
21 There are actually two versions of PPP: the traditional PPP for
22 asynchronous lines, such as regular analog phone lines, and
23 synchronous PPP which can be used over digital ISDN lines for
24 example. If you want to use PPP over phone lines or other
25 asynchronous serial lines, you need to say Y (or M) here and also to
26 the next option, "PPP support for async serial ports". For PPP over
27 synchronous lines, you should say Y (or M) here and to "Support
28 synchronous PPP", below.
29
30 If you said Y to "Version information on all symbols" above, then
31 you cannot compile the PPP driver into the kernel; you can then only
32 compile it as a module. To compile this driver as a module, choose M
33 here. The module will be called ppp_generic.
34
35if PPP
36
37config PPP_BSDCOMP
38 tristate "PPP BSD-Compress compression"
39 help
40 Support for the BSD-Compress compression method for PPP, which uses
41 the LZW compression method to compress each PPP packet before it is
42 sent over the wire. The machine at the other end of the PPP link
43 (usually your ISP) has to support the BSD-Compress compression
44 method as well for this to be useful. Even if they don't support it,
45 it is safe to say Y here.
46
47 The PPP Deflate compression method ("PPP Deflate compression",
48 above) is preferable to BSD-Compress, because it compresses better
49 and is patent-free.
50
51 Note that the BSD compression code will always be compiled as a
52 module; it is called bsd_comp and will show up in the directory
53 modules once you have said "make modules". If unsure, say N.
54
55config PPP_DEFLATE
56 tristate "PPP Deflate compression"
57 select ZLIB_INFLATE
58 select ZLIB_DEFLATE
59 help
60 Support for the Deflate compression method for PPP, which uses the
61 Deflate algorithm (the same algorithm that gzip uses) to compress
62 each PPP packet before it is sent over the wire. The machine at the
63 other end of the PPP link (usually your ISP) has to support the
64 Deflate compression method as well for this to be useful. Even if
65 they don't support it, it is safe to say Y here.
66
67 To compile this driver as a module, choose M here.
68
69config PPP_FILTER
70 bool "PPP filtering"
71 help
72 Say Y here if you want to be able to filter the packets passing over
73 PPP interfaces. This allows you to control which packets count as
74 activity (i.e. which packets will reset the idle timer or bring up
75 a demand-dialed link) and which packets are to be dropped entirely.
76 You need to say Y here if you wish to use the pass-filter and
77 active-filter options to pppd.
78
79 If unsure, say N.
80
81config PPP_MPPE
82 tristate "PPP MPPE compression (encryption)"
83 select CRYPTO_LIB_ARC4
84 select CRYPTO_LIB_SHA1
85 help
86 Support for the MPPE Encryption protocol, as employed by the
87 Microsoft Point-to-Point Tunneling Protocol.
88
89 See http://pptpclient.sourceforge.net/ for information on
90 configuring PPTP clients and servers to utilize this method.
91
92config PPP_MULTILINK
93 bool "PPP multilink support"
94 help
95 PPP multilink is a protocol (defined in RFC 1990) which allows you
96 to combine several (logical or physical) lines into one logical PPP
97 connection, so that you can utilize your full bandwidth.
98
99 This has to be supported at the other end as well and you need a
100 version of the pppd daemon which understands the multilink protocol.
101
102 If unsure, say N.
103
104config PPPOATM
105 tristate "PPP over ATM"
106 depends on ATM
107 help
108 Support PPP (Point to Point Protocol) encapsulated in ATM frames.
109 This implementation does not yet comply with section 8 of RFC2364,
110 which can lead to bad results if the ATM peer loses state and
111 changes its encapsulation unilaterally.
112
113config PPPOX
114 tristate
115
116config PPPOE
117 tristate "PPP over Ethernet"
118 select PPPOX
119 help
120 Support for PPP over Ethernet.
121
122 To work in client mode, pppd version 2.4.2 or later is required.
123 To work in server mode, the pppoe-server command from the RP-PPPoE
124 package is also required, available at
125 <https://dianne.skoll.ca/projects/rp-pppoe/>.
126
127choice
128 prompt "Number of PPPoE hash bits"
129 default PPPOE_HASH_BITS_4
130 depends on PPPOE
131 help
132 Select the number of bits used for hashing PPPoE interfaces.
133
134 Larger sizes reduces the risk of hash collisions at the cost
135 of slightly increased memory usage.
136
137 This hash table is on a per outer ethernet interface.
138
139config PPPOE_HASH_BITS_1
140 bool "1 bit (2 buckets)"
141
142config PPPOE_HASH_BITS_2
143 bool "2 bits (4 buckets)"
144
145config PPPOE_HASH_BITS_4
146 bool "4 bits (16 buckets)"
147
148config PPPOE_HASH_BITS_8
149 bool "8 bits (256 buckets)"
150
151endchoice
152
153config PPPOE_HASH_BITS
154 int
155 default 1 if PPPOE_HASH_BITS_1
156 default 2 if PPPOE_HASH_BITS_2
157 default 4 if PPPOE_HASH_BITS_4
158 default 8 if PPPOE_HASH_BITS_8
159 default 4
160
161config PPTP
162 tristate "PPP over IPv4 (PPTP)"
163 depends on NET_IPGRE_DEMUX
164 select PPPOX
165 help
166 Support for PPP over IPv4.(Point-to-Point Tunneling Protocol)
167
168 This driver requires pppd plugin to work in client mode or
169 modified pptpd (poptop) to work in server mode.
170 See http://accel-pptp.sourceforge.net/ for information how to
171 utilize this module.
172
173config PPPOL2TP
174 tristate "PPP over L2TP"
175 depends on L2TP
176 select PPPOX
177 help
178 Support for PPP-over-L2TP socket family. L2TP is a protocol
179 used by ISPs and enterprises to tunnel PPP traffic over UDP
180 tunnels. L2TP is replacing PPTP for VPN uses.
181if TTY
182
183config PPP_ASYNC
184 tristate "PPP support for async serial ports"
185 select CRC_CCITT
186 help
187 Say Y (or M) here if you want to be able to use PPP over standard
188 asynchronous serial ports, such as COM1 or COM2 on a PC. If you use
189 a modem (not a synchronous or ISDN modem) to contact your ISP, you
190 need this option.
191
192 To compile this driver as a module, choose M here.
193
194 If unsure, say Y.
195
196config PPP_SYNC_TTY
197 tristate "PPP support for sync tty ports"
198 help
199 Say Y (or M) here if you want to be able to use PPP over synchronous
200 (HDLC) tty devices. These devices are often used for high-speed leased
201 lines like T1/E1.
202
203 To compile this driver as a module, choose M here.
204
205endif # TTY
206
207endif # PPP