18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only
28c2ecf20Sopenharmony_ci#
38c2ecf20Sopenharmony_ci# PPP network device configuration
48c2ecf20Sopenharmony_ci#
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciconfig PPP
78c2ecf20Sopenharmony_ci	tristate "PPP (point-to-point protocol) support"
88c2ecf20Sopenharmony_ci	select SLHC
98c2ecf20Sopenharmony_ci	help
108c2ecf20Sopenharmony_ci	  PPP (Point to Point Protocol) is a newer and better SLIP.  It serves
118c2ecf20Sopenharmony_ci	  the same purpose: sending Internet traffic over telephone (and other
128c2ecf20Sopenharmony_ci	  serial) lines.  Ask your access provider if they support it, because
138c2ecf20Sopenharmony_ci	  otherwise you can't use it; most Internet access providers these
148c2ecf20Sopenharmony_ci	  days support PPP rather than SLIP.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	  To use PPP, you need an additional program called pppd as described
178c2ecf20Sopenharmony_ci	  in the PPP-HOWTO, available at
188c2ecf20Sopenharmony_ci	  <http://www.tldp.org/docs.html#howto>.  Make sure that you have
198c2ecf20Sopenharmony_ci	  the version of pppd recommended in <file:Documentation/Changes>.
208c2ecf20Sopenharmony_ci	  The PPP option enlarges your kernel by about 16 KB.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci	  There are actually two versions of PPP: the traditional PPP for
238c2ecf20Sopenharmony_ci	  asynchronous lines, such as regular analog phone lines, and
248c2ecf20Sopenharmony_ci	  synchronous PPP which can be used over digital ISDN lines for
258c2ecf20Sopenharmony_ci	  example.  If you want to use PPP over phone lines or other
268c2ecf20Sopenharmony_ci	  asynchronous serial lines, you need to say Y (or M) here and also to
278c2ecf20Sopenharmony_ci	  the next option, "PPP support for async serial ports".  For PPP over
288c2ecf20Sopenharmony_ci	  synchronous lines, you should say Y (or M) here and to "Support
298c2ecf20Sopenharmony_ci	  synchronous PPP", below.
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci	  If you said Y to "Version information on all symbols" above, then
328c2ecf20Sopenharmony_ci	  you cannot compile the PPP driver into the kernel; you can then only
338c2ecf20Sopenharmony_ci	  compile it as a module. To compile this driver as a module, choose M
348c2ecf20Sopenharmony_ci	  here. The module will be called ppp_generic.
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_ciif PPP
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ciconfig PPP_BSDCOMP
398c2ecf20Sopenharmony_ci	tristate "PPP BSD-Compress compression"
408c2ecf20Sopenharmony_ci	depends on PPP
418c2ecf20Sopenharmony_ci	help
428c2ecf20Sopenharmony_ci	  Support for the BSD-Compress compression method for PPP, which uses
438c2ecf20Sopenharmony_ci	  the LZW compression method to compress each PPP packet before it is
448c2ecf20Sopenharmony_ci	  sent over the wire. The machine at the other end of the PPP link
458c2ecf20Sopenharmony_ci	  (usually your ISP) has to support the BSD-Compress compression
468c2ecf20Sopenharmony_ci	  method as well for this to be useful. Even if they don't support it,
478c2ecf20Sopenharmony_ci	  it is safe to say Y here.
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci	  The PPP Deflate compression method ("PPP Deflate compression",
508c2ecf20Sopenharmony_ci	  above) is preferable to BSD-Compress, because it compresses better
518c2ecf20Sopenharmony_ci	  and is patent-free.
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ci	  Note that the BSD compression code will always be compiled as a
548c2ecf20Sopenharmony_ci	  module; it is called bsd_comp and will show up in the directory
558c2ecf20Sopenharmony_ci	  modules once you have said "make modules". If unsure, say N.
568c2ecf20Sopenharmony_ci
578c2ecf20Sopenharmony_ciconfig PPP_DEFLATE
588c2ecf20Sopenharmony_ci	tristate "PPP Deflate compression"
598c2ecf20Sopenharmony_ci	depends on PPP
608c2ecf20Sopenharmony_ci	select ZLIB_INFLATE
618c2ecf20Sopenharmony_ci	select ZLIB_DEFLATE
628c2ecf20Sopenharmony_ci	help
638c2ecf20Sopenharmony_ci	  Support for the Deflate compression method for PPP, which uses the
648c2ecf20Sopenharmony_ci	  Deflate algorithm (the same algorithm that gzip uses) to compress
658c2ecf20Sopenharmony_ci	  each PPP packet before it is sent over the wire.  The machine at the
668c2ecf20Sopenharmony_ci	  other end of the PPP link (usually your ISP) has to support the
678c2ecf20Sopenharmony_ci	  Deflate compression method as well for this to be useful.  Even if
688c2ecf20Sopenharmony_ci	  they don't support it, it is safe to say Y here.
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here.
718c2ecf20Sopenharmony_ci
728c2ecf20Sopenharmony_ciconfig PPP_FILTER
738c2ecf20Sopenharmony_ci	bool "PPP filtering"
748c2ecf20Sopenharmony_ci	depends on PPP
758c2ecf20Sopenharmony_ci	help
768c2ecf20Sopenharmony_ci	  Say Y here if you want to be able to filter the packets passing over
778c2ecf20Sopenharmony_ci	  PPP interfaces.  This allows you to control which packets count as
788c2ecf20Sopenharmony_ci	  activity (i.e. which packets will reset the idle timer or bring up
798c2ecf20Sopenharmony_ci	  a demand-dialed link) and which packets are to be dropped entirely.
808c2ecf20Sopenharmony_ci	  You need to say Y here if you wish to use the pass-filter and
818c2ecf20Sopenharmony_ci	  active-filter options to pppd.
828c2ecf20Sopenharmony_ci
838c2ecf20Sopenharmony_ci	  If unsure, say N.
848c2ecf20Sopenharmony_ci
858c2ecf20Sopenharmony_ciconfig PPP_MPPE
868c2ecf20Sopenharmony_ci	tristate "PPP MPPE compression (encryption)"
878c2ecf20Sopenharmony_ci	depends on PPP
888c2ecf20Sopenharmony_ci	select CRYPTO
898c2ecf20Sopenharmony_ci	select CRYPTO_SHA1
908c2ecf20Sopenharmony_ci	select CRYPTO_LIB_ARC4
918c2ecf20Sopenharmony_ci	help
928c2ecf20Sopenharmony_ci	  Support for the MPPE Encryption protocol, as employed by the
938c2ecf20Sopenharmony_ci	  Microsoft Point-to-Point Tunneling Protocol.
948c2ecf20Sopenharmony_ci
958c2ecf20Sopenharmony_ci	  See http://pptpclient.sourceforge.net/ for information on
968c2ecf20Sopenharmony_ci	  configuring PPTP clients and servers to utilize this method.
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ciconfig PPP_MULTILINK
998c2ecf20Sopenharmony_ci	bool "PPP multilink support"
1008c2ecf20Sopenharmony_ci	depends on PPP
1018c2ecf20Sopenharmony_ci	help
1028c2ecf20Sopenharmony_ci	  PPP multilink is a protocol (defined in RFC 1990) which allows you
1038c2ecf20Sopenharmony_ci	  to combine several (logical or physical) lines into one logical PPP
1048c2ecf20Sopenharmony_ci	  connection, so that you can utilize your full bandwidth.
1058c2ecf20Sopenharmony_ci
1068c2ecf20Sopenharmony_ci	  This has to be supported at the other end as well and you need a
1078c2ecf20Sopenharmony_ci	  version of the pppd daemon which understands the multilink protocol.
1088c2ecf20Sopenharmony_ci
1098c2ecf20Sopenharmony_ci	  If unsure, say N.
1108c2ecf20Sopenharmony_ci
1118c2ecf20Sopenharmony_ciconfig PPPOATM
1128c2ecf20Sopenharmony_ci	tristate "PPP over ATM"
1138c2ecf20Sopenharmony_ci	depends on ATM && PPP
1148c2ecf20Sopenharmony_ci	help
1158c2ecf20Sopenharmony_ci	  Support PPP (Point to Point Protocol) encapsulated in ATM frames.
1168c2ecf20Sopenharmony_ci	  This implementation does not yet comply with section 8 of RFC2364,
1178c2ecf20Sopenharmony_ci	  which can lead to bad results if the ATM peer loses state and
1188c2ecf20Sopenharmony_ci	  changes its encapsulation unilaterally.
1198c2ecf20Sopenharmony_ci
1208c2ecf20Sopenharmony_ciconfig PPPOE
1218c2ecf20Sopenharmony_ci	tristate "PPP over Ethernet"
1228c2ecf20Sopenharmony_ci	depends on PPP
1238c2ecf20Sopenharmony_ci	help
1248c2ecf20Sopenharmony_ci	  Support for PPP over Ethernet.
1258c2ecf20Sopenharmony_ci
1268c2ecf20Sopenharmony_ci	  This driver requires the latest version of pppd from the CVS
1278c2ecf20Sopenharmony_ci	  repository at cvs.samba.org.  Alternatively, see the
1288c2ecf20Sopenharmony_ci	  RoaringPenguin package (<http://www.roaringpenguin.com/pppoe>)
1298c2ecf20Sopenharmony_ci	  which contains instruction on how to use this driver (under
1308c2ecf20Sopenharmony_ci	  the heading "Kernel mode PPPoE").
1318c2ecf20Sopenharmony_ci
1328c2ecf20Sopenharmony_ciconfig PPTP
1338c2ecf20Sopenharmony_ci	tristate "PPP over IPv4 (PPTP)"
1348c2ecf20Sopenharmony_ci	depends on PPP && NET_IPGRE_DEMUX
1358c2ecf20Sopenharmony_ci	help
1368c2ecf20Sopenharmony_ci	  Support for PPP over IPv4.(Point-to-Point Tunneling Protocol)
1378c2ecf20Sopenharmony_ci
1388c2ecf20Sopenharmony_ci	  This driver requires pppd plugin to work in client mode or
1398c2ecf20Sopenharmony_ci	  modified pptpd (poptop) to work in server mode.
1408c2ecf20Sopenharmony_ci	  See http://accel-pptp.sourceforge.net/ for information how to
1418c2ecf20Sopenharmony_ci	  utilize this module.
1428c2ecf20Sopenharmony_ci
1438c2ecf20Sopenharmony_ciconfig PPPOL2TP
1448c2ecf20Sopenharmony_ci	tristate "PPP over L2TP"
1458c2ecf20Sopenharmony_ci	depends on L2TP && PPP
1468c2ecf20Sopenharmony_ci	help
1478c2ecf20Sopenharmony_ci	  Support for PPP-over-L2TP socket family. L2TP is a protocol
1488c2ecf20Sopenharmony_ci	  used by ISPs and enterprises to tunnel PPP traffic over UDP
1498c2ecf20Sopenharmony_ci	  tunnels. L2TP is replacing PPTP for VPN uses.
1508c2ecf20Sopenharmony_ciif TTY
1518c2ecf20Sopenharmony_ci
1528c2ecf20Sopenharmony_ciconfig PPP_ASYNC
1538c2ecf20Sopenharmony_ci	tristate "PPP support for async serial ports"
1548c2ecf20Sopenharmony_ci	depends on PPP
1558c2ecf20Sopenharmony_ci	select CRC_CCITT
1568c2ecf20Sopenharmony_ci	help
1578c2ecf20Sopenharmony_ci	  Say Y (or M) here if you want to be able to use PPP over standard
1588c2ecf20Sopenharmony_ci	  asynchronous serial ports, such as COM1 or COM2 on a PC.  If you use
1598c2ecf20Sopenharmony_ci	  a modem (not a synchronous or ISDN modem) to contact your ISP, you
1608c2ecf20Sopenharmony_ci	  need this option.
1618c2ecf20Sopenharmony_ci
1628c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here.
1638c2ecf20Sopenharmony_ci
1648c2ecf20Sopenharmony_ci	  If unsure, say Y.
1658c2ecf20Sopenharmony_ci
1668c2ecf20Sopenharmony_ciconfig PPP_SYNC_TTY
1678c2ecf20Sopenharmony_ci	tristate "PPP support for sync tty ports"
1688c2ecf20Sopenharmony_ci	depends on PPP
1698c2ecf20Sopenharmony_ci	help
1708c2ecf20Sopenharmony_ci	  Say Y (or M) here if you want to be able to use PPP over synchronous
1718c2ecf20Sopenharmony_ci	  (HDLC) tty devices, such as the SyncLink adapter. These devices
1728c2ecf20Sopenharmony_ci	  are often used for high-speed leased lines like T1/E1.
1738c2ecf20Sopenharmony_ci
1748c2ecf20Sopenharmony_ci	  To compile this driver as a module, choose M here.
1758c2ecf20Sopenharmony_ci
1768c2ecf20Sopenharmony_ciendif # TTY
1778c2ecf20Sopenharmony_ci
1788c2ecf20Sopenharmony_ciendif # PPP
179