162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci# 362306a36Sopenharmony_ci# PPP network device configuration 462306a36Sopenharmony_ci# 562306a36Sopenharmony_ci 662306a36Sopenharmony_ciconfig PPP 762306a36Sopenharmony_ci tristate "PPP (point-to-point protocol) support" 862306a36Sopenharmony_ci select SLHC 962306a36Sopenharmony_ci help 1062306a36Sopenharmony_ci PPP (Point to Point Protocol) is a newer and better SLIP. It serves 1162306a36Sopenharmony_ci the same purpose: sending Internet traffic over telephone (and other 1262306a36Sopenharmony_ci serial) lines. Ask your access provider if they support it, because 1362306a36Sopenharmony_ci otherwise you can't use it; most Internet access providers these 1462306a36Sopenharmony_ci days support PPP rather than SLIP. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci To use PPP, you need an additional program called pppd as described 1762306a36Sopenharmony_ci in the PPP-HOWTO, available at 1862306a36Sopenharmony_ci <http://www.tldp.org/docs.html#howto>. Make sure that you have 1962306a36Sopenharmony_ci the version of pppd recommended in <file:Documentation/Changes>. 2062306a36Sopenharmony_ci The PPP option enlarges your kernel by about 16 KB. 2162306a36Sopenharmony_ci 2262306a36Sopenharmony_ci There are actually two versions of PPP: the traditional PPP for 2362306a36Sopenharmony_ci asynchronous lines, such as regular analog phone lines, and 2462306a36Sopenharmony_ci synchronous PPP which can be used over digital ISDN lines for 2562306a36Sopenharmony_ci example. If you want to use PPP over phone lines or other 2662306a36Sopenharmony_ci asynchronous serial lines, you need to say Y (or M) here and also to 2762306a36Sopenharmony_ci the next option, "PPP support for async serial ports". For PPP over 2862306a36Sopenharmony_ci synchronous lines, you should say Y (or M) here and to "Support 2962306a36Sopenharmony_ci synchronous PPP", below. 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ci If you said Y to "Version information on all symbols" above, then 3262306a36Sopenharmony_ci you cannot compile the PPP driver into the kernel; you can then only 3362306a36Sopenharmony_ci compile it as a module. To compile this driver as a module, choose M 3462306a36Sopenharmony_ci here. The module will be called ppp_generic. 3562306a36Sopenharmony_ci 3662306a36Sopenharmony_ciif PPP 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ciconfig PPP_BSDCOMP 3962306a36Sopenharmony_ci tristate "PPP BSD-Compress compression" 4062306a36Sopenharmony_ci depends on PPP 4162306a36Sopenharmony_ci help 4262306a36Sopenharmony_ci Support for the BSD-Compress compression method for PPP, which uses 4362306a36Sopenharmony_ci the LZW compression method to compress each PPP packet before it is 4462306a36Sopenharmony_ci sent over the wire. The machine at the other end of the PPP link 4562306a36Sopenharmony_ci (usually your ISP) has to support the BSD-Compress compression 4662306a36Sopenharmony_ci method as well for this to be useful. Even if they don't support it, 4762306a36Sopenharmony_ci it is safe to say Y here. 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci The PPP Deflate compression method ("PPP Deflate compression", 5062306a36Sopenharmony_ci above) is preferable to BSD-Compress, because it compresses better 5162306a36Sopenharmony_ci and is patent-free. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ci Note that the BSD compression code will always be compiled as a 5462306a36Sopenharmony_ci module; it is called bsd_comp and will show up in the directory 5562306a36Sopenharmony_ci modules once you have said "make modules". If unsure, say N. 5662306a36Sopenharmony_ci 5762306a36Sopenharmony_ciconfig PPP_DEFLATE 5862306a36Sopenharmony_ci tristate "PPP Deflate compression" 5962306a36Sopenharmony_ci depends on PPP 6062306a36Sopenharmony_ci select ZLIB_INFLATE 6162306a36Sopenharmony_ci select ZLIB_DEFLATE 6262306a36Sopenharmony_ci help 6362306a36Sopenharmony_ci Support for the Deflate compression method for PPP, which uses the 6462306a36Sopenharmony_ci Deflate algorithm (the same algorithm that gzip uses) to compress 6562306a36Sopenharmony_ci each PPP packet before it is sent over the wire. The machine at the 6662306a36Sopenharmony_ci other end of the PPP link (usually your ISP) has to support the 6762306a36Sopenharmony_ci Deflate compression method as well for this to be useful. Even if 6862306a36Sopenharmony_ci they don't support it, it is safe to say Y here. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ci To compile this driver as a module, choose M here. 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciconfig PPP_FILTER 7362306a36Sopenharmony_ci bool "PPP filtering" 7462306a36Sopenharmony_ci depends on PPP 7562306a36Sopenharmony_ci help 7662306a36Sopenharmony_ci Say Y here if you want to be able to filter the packets passing over 7762306a36Sopenharmony_ci PPP interfaces. This allows you to control which packets count as 7862306a36Sopenharmony_ci activity (i.e. which packets will reset the idle timer or bring up 7962306a36Sopenharmony_ci a demand-dialed link) and which packets are to be dropped entirely. 8062306a36Sopenharmony_ci You need to say Y here if you wish to use the pass-filter and 8162306a36Sopenharmony_ci active-filter options to pppd. 8262306a36Sopenharmony_ci 8362306a36Sopenharmony_ci If unsure, say N. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ciconfig PPP_MPPE 8662306a36Sopenharmony_ci tristate "PPP MPPE compression (encryption)" 8762306a36Sopenharmony_ci depends on PPP 8862306a36Sopenharmony_ci select CRYPTO 8962306a36Sopenharmony_ci select CRYPTO_SHA1 9062306a36Sopenharmony_ci select CRYPTO_LIB_ARC4 9162306a36Sopenharmony_ci help 9262306a36Sopenharmony_ci Support for the MPPE Encryption protocol, as employed by the 9362306a36Sopenharmony_ci Microsoft Point-to-Point Tunneling Protocol. 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci See http://pptpclient.sourceforge.net/ for information on 9662306a36Sopenharmony_ci configuring PPTP clients and servers to utilize this method. 9762306a36Sopenharmony_ci 9862306a36Sopenharmony_ciconfig PPP_MULTILINK 9962306a36Sopenharmony_ci bool "PPP multilink support" 10062306a36Sopenharmony_ci depends on PPP 10162306a36Sopenharmony_ci help 10262306a36Sopenharmony_ci PPP multilink is a protocol (defined in RFC 1990) which allows you 10362306a36Sopenharmony_ci to combine several (logical or physical) lines into one logical PPP 10462306a36Sopenharmony_ci connection, so that you can utilize your full bandwidth. 10562306a36Sopenharmony_ci 10662306a36Sopenharmony_ci This has to be supported at the other end as well and you need a 10762306a36Sopenharmony_ci version of the pppd daemon which understands the multilink protocol. 10862306a36Sopenharmony_ci 10962306a36Sopenharmony_ci If unsure, say N. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ciconfig PPPOATM 11262306a36Sopenharmony_ci tristate "PPP over ATM" 11362306a36Sopenharmony_ci depends on ATM && PPP 11462306a36Sopenharmony_ci help 11562306a36Sopenharmony_ci Support PPP (Point to Point Protocol) encapsulated in ATM frames. 11662306a36Sopenharmony_ci This implementation does not yet comply with section 8 of RFC2364, 11762306a36Sopenharmony_ci which can lead to bad results if the ATM peer loses state and 11862306a36Sopenharmony_ci changes its encapsulation unilaterally. 11962306a36Sopenharmony_ci 12062306a36Sopenharmony_ciconfig PPPOE 12162306a36Sopenharmony_ci tristate "PPP over Ethernet" 12262306a36Sopenharmony_ci depends on PPP 12362306a36Sopenharmony_ci help 12462306a36Sopenharmony_ci Support for PPP over Ethernet. 12562306a36Sopenharmony_ci 12662306a36Sopenharmony_ci This driver requires the latest version of pppd from the CVS 12762306a36Sopenharmony_ci repository at cvs.samba.org. Alternatively, see the 12862306a36Sopenharmony_ci RoaringPenguin package (<http://www.roaringpenguin.com/pppoe>) 12962306a36Sopenharmony_ci which contains instruction on how to use this driver (under 13062306a36Sopenharmony_ci the heading "Kernel mode PPPoE"). 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_cichoice 13362306a36Sopenharmony_ci prompt "Number of PPPoE hash bits" 13462306a36Sopenharmony_ci default PPPOE_HASH_BITS_4 13562306a36Sopenharmony_ci depends on PPPOE 13662306a36Sopenharmony_ci help 13762306a36Sopenharmony_ci Select the number of bits used for hashing PPPoE interfaces. 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci Larger sizes reduces the risk of hash collisions at the cost 14062306a36Sopenharmony_ci of slightly increased memory usage. 14162306a36Sopenharmony_ci 14262306a36Sopenharmony_ci This hash table is on a per outer ethernet interface. 14362306a36Sopenharmony_ci 14462306a36Sopenharmony_ciconfig PPPOE_HASH_BITS_1 14562306a36Sopenharmony_ci bool "1 bit (2 buckets)" 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ciconfig PPPOE_HASH_BITS_2 14862306a36Sopenharmony_ci bool "2 bits (4 buckets)" 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ciconfig PPPOE_HASH_BITS_4 15162306a36Sopenharmony_ci bool "4 bits (16 buckets)" 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_ciconfig PPPOE_HASH_BITS_8 15462306a36Sopenharmony_ci bool "8 bits (256 buckets)" 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ciendchoice 15762306a36Sopenharmony_ci 15862306a36Sopenharmony_ciconfig PPPOE_HASH_BITS 15962306a36Sopenharmony_ci int 16062306a36Sopenharmony_ci default 1 if PPPOE_HASH_BITS_1 16162306a36Sopenharmony_ci default 2 if PPPOE_HASH_BITS_2 16262306a36Sopenharmony_ci default 4 if PPPOE_HASH_BITS_4 16362306a36Sopenharmony_ci default 8 if PPPOE_HASH_BITS_8 16462306a36Sopenharmony_ci default 4 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciconfig PPTP 16762306a36Sopenharmony_ci tristate "PPP over IPv4 (PPTP)" 16862306a36Sopenharmony_ci depends on PPP && NET_IPGRE_DEMUX 16962306a36Sopenharmony_ci help 17062306a36Sopenharmony_ci Support for PPP over IPv4.(Point-to-Point Tunneling Protocol) 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci This driver requires pppd plugin to work in client mode or 17362306a36Sopenharmony_ci modified pptpd (poptop) to work in server mode. 17462306a36Sopenharmony_ci See http://accel-pptp.sourceforge.net/ for information how to 17562306a36Sopenharmony_ci utilize this module. 17662306a36Sopenharmony_ci 17762306a36Sopenharmony_ciconfig PPPOL2TP 17862306a36Sopenharmony_ci tristate "PPP over L2TP" 17962306a36Sopenharmony_ci depends on L2TP && PPP 18062306a36Sopenharmony_ci help 18162306a36Sopenharmony_ci Support for PPP-over-L2TP socket family. L2TP is a protocol 18262306a36Sopenharmony_ci used by ISPs and enterprises to tunnel PPP traffic over UDP 18362306a36Sopenharmony_ci tunnels. L2TP is replacing PPTP for VPN uses. 18462306a36Sopenharmony_ciif TTY 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ciconfig PPP_ASYNC 18762306a36Sopenharmony_ci tristate "PPP support for async serial ports" 18862306a36Sopenharmony_ci depends on PPP 18962306a36Sopenharmony_ci select CRC_CCITT 19062306a36Sopenharmony_ci help 19162306a36Sopenharmony_ci Say Y (or M) here if you want to be able to use PPP over standard 19262306a36Sopenharmony_ci asynchronous serial ports, such as COM1 or COM2 on a PC. If you use 19362306a36Sopenharmony_ci a modem (not a synchronous or ISDN modem) to contact your ISP, you 19462306a36Sopenharmony_ci need this option. 19562306a36Sopenharmony_ci 19662306a36Sopenharmony_ci To compile this driver as a module, choose M here. 19762306a36Sopenharmony_ci 19862306a36Sopenharmony_ci If unsure, say Y. 19962306a36Sopenharmony_ci 20062306a36Sopenharmony_ciconfig PPP_SYNC_TTY 20162306a36Sopenharmony_ci tristate "PPP support for sync tty ports" 20262306a36Sopenharmony_ci depends on PPP 20362306a36Sopenharmony_ci help 20462306a36Sopenharmony_ci Say Y (or M) here if you want to be able to use PPP over synchronous 20562306a36Sopenharmony_ci (HDLC) tty devices, such as the SyncLink adapter. These devices 20662306a36Sopenharmony_ci are often used for high-speed leased lines like T1/E1. 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_ci To compile this driver as a module, choose M here. 20962306a36Sopenharmony_ci 21062306a36Sopenharmony_ciendif # TTY 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ciendif # PPP 213