/* * Redistribution and use in source and binary forms, with or without modification, * are permitted provided that the following conditions are met: * * 1. Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright notice, * this list of conditions and the following disclaimer in the documentation * and/or other materials provided with the distribution. * 3. The name of the author may not be used to endorse or promote products * derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY * OF SUCH DAMAGE. * * This file is part of the lwIP TCP/IP stack. * *//* ... */#ifndefLWIP_PPP_OPTS_H#defineLWIP_PPP_OPTS_H#include"lwip/opt.h"/** * PPP_SUPPORT==1: Enable PPP. *//* ... */#ifndefPPP_SUPPORT#definePPP_SUPPORT0#endif/** * PPPOE_SUPPORT==1: Enable PPP Over Ethernet *//* ... */#ifndefPPPOE_SUPPORT#definePPPOE_SUPPORT0#endif/** * PPPOL2TP_SUPPORT==1: Enable PPP Over L2TP *//* ... */#ifndefPPPOL2TP_SUPPORT#definePPPOL2TP_SUPPORT0#endif/** * PPPOL2TP_AUTH_SUPPORT==1: Enable PPP Over L2TP Auth (enable MD5 support) *//* ... */#ifndefPPPOL2TP_AUTH_SUPPORT#definePPPOL2TP_AUTH_SUPPORTPPPOL2TP_SUPPORT#endif/** * PPPOS_SUPPORT==1: Enable PPP Over Serial *//* ... */#ifndefPPPOS_SUPPORT#definePPPOS_SUPPORTPPP_SUPPORT#endif/** * LWIP_PPP_API==1: Enable PPP API (in pppapi.c) *//* ... */#ifndefLWIP_PPP_API#defineLWIP_PPP_API(PPP_SUPPORT&&(NO_SYS==0))#endif#ifPPP_SUPPORT/** * MEMP_NUM_PPP_PCB: the number of simultaneously active PPP * connections (requires the PPP_SUPPORT option) *//* ... */#ifndefMEMP_NUM_PPP_PCB#defineMEMP_NUM_PPP_PCB1#endif/** * PPP_NUM_TIMEOUTS_PER_PCB: the number of sys_timeouts running in parallel per * ppp_pcb. See the detailed explanation at the end of ppp_impl.h about simultaneous * timers analysis. *//* ... */#ifndefPPP_NUM_TIMEOUTS_PER_PCB#definePPP_NUM_TIMEOUTS_PER_PCB(1+PPP_IPV4_SUPPORT+PPP_IPV6_SUPPORT+CCP_SUPPORT)#endif/* The number of sys_timeouts required for the PPP module */#definePPP_NUM_TIMEOUTS(PPP_SUPPORT*PPP_NUM_TIMEOUTS_PER_PCB*MEMP_NUM_PPP_PCB)/** * MEMP_NUM_PPPOS_INTERFACES: the number of concurrently active PPPoS * interfaces (only used with PPPOS_SUPPORT==1) *//* ... */#ifndefMEMP_NUM_PPPOS_INTERFACES#defineMEMP_NUM_PPPOS_INTERFACESMEMP_NUM_PPP_PCB#endif/** * MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE * interfaces (only used with PPPOE_SUPPORT==1) *//* ... */#ifndefMEMP_NUM_PPPOE_INTERFACES#defineMEMP_NUM_PPPOE_INTERFACES1#endif/** * MEMP_NUM_PPPOL2TP_INTERFACES: the number of concurrently active PPPoL2TP * interfaces (only used with PPPOL2TP_SUPPORT==1) *//* ... */#ifndefMEMP_NUM_PPPOL2TP_INTERFACES#defineMEMP_NUM_PPPOL2TP_INTERFACES1#endif/** * MEMP_NUM_PPP_API_MSG: Number of concurrent PPP API messages (in pppapi.c) *//* ... */#ifndefMEMP_NUM_PPP_API_MSG#defineMEMP_NUM_PPP_API_MSG5#endif/** * PPP_DEBUG: Enable debugging for PPP. *//* ... */#ifndefPPP_DEBUG#definePPP_DEBUGLWIP_DBG_OFF#endif/** * PPP_INPROC_IRQ_SAFE==1 call pppos_input() using tcpip_callback(). * * Please read the "PPPoS input path" chapter in the PPP documentation about this option. *//* ... */#ifndefPPP_INPROC_IRQ_SAFE#definePPP_INPROC_IRQ_SAFE0#endif/** * PRINTPKT_SUPPORT==1: Enable PPP print packet support * * Mandatory for debugging, it displays exchanged packet content in debug trace. *//* ... */#ifndefPRINTPKT_SUPPORT#definePRINTPKT_SUPPORT0#endif/** * PPP_IPV4_SUPPORT==1: Enable PPP IPv4 support *//* ... */#ifndefPPP_IPV4_SUPPORT#definePPP_IPV4_SUPPORT(LWIP_IPV4)#endif/** * PPP_IPV6_SUPPORT==1: Enable PPP IPv6 support *//* ... */#ifndefPPP_IPV6_SUPPORT#definePPP_IPV6_SUPPORT(LWIP_IPV6)#endif/** * PPP_NOTIFY_PHASE==1: Support PPP notify phase support * * PPP notify phase support allows you to set a callback which is * called on change of the internal PPP state machine. * * This can be used for example to set a LED pattern depending on the * current phase of the PPP session. *//* ... */#ifndefPPP_NOTIFY_PHASE#definePPP_NOTIFY_PHASE0#endif/** * pbuf_type PPP is using for LCP, PAP, CHAP, EAP, CCP, IPCP and IP6CP packets. * * Memory allocated must be single buffered for PPP to works, it requires pbuf * that are not going to be chained when allocated. This requires setting * PBUF_POOL_BUFSIZE to at least 512 bytes, which is quite huge for small systems. * * Setting PPP_USE_PBUF_RAM to 1 makes PPP use memory from heap where continuous * buffers are required, allowing you to use a smaller PBUF_POOL_BUFSIZE. *//* ... */#ifndefPPP_USE_PBUF_RAM#definePPP_USE_PBUF_RAM0#endif/** * PPP_FCS_TABLE: Keep a 256*2 byte table to speed up FCS calculation for PPPoS *//* ... */#ifndefPPP_FCS_TABLE#definePPP_FCS_TABLE1#endif/** * PAP_SUPPORT==1: Support PAP. *//* ... */#ifndefPAP_SUPPORT#definePAP_SUPPORT0#endif/** * CHAP_SUPPORT==1: Support CHAP. *//* ... */#ifndefCHAP_SUPPORT#defineCHAP_SUPPORT0#endif/** * MSCHAP_SUPPORT==1: Support MSCHAP. *//* ... */#ifndefMSCHAP_SUPPORT#defineMSCHAP_SUPPORT0#endif#ifMSCHAP_SUPPORT/* MSCHAP requires CHAP support */#undefCHAP_SUPPORT#defineCHAP_SUPPORT1/* ... */#endif/* MSCHAP_SUPPORT *//** * EAP_SUPPORT==1: Support EAP. *//* ... */#ifndefEAP_SUPPORT#defineEAP_SUPPORT0#endif/** * CCP_SUPPORT==1: Support CCP. *//* ... */#ifndefCCP_SUPPORT#defineCCP_SUPPORT0#endif/** * MPPE_SUPPORT==1: Support MPPE. *//* ... */#ifndefMPPE_SUPPORT#defineMPPE_SUPPORT0#endif#ifMPPE_SUPPORT/* MPPE requires CCP support */#undefCCP_SUPPORT#defineCCP_SUPPORT1/* MPPE requires MSCHAP support */#undefMSCHAP_SUPPORT#defineMSCHAP_SUPPORT1/* MSCHAP requires CHAP support */#undefCHAP_SUPPORT#defineCHAP_SUPPORT1/* ... */#endif/* MPPE_SUPPORT *//** * CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET! *//* ... */#ifndefCBCP_SUPPORT#defineCBCP_SUPPORT0#endif/** * ECP_SUPPORT==1: Support ECP. CURRENTLY NOT SUPPORTED! DO NOT SET! *//* ... */#ifndefECP_SUPPORT#defineECP_SUPPORT0#endif/** * DEMAND_SUPPORT==1: Support dial on demand. CURRENTLY NOT SUPPORTED! DO NOT SET! *//* ... */#ifndefDEMAND_SUPPORT#defineDEMAND_SUPPORT0#endif/** * LQR_SUPPORT==1: Support Link Quality Report. Do nothing except exchanging some LCP packets. *//* ... */#ifndefLQR_SUPPORT#defineLQR_SUPPORT0#endif/** * PPP_SERVER==1: Enable PPP server support (waiting for incoming PPP session). * * Currently only supported for PPPoS. *//* ... */#ifndefPPP_SERVER#definePPP_SERVER0#endif#ifPPP_SERVER/* * PPP_OUR_NAME: Our name for authentication purposes *//* ... */#ifndefPPP_OUR_NAME#definePPP_OUR_NAME"lwIP"#endif/* ... */#endif/* PPP_SERVER *//** * VJ_SUPPORT==1: Support VJ header compression. *//* ... */#ifndefVJ_SUPPORT#defineVJ_SUPPORT1#endif/* VJ compression is only supported for TCP over IPv4 over PPPoS. */#if!PPPOS_SUPPORT||!PPP_IPV4_SUPPORT||!LWIP_TCP#undefVJ_SUPPORT#defineVJ_SUPPORT0/* ... */#endif/* !PPPOS_SUPPORT *//** * PPP_MD5_RANDM==1: Use MD5 for better randomness. * Enabled by default if CHAP, EAP, or L2TP AUTH support is enabled. *//* ... */#ifndefPPP_MD5_RANDM#definePPP_MD5_RANDM(CHAP_SUPPORT||EAP_SUPPORT||PPPOL2TP_AUTH_SUPPORT)#endif/** * PolarSSL embedded library * * * lwIP contains some files fetched from the latest BSD release of * the PolarSSL project (PolarSSL 0.10.1-bsd) for ciphers and encryption * methods we need for lwIP PPP support. * * The PolarSSL files were cleaned to contain only the necessary struct * fields and functions needed for lwIP. * * The PolarSSL API was not changed at all, so if you are already using * PolarSSL you can choose to skip the compilation of the included PolarSSL * library into lwIP. * * If you are not using the embedded copy you must include external * libraries into your arch/cc.h port file. * * Beware of the stack requirements which can be a lot larger if you are not * using our cleaned PolarSSL library. *//* ... *//** * LWIP_USE_EXTERNAL_POLARSSL: Use external PolarSSL library *//* ... */#ifndefLWIP_USE_EXTERNAL_POLARSSL#defineLWIP_USE_EXTERNAL_POLARSSL0#endif/** * LWIP_USE_EXTERNAL_MBEDTLS: Use external mbed TLS library *//* ... */#ifndefLWIP_USE_EXTERNAL_MBEDTLS#defineLWIP_USE_EXTERNAL_MBEDTLS0#endif/* * PPP Timeouts *//* ... *//** * FSM_DEFTIMEOUT: Timeout time in seconds *//* ... */#ifndefFSM_DEFTIMEOUT#defineFSM_DEFTIMEOUT6#endif/** * FSM_DEFMAXTERMREQS: Maximum Terminate-Request transmissions *//* ... */#ifndefFSM_DEFMAXTERMREQS#defineFSM_DEFMAXTERMREQS2#endif/** * FSM_DEFMAXCONFREQS: Maximum Configure-Request transmissions *//* ... */#ifndefFSM_DEFMAXCONFREQS#defineFSM_DEFMAXCONFREQS10#endif/** * FSM_DEFMAXNAKLOOPS: Maximum number of nak loops *//* ... */#ifndefFSM_DEFMAXNAKLOOPS#defineFSM_DEFMAXNAKLOOPS5#endif/** * UPAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req *//* ... */#ifndefUPAP_DEFTIMEOUT#defineUPAP_DEFTIMEOUT6#endif/** * UPAP_DEFTRANSMITS: Maximum number of auth-reqs to send *//* ... */#ifndefUPAP_DEFTRANSMITS#defineUPAP_DEFTRANSMITS10#endif#ifPPP_SERVER/** * UPAP_DEFREQTIME: Time to wait for auth-req from peer *//* ... */#ifndefUPAP_DEFREQTIME#defineUPAP_DEFREQTIME30#endif/* ... */#endif/* PPP_SERVER *//** * CHAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req *//* ... */#ifndefCHAP_DEFTIMEOUT#defineCHAP_DEFTIMEOUT6#endif/** * CHAP_DEFTRANSMITS: max # times to send challenge *//* ... */#ifndefCHAP_DEFTRANSMITS#defineCHAP_DEFTRANSMITS10#endif#ifPPP_SERVER/** * CHAP_DEFRECHALLENGETIME: If this option is > 0, rechallenge the peer every n seconds *//* ... */#ifndefCHAP_DEFRECHALLENGETIME#defineCHAP_DEFRECHALLENGETIME0#endif/* ... */#endif/* PPP_SERVER *//** * EAP_DEFREQTIME: Time to wait for peer request *//* ... */#ifndefEAP_DEFREQTIME#defineEAP_DEFREQTIME6#endif/** * EAP_DEFALLOWREQ: max # times to accept requests *//* ... */#ifndefEAP_DEFALLOWREQ#defineEAP_DEFALLOWREQ10#endif#ifPPP_SERVER/** * EAP_DEFTIMEOUT: Timeout (seconds) for rexmit *//* ... */#ifndefEAP_DEFTIMEOUT#defineEAP_DEFTIMEOUT6#endif/** * EAP_DEFTRANSMITS: max # times to transmit *//* ... */#ifndefEAP_DEFTRANSMITS#defineEAP_DEFTRANSMITS10#endif/* ... */#endif/* PPP_SERVER *//** * LCP_DEFLOOPBACKFAIL: Default number of times we receive our magic number from the peer * before deciding the link is looped-back. *//* ... */#ifndefLCP_DEFLOOPBACKFAIL#defineLCP_DEFLOOPBACKFAIL10#endif/** * LCP_ECHOINTERVAL: Interval in seconds between keepalive echo requests, 0 to disable. *//* ... */#ifndefLCP_ECHOINTERVAL#defineLCP_ECHOINTERVAL0#endif/** * LCP_MAXECHOFAILS: Number of unanswered echo requests before failure. *//* ... */#ifndefLCP_MAXECHOFAILS#defineLCP_MAXECHOFAILS3#endif/** * PPP_MAXIDLEFLAG: Max Xmit idle time (in ms) before resend flag char. *//* ... */#ifndefPPP_MAXIDLEFLAG#definePPP_MAXIDLEFLAG100#endif/** * PPP Packet sizes *//* ... *//** * PPP_MRU: Default MRU *//* ... */#ifndefPPP_MRU#definePPP_MRU1500#endif/** * PPP_DEFMRU: Default MRU to try *//* ... */#ifndefPPP_DEFMRU#definePPP_DEFMRU1500#endif/** * PPP_MAXMRU: Normally limit MRU to this (pppd default = 16384) *//* ... */#ifndefPPP_MAXMRU#definePPP_MAXMRU1500#endif/** * PPP_MINMRU: No MRUs below this *//* ... */#ifndefPPP_MINMRU#definePPP_MINMRU128#endif/** * PPPOL2TP_DEFMRU: Default MTU and MRU for L2TP * Default = 1500 - PPPoE(6) - PPP Protocol(2) - IPv4 header(20) - UDP Header(8) * - L2TP Header(6) - HDLC Header(2) - PPP Protocol(2) - MPPE Header(2) - PPP Protocol(2) *//* ... */#ifPPPOL2TP_SUPPORT#ifndefPPPOL2TP_DEFMRU#definePPPOL2TP_DEFMRU1450#endif/* ... */#endif/* PPPOL2TP_SUPPORT *//** * MAXNAMELEN: max length of hostname or name for auth *//* ... */#ifndefMAXNAMELEN#defineMAXNAMELEN256#endif/** * MAXSECRETLEN: max length of password or secret *//* ... */#ifndefMAXSECRETLEN#defineMAXSECRETLEN256#endif/* ------------------------------------------------------------------------- *//* * Build triggers for embedded PolarSSL *//* ... */#if!LWIP_USE_EXTERNAL_POLARSSL&&!LWIP_USE_EXTERNAL_MBEDTLS/* CHAP, EAP, L2TP AUTH and MD5 Random require MD5 support */#ifCHAP_SUPPORT||EAP_SUPPORT||PPPOL2TP_AUTH_SUPPORT||PPP_MD5_RANDM#defineLWIP_INCLUDED_POLARSSL_MD51#endif/* CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM */#ifMSCHAP_SUPPORT/* MSCHAP require MD4 support */#defineLWIP_INCLUDED_POLARSSL_MD41/* MSCHAP require SHA1 support */#defineLWIP_INCLUDED_POLARSSL_SHA11/* MSCHAP require DES support */#defineLWIP_INCLUDED_POLARSSL_DES1/* MS-CHAP support is required for MPPE */#ifMPPE_SUPPORT/* MPPE require ARC4 support */#defineLWIP_INCLUDED_POLARSSL_ARC41/* ... */#endif/* MPPE_SUPPORT *//* ... */#endif/* MSCHAP_SUPPORT *//* ... */#endif/* !LWIP_USE_EXTERNAL_POLARSSL && !LWIP_USE_EXTERNAL_MBEDTLS *//* Default value if unset */#ifndefLWIP_INCLUDED_POLARSSL_MD4#defineLWIP_INCLUDED_POLARSSL_MD40#endif/* LWIP_INCLUDED_POLARSSL_MD4 */#ifndefLWIP_INCLUDED_POLARSSL_MD5#defineLWIP_INCLUDED_POLARSSL_MD50#endif/* LWIP_INCLUDED_POLARSSL_MD5 */#ifndefLWIP_INCLUDED_POLARSSL_SHA1#defineLWIP_INCLUDED_POLARSSL_SHA10#endif/* LWIP_INCLUDED_POLARSSL_SHA1 */#ifndefLWIP_INCLUDED_POLARSSL_DES#defineLWIP_INCLUDED_POLARSSL_DES0#endif/* LWIP_INCLUDED_POLARSSL_DES */#ifndefLWIP_INCLUDED_POLARSSL_ARC4#defineLWIP_INCLUDED_POLARSSL_ARC40#endif/* LWIP_INCLUDED_POLARSSL_ARC4 *//* ... */#endif/* PPP_SUPPORT *//* Default value if unset */#ifndefPPP_NUM_TIMEOUTS#definePPP_NUM_TIMEOUTS0#endif/* PPP_NUM_TIMEOUTS *//* ... */#endif/* LWIP_PPP_OPTS_H */
Details
Show: from
Types: Columns:
All items filtered out
All items filtered out
This file uses the notable symbols shown below. Click anywhere in the file to view more details.