Prusa MINI Firmware overview
Main Page
Modules
Classes
Files
File List
File Members
ppp_opts.h
Go to the documentation of this file.
1
/*
2
* Redistribution and use in source and binary forms, with or without modification,
3
* are permitted provided that the following conditions are met:
4
*
5
* 1. Redistributions of source code must retain the above copyright notice,
6
* this list of conditions and the following disclaimer.
7
* 2. Redistributions in binary form must reproduce the above copyright notice,
8
* this list of conditions and the following disclaimer in the documentation
9
* and/or other materials provided with the distribution.
10
* 3. The name of the author may not be used to endorse or promote products
11
* derived from this software without specific prior written permission.
12
*
13
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
14
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
15
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
16
* SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
17
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
18
* OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
19
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
21
* IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
22
* OF SUCH DAMAGE.
23
*
24
* This file is part of the lwIP TCP/IP stack.
25
*
26
*/
27
28
#ifndef LWIP_PPP_OPTS_H
29
#define LWIP_PPP_OPTS_H
30
31
#include "
lwip/opt.h
"
32
33
/**
34
* PPP_SUPPORT==1: Enable PPP.
35
*/
36
#ifndef PPP_SUPPORT
37
#define PPP_SUPPORT 0
38
#endif
39
40
/**
41
* PPPOE_SUPPORT==1: Enable PPP Over Ethernet
42
*/
43
#ifndef PPPOE_SUPPORT
44
#define PPPOE_SUPPORT 0
45
#endif
46
47
/**
48
* PPPOL2TP_SUPPORT==1: Enable PPP Over L2TP
49
*/
50
#ifndef PPPOL2TP_SUPPORT
51
#define PPPOL2TP_SUPPORT 0
52
#endif
53
54
/**
55
* PPPOL2TP_AUTH_SUPPORT==1: Enable PPP Over L2TP Auth (enable MD5 support)
56
*/
57
#ifndef PPPOL2TP_AUTH_SUPPORT
58
#define PPPOL2TP_AUTH_SUPPORT PPPOL2TP_SUPPORT
59
#endif
60
61
/**
62
* PPPOS_SUPPORT==1: Enable PPP Over Serial
63
*/
64
#ifndef PPPOS_SUPPORT
65
#define PPPOS_SUPPORT PPP_SUPPORT
66
#endif
67
68
/**
69
* LWIP_PPP_API==1: Enable PPP API (in pppapi.c)
70
*/
71
#ifndef LWIP_PPP_API
72
#define LWIP_PPP_API (PPP_SUPPORT && (NO_SYS == 0))
73
#endif
74
75
/**
76
* MEMP_NUM_PPP_PCB: the number of simultaneously active PPP
77
* connections (requires the PPP_SUPPORT option)
78
*/
79
#ifndef MEMP_NUM_PPP_PCB
80
#define MEMP_NUM_PPP_PCB 1
81
#endif
82
83
#if PPP_SUPPORT
84
85
/**
86
* MEMP_NUM_PPPOS_INTERFACES: the number of concurrently active PPPoS
87
* interfaces (only used with PPPOS_SUPPORT==1)
88
*/
89
#ifndef MEMP_NUM_PPPOS_INTERFACES
90
#define MEMP_NUM_PPPOS_INTERFACES MEMP_NUM_PPP_PCB
91
#endif
92
93
/**
94
* MEMP_NUM_PPPOE_INTERFACES: the number of concurrently active PPPoE
95
* interfaces (only used with PPPOE_SUPPORT==1)
96
*/
97
#ifndef MEMP_NUM_PPPOE_INTERFACES
98
#define MEMP_NUM_PPPOE_INTERFACES 1
99
#endif
100
101
/**
102
* MEMP_NUM_PPPOL2TP_INTERFACES: the number of concurrently active PPPoL2TP
103
* interfaces (only used with PPPOL2TP_SUPPORT==1)
104
*/
105
#ifndef MEMP_NUM_PPPOL2TP_INTERFACES
106
#define MEMP_NUM_PPPOL2TP_INTERFACES 1
107
#endif
108
109
/**
110
* MEMP_NUM_PPP_API_MSG: Number of concurrent PPP API messages (in pppapi.c)
111
*/
112
#ifndef MEMP_NUM_PPP_API_MSG
113
#define MEMP_NUM_PPP_API_MSG 5
114
#endif
115
116
/**
117
* PPP_DEBUG: Enable debugging for PPP.
118
*/
119
#ifndef PPP_DEBUG
120
#define PPP_DEBUG LWIP_DBG_OFF
121
#endif
122
123
/**
124
* PPP_INPROC_IRQ_SAFE==1 call pppos_input() using tcpip_callback().
125
*
126
* Please read the "PPPoS input path" chapter in the PPP documentation about this option.
127
*/
128
#ifndef PPP_INPROC_IRQ_SAFE
129
#define PPP_INPROC_IRQ_SAFE 0
130
#endif
131
132
/**
133
* PRINTPKT_SUPPORT==1: Enable PPP print packet support
134
*
135
* Mandatory for debugging, it displays exchanged packet content in debug trace.
136
*/
137
#ifndef PRINTPKT_SUPPORT
138
#define PRINTPKT_SUPPORT 0
139
#endif
140
141
/**
142
* PPP_IPV4_SUPPORT==1: Enable PPP IPv4 support
143
*/
144
#ifndef PPP_IPV4_SUPPORT
145
#define PPP_IPV4_SUPPORT (LWIP_IPV4)
146
#endif
147
148
/**
149
* PPP_IPV6_SUPPORT==1: Enable PPP IPv6 support
150
*/
151
#ifndef PPP_IPV6_SUPPORT
152
#define PPP_IPV6_SUPPORT (LWIP_IPV6)
153
#endif
154
155
/**
156
* PPP_NOTIFY_PHASE==1: Support PPP notify phase support
157
*
158
* PPP notify phase support allows you to set a callback which is
159
* called on change of the internal PPP state machine.
160
*
161
* This can be used for example to set a LED pattern depending on the
162
* current phase of the PPP session.
163
*/
164
#ifndef PPP_NOTIFY_PHASE
165
#define PPP_NOTIFY_PHASE 0
166
#endif
167
168
/**
169
* pbuf_type PPP is using for LCP, PAP, CHAP, EAP, CCP, IPCP and IP6CP packets.
170
*
171
* Memory allocated must be single buffered for PPP to works, it requires pbuf
172
* that are not going to be chained when allocated. This requires setting
173
* PBUF_POOL_BUFSIZE to at least 512 bytes, which is quite huge for small systems.
174
*
175
* Setting PPP_USE_PBUF_RAM to 1 makes PPP use memory from heap where continuous
176
* buffers are required, allowing you to use a smaller PBUF_POOL_BUFSIZE.
177
*/
178
#ifndef PPP_USE_PBUF_RAM
179
#define PPP_USE_PBUF_RAM 0
180
#endif
181
182
/**
183
* PPP_FCS_TABLE: Keep a 256*2 byte table to speed up FCS calculation for PPPoS
184
*/
185
#ifndef PPP_FCS_TABLE
186
#define PPP_FCS_TABLE 1
187
#endif
188
189
/**
190
* PAP_SUPPORT==1: Support PAP.
191
*/
192
#ifndef PAP_SUPPORT
193
#define PAP_SUPPORT 0
194
#endif
195
196
/**
197
* CHAP_SUPPORT==1: Support CHAP.
198
*/
199
#ifndef CHAP_SUPPORT
200
#define CHAP_SUPPORT 0
201
#endif
202
203
/**
204
* MSCHAP_SUPPORT==1: Support MSCHAP.
205
*/
206
#ifndef MSCHAP_SUPPORT
207
#define MSCHAP_SUPPORT 0
208
#endif
209
#if MSCHAP_SUPPORT
210
/* MSCHAP requires CHAP support */
211
#undef CHAP_SUPPORT
212
#define CHAP_SUPPORT 1
213
#endif
/* MSCHAP_SUPPORT */
214
215
/**
216
* EAP_SUPPORT==1: Support EAP.
217
*/
218
#ifndef EAP_SUPPORT
219
#define EAP_SUPPORT 0
220
#endif
221
222
/**
223
* CCP_SUPPORT==1: Support CCP.
224
*/
225
#ifndef CCP_SUPPORT
226
#define CCP_SUPPORT 0
227
#endif
228
229
/**
230
* MPPE_SUPPORT==1: Support MPPE.
231
*/
232
#ifndef MPPE_SUPPORT
233
#define MPPE_SUPPORT 0
234
#endif
235
#if MPPE_SUPPORT
236
/* MPPE requires CCP support */
237
#undef CCP_SUPPORT
238
#define CCP_SUPPORT 1
239
/* MPPE requires MSCHAP support */
240
#undef MSCHAP_SUPPORT
241
#define MSCHAP_SUPPORT 1
242
/* MSCHAP requires CHAP support */
243
#undef CHAP_SUPPORT
244
#define CHAP_SUPPORT 1
245
#endif
/* MPPE_SUPPORT */
246
247
/**
248
* CBCP_SUPPORT==1: Support CBCP. CURRENTLY NOT SUPPORTED! DO NOT SET!
249
*/
250
#ifndef CBCP_SUPPORT
251
#define CBCP_SUPPORT 0
252
#endif
253
254
/**
255
* ECP_SUPPORT==1: Support ECP. CURRENTLY NOT SUPPORTED! DO NOT SET!
256
*/
257
#ifndef ECP_SUPPORT
258
#define ECP_SUPPORT 0
259
#endif
260
261
/**
262
* DEMAND_SUPPORT==1: Support dial on demand. CURRENTLY NOT SUPPORTED! DO NOT SET!
263
*/
264
#ifndef DEMAND_SUPPORT
265
#define DEMAND_SUPPORT 0
266
#endif
267
268
/**
269
* LQR_SUPPORT==1: Support Link Quality Report. Do nothing except exchanging some LCP packets.
270
*/
271
#ifndef LQR_SUPPORT
272
#define LQR_SUPPORT 0
273
#endif
274
275
/**
276
* PPP_SERVER==1: Enable PPP server support (waiting for incoming PPP session).
277
*
278
* Currently only supported for PPPoS.
279
*/
280
#ifndef PPP_SERVER
281
#define PPP_SERVER 0
282
#endif
283
284
#if PPP_SERVER
285
/*
286
* PPP_OUR_NAME: Our name for authentication purposes
287
*/
288
#ifndef PPP_OUR_NAME
289
#define PPP_OUR_NAME "lwIP"
290
#endif
291
#endif
/* PPP_SERVER */
292
293
/**
294
* VJ_SUPPORT==1: Support VJ header compression.
295
*/
296
#ifndef VJ_SUPPORT
297
#define VJ_SUPPORT 1
298
#endif
299
/* VJ compression is only supported for TCP over IPv4 over PPPoS. */
300
#if !PPPOS_SUPPORT || !PPP_IPV4_SUPPORT || !LWIP_TCP
301
#undef VJ_SUPPORT
302
#define VJ_SUPPORT 0
303
#endif
/* !PPPOS_SUPPORT */
304
305
/**
306
* PPP_MD5_RANDM==1: Use MD5 for better randomness.
307
* Enabled by default if CHAP, EAP, or L2TP AUTH support is enabled.
308
*/
309
#ifndef PPP_MD5_RANDM
310
#define PPP_MD5_RANDM (CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT)
311
#endif
312
313
/**
314
* PolarSSL embedded library
315
*
316
*
317
* lwIP contains some files fetched from the latest BSD release of
318
* the PolarSSL project (PolarSSL 0.10.1-bsd) for ciphers and encryption
319
* methods we need for lwIP PPP support.
320
*
321
* The PolarSSL files were cleaned to contain only the necessary struct
322
* fields and functions needed for lwIP.
323
*
324
* The PolarSSL API was not changed at all, so if you are already using
325
* PolarSSL you can choose to skip the compilation of the included PolarSSL
326
* library into lwIP.
327
*
328
* If you are not using the embedded copy you must include external
329
* libraries into your arch/cc.h port file.
330
*
331
* Beware of the stack requirements which can be a lot larger if you are not
332
* using our cleaned PolarSSL library.
333
*/
334
335
/**
336
* LWIP_USE_EXTERNAL_POLARSSL: Use external PolarSSL library
337
*/
338
#ifndef LWIP_USE_EXTERNAL_POLARSSL
339
#define LWIP_USE_EXTERNAL_POLARSSL 0
340
#endif
341
342
/**
343
* LWIP_USE_EXTERNAL_MBEDTLS: Use external mbed TLS library
344
*/
345
#ifndef LWIP_USE_EXTERNAL_MBEDTLS
346
#define LWIP_USE_EXTERNAL_MBEDTLS 0
347
#endif
348
349
/*
350
* PPP Timeouts
351
*/
352
353
/**
354
* FSM_DEFTIMEOUT: Timeout time in seconds
355
*/
356
#ifndef FSM_DEFTIMEOUT
357
#define FSM_DEFTIMEOUT 6
358
#endif
359
360
/**
361
* FSM_DEFMAXTERMREQS: Maximum Terminate-Request transmissions
362
*/
363
#ifndef FSM_DEFMAXTERMREQS
364
#define FSM_DEFMAXTERMREQS 2
365
#endif
366
367
/**
368
* FSM_DEFMAXCONFREQS: Maximum Configure-Request transmissions
369
*/
370
#ifndef FSM_DEFMAXCONFREQS
371
#define FSM_DEFMAXCONFREQS 10
372
#endif
373
374
/**
375
* FSM_DEFMAXNAKLOOPS: Maximum number of nak loops
376
*/
377
#ifndef FSM_DEFMAXNAKLOOPS
378
#define FSM_DEFMAXNAKLOOPS 5
379
#endif
380
381
/**
382
* UPAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req
383
*/
384
#ifndef UPAP_DEFTIMEOUT
385
#define UPAP_DEFTIMEOUT 6
386
#endif
387
388
/**
389
* UPAP_DEFTRANSMITS: Maximum number of auth-reqs to send
390
*/
391
#ifndef UPAP_DEFTRANSMITS
392
#define UPAP_DEFTRANSMITS 10
393
#endif
394
395
#if PPP_SERVER
396
/**
397
* UPAP_DEFREQTIME: Time to wait for auth-req from peer
398
*/
399
#ifndef UPAP_DEFREQTIME
400
#define UPAP_DEFREQTIME 30
401
#endif
402
#endif
/* PPP_SERVER */
403
404
/**
405
* CHAP_DEFTIMEOUT: Timeout (seconds) for retransmitting req
406
*/
407
#ifndef CHAP_DEFTIMEOUT
408
#define CHAP_DEFTIMEOUT 6
409
#endif
410
411
/**
412
* CHAP_DEFTRANSMITS: max # times to send challenge
413
*/
414
#ifndef CHAP_DEFTRANSMITS
415
#define CHAP_DEFTRANSMITS 10
416
#endif
417
418
#if PPP_SERVER
419
/**
420
* CHAP_DEFRECHALLENGETIME: If this option is > 0, rechallenge the peer every n seconds
421
*/
422
#ifndef CHAP_DEFRECHALLENGETIME
423
#define CHAP_DEFRECHALLENGETIME 0
424
#endif
425
#endif
/* PPP_SERVER */
426
427
/**
428
* EAP_DEFREQTIME: Time to wait for peer request
429
*/
430
#ifndef EAP_DEFREQTIME
431
#define EAP_DEFREQTIME 6
432
#endif
433
434
/**
435
* EAP_DEFALLOWREQ: max # times to accept requests
436
*/
437
#ifndef EAP_DEFALLOWREQ
438
#define EAP_DEFALLOWREQ 10
439
#endif
440
441
#if PPP_SERVER
442
/**
443
* EAP_DEFTIMEOUT: Timeout (seconds) for rexmit
444
*/
445
#ifndef EAP_DEFTIMEOUT
446
#define EAP_DEFTIMEOUT 6
447
#endif
448
449
/**
450
* EAP_DEFTRANSMITS: max # times to transmit
451
*/
452
#ifndef EAP_DEFTRANSMITS
453
#define EAP_DEFTRANSMITS 10
454
#endif
455
#endif
/* PPP_SERVER */
456
457
/**
458
* LCP_DEFLOOPBACKFAIL: Default number of times we receive our magic number from the peer
459
* before deciding the link is looped-back.
460
*/
461
#ifndef LCP_DEFLOOPBACKFAIL
462
#define LCP_DEFLOOPBACKFAIL 10
463
#endif
464
465
/**
466
* LCP_ECHOINTERVAL: Interval in seconds between keepalive echo requests, 0 to disable.
467
*/
468
#ifndef LCP_ECHOINTERVAL
469
#define LCP_ECHOINTERVAL 0
470
#endif
471
472
/**
473
* LCP_MAXECHOFAILS: Number of unanswered echo requests before failure.
474
*/
475
#ifndef LCP_MAXECHOFAILS
476
#define LCP_MAXECHOFAILS 3
477
#endif
478
479
/**
480
* PPP_MAXIDLEFLAG: Max Xmit idle time (in ms) before resend flag char.
481
*/
482
#ifndef PPP_MAXIDLEFLAG
483
#define PPP_MAXIDLEFLAG 100
484
#endif
485
486
/**
487
* PPP Packet sizes
488
*/
489
490
/**
491
* PPP_MRU: Default MRU
492
*/
493
#ifndef PPP_MRU
494
#define PPP_MRU 1500
495
#endif
496
497
/**
498
* PPP_DEFMRU: Default MRU to try
499
*/
500
#ifndef PPP_DEFMRU
501
#define PPP_DEFMRU 1500
502
#endif
503
504
/**
505
* PPP_MAXMRU: Normally limit MRU to this (pppd default = 16384)
506
*/
507
#ifndef PPP_MAXMRU
508
#define PPP_MAXMRU 1500
509
#endif
510
511
/**
512
* PPP_MINMRU: No MRUs below this
513
*/
514
#ifndef PPP_MINMRU
515
#define PPP_MINMRU 128
516
#endif
517
518
/**
519
* PPPOL2TP_DEFMRU: Default MTU and MRU for L2TP
520
* Default = 1500 - PPPoE(6) - PPP Protocol(2) - IPv4 header(20) - UDP Header(8)
521
* - L2TP Header(6) - HDLC Header(2) - PPP Protocol(2) - MPPE Header(2) - PPP Protocol(2)
522
*/
523
#if PPPOL2TP_SUPPORT
524
#ifndef PPPOL2TP_DEFMRU
525
#define PPPOL2TP_DEFMRU 1450
526
#endif
527
#endif
/* PPPOL2TP_SUPPORT */
528
529
/**
530
* MAXNAMELEN: max length of hostname or name for auth
531
*/
532
#ifndef MAXNAMELEN
533
#define MAXNAMELEN 256
534
#endif
535
536
/**
537
* MAXSECRETLEN: max length of password or secret
538
*/
539
#ifndef MAXSECRETLEN
540
#define MAXSECRETLEN 256
541
#endif
542
543
/* ------------------------------------------------------------------------- */
544
545
/*
546
* Build triggers for embedded PolarSSL
547
*/
548
#if !LWIP_USE_EXTERNAL_POLARSSL && !LWIP_USE_EXTERNAL_MBEDTLS
549
550
/* CHAP, EAP, L2TP AUTH and MD5 Random require MD5 support */
551
#if CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM
552
#define LWIP_INCLUDED_POLARSSL_MD5 1
553
#endif
/* CHAP_SUPPORT || EAP_SUPPORT || PPPOL2TP_AUTH_SUPPORT || PPP_MD5_RANDM */
554
555
#if MSCHAP_SUPPORT
556
557
/* MSCHAP require MD4 support */
558
#define LWIP_INCLUDED_POLARSSL_MD4 1
559
/* MSCHAP require SHA1 support */
560
#define LWIP_INCLUDED_POLARSSL_SHA1 1
561
/* MSCHAP require DES support */
562
#define LWIP_INCLUDED_POLARSSL_DES 1
563
564
/* MS-CHAP support is required for MPPE */
565
#if MPPE_SUPPORT
566
/* MPPE require ARC4 support */
567
#define LWIP_INCLUDED_POLARSSL_ARC4 1
568
#endif
/* MPPE_SUPPORT */
569
570
#endif
/* MSCHAP_SUPPORT */
571
572
#endif
/* !LWIP_USE_EXTERNAL_POLARSSL && !LWIP_USE_EXTERNAL_MBEDTLS */
573
574
/* Default value if unset */
575
#ifndef LWIP_INCLUDED_POLARSSL_MD4
576
#define LWIP_INCLUDED_POLARSSL_MD4 0
577
#endif
/* LWIP_INCLUDED_POLARSSL_MD4 */
578
#ifndef LWIP_INCLUDED_POLARSSL_MD5
579
#define LWIP_INCLUDED_POLARSSL_MD5 0
580
#endif
/* LWIP_INCLUDED_POLARSSL_MD5 */
581
#ifndef LWIP_INCLUDED_POLARSSL_SHA1
582
#define LWIP_INCLUDED_POLARSSL_SHA1 0
583
#endif
/* LWIP_INCLUDED_POLARSSL_SHA1 */
584
#ifndef LWIP_INCLUDED_POLARSSL_DES
585
#define LWIP_INCLUDED_POLARSSL_DES 0
586
#endif
/* LWIP_INCLUDED_POLARSSL_DES */
587
#ifndef LWIP_INCLUDED_POLARSSL_ARC4
588
#define LWIP_INCLUDED_POLARSSL_ARC4 0
589
#endif
/* LWIP_INCLUDED_POLARSSL_ARC4 */
590
591
#endif
/* PPP_SUPPORT */
592
593
#endif
/* LWIP_PPP_OPTS_H */
opt.h
Prusa-Firmware-Buddy-Private1
lib
Middlewares
Third_Party
LwIP
src
include
netif
ppp
ppp_opts.h
Generated by
1.8.16