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