Embedded TCP/IP stack
4.7.0
fnet_stack_config.h
1
/**************************************************************************
2
*
3
* Copyright 2008-2018 by Andrey Butok. FNET Community
4
*
5
***************************************************************************
6
*
7
* Licensed under the Apache License, Version 2.0 (the "License"); you may
8
* not use this file except in compliance with the License.
9
* You may obtain a copy of the License at
10
*
11
* http://www.apache.org/licenses/LICENSE-2.0
12
*
13
* Unless required by applicable law or agreed to in writing, software
14
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
* See the License for the specific language governing permissions and
17
* limitations under the License.
18
*
19
***************************************************************************
20
*
21
* Main TCP/IP stack default configuration file.
22
*
23
***************************************************************************/
24
25
/************************************************************************
26
* !!!DO NOT MODIFY THIS FILE!!!
27
************************************************************************/
28
29
#ifndef _FNET_STACK_CONFIG_H_
30
31
#define _FNET_STACK_CONFIG_H_
32
33
/*****************************************************************************
34
* IP6-specific parameters.
35
******************************************************************************/
39
/**************************************************************************/
48
#ifndef FNET_CFG_IP6
49
#define FNET_CFG_IP6 (0)
50
#endif
51
52
/**************************************************************************/
61
#ifndef FNET_CFG_ND6_NEIGHBOR_CACHE_SIZE
62
#define FNET_CFG_ND6_NEIGHBOR_CACHE_SIZE (5u)
63
#endif
64
65
/**************************************************************************/
70
#ifndef FNET_CFG_ND6_PREFIX_LIST_SIZE
71
#define FNET_CFG_ND6_PREFIX_LIST_SIZE (4u)
72
#endif
73
74
/**************************************************************************/
82
#ifndef FNET_CFG_ND6_ROUTER_LIST_SIZE
83
#define FNET_CFG_ND6_ROUTER_LIST_SIZE (2u)
84
#endif
85
86
/**************************************************************************/
97
#ifndef FNET_CFG_ND6_DAD_TRANSMITS
98
#define FNET_CFG_ND6_DAD_TRANSMITS (1u)
99
#endif
100
101
/**************************************************************************/
110
#ifndef FNET_CFG_ND6_RDNSS
111
#define FNET_CFG_ND6_RDNSS (1)
112
#endif
113
114
/**************************************************************************/
123
#ifndef FNET_CFG_ND6_RDNSS_LIST_SIZE
124
#define FNET_CFG_ND6_RDNSS_LIST_SIZE (3u)
125
#endif
126
127
/**************************************************************************/
137
#ifndef FNET_CFG_IP6_FRAGMENTATION
138
#define FNET_CFG_IP6_FRAGMENTATION (1)
139
#endif
140
141
/**************************************************************************/
148
#ifndef FNET_CFG_IP6_PMTU_DISCOVERY
149
#define FNET_CFG_IP6_PMTU_DISCOVERY (1)
150
#endif
151
152
/**************************************************************************/
157
#ifndef FNET_CFG_NETIF_IP6_ADDR_MAX
158
#define FNET_CFG_NETIF_IP6_ADDR_MAX (5u)
159
#endif
160
161
/**************************************************************************/
170
#ifndef FNET_CFG_MLD
171
#define FNET_CFG_MLD (0)
172
#endif
173
174
180
/**************************************************************************/
189
#ifndef FNET_CFG_IP4
190
#define FNET_CFG_IP4 (1)
191
#endif
192
193
/**************************************************************************/
203
#ifndef FNET_CFG_IP4_FRAGMENTATION
204
#define FNET_CFG_IP4_FRAGMENTATION (0)
205
#endif
206
207
/**************************************************************************/
214
#ifndef FNET_CFG_LOOPBACK_IP4_ADDR
215
#define FNET_CFG_LOOPBACK_IP4_ADDR (FNET_IP4_ADDR_INIT(127U, 0U, 0U, 1U))
216
#endif
217
218
/**************************************************************************/
226
#ifndef FNET_CFG_IGMP
227
#define FNET_CFG_IGMP (0)
228
#endif
229
230
/**************************************************************************/
238
#ifndef FNET_CFG_IGMP_VERSION
239
#define FNET_CFG_IGMP_VERSION (2)
240
#endif
241
247
/*****************************************************************************
248
* TCP/IP stack general parameters.
249
******************************************************************************/
250
251
/**************************************************************************/
261
#ifndef FNET_CFG_ASSET
262
#define FNET_CFG_ASSET (0)
263
#endif
264
265
/**************************************************************************/
275
#ifndef FNET_CFG_TCP
276
#define FNET_CFG_TCP (1)
277
#endif
278
279
/**************************************************************************/
286
#ifndef FNET_CFG_LOOPBACK
287
#define FNET_CFG_LOOPBACK (0)
288
#endif
289
290
/**************************************************************************/
295
#ifndef FNET_CFG_LOOPBACK_NAME
296
#define FNET_CFG_LOOPBACK_NAME "loop"
297
#endif
298
299
/**************************************************************************/
310
#ifndef FNET_CFG_LOOPBACK_MULTICAST
311
#define FNET_CFG_LOOPBACK_MULTICAST (0)
312
#endif
313
314
/**************************************************************************/
325
#ifndef FNET_CFG_LOOPBACK_BROADCAST
326
#define FNET_CFG_LOOPBACK_BROADCAST (0)
327
#endif
328
329
/**************************************************************************/
335
#ifndef FNET_CFG_LOOPBACK_MTU
336
#define FNET_CFG_LOOPBACK_MTU (1576U)
337
#endif
338
339
/**************************************************************************/
348
#ifndef FNET_CFG_MULTICAST
349
#define FNET_CFG_MULTICAST (1)
350
#endif
351
352
/**************************************************************************/
360
#ifndef FNET_CFG_MULTICAST_MAX
361
#define FNET_CFG_MULTICAST_MAX (10u)
362
#endif
363
364
/**************************************************************************/
371
#ifndef FNET_CFG_MULTICAST_SOCKET_MAX
372
#define FNET_CFG_MULTICAST_SOCKET_MAX (1u)
373
#endif
374
375
/**************************************************************************/
380
#ifndef FNET_CFG_ARP_TABLE_SIZE
381
#define FNET_CFG_ARP_TABLE_SIZE (10U)
382
#endif
383
384
/**************************************************************************/
391
#ifndef FNET_CFG_ARP_EXPIRE_TIMEOUT
392
#define FNET_CFG_ARP_EXPIRE_TIMEOUT (1200U)
393
#endif
394
395
/**************************************************************************/
404
#ifndef FNET_CFG_TCP_DISCARD_OUT_OF_ORDER
405
#define FNET_CFG_TCP_DISCARD_OUT_OF_ORDER (0)
406
#endif
407
408
/**************************************************************************/
416
#ifndef FNET_CFG_TCP_URGENT
417
#define FNET_CFG_TCP_URGENT (0)
418
#endif
419
420
/**************************************************************************/
430
#ifndef FNET_CFG_UDP
431
#define FNET_CFG_UDP (1)
432
#endif
433
434
/**************************************************************************/
446
#ifndef FNET_CFG_UDP_CHECKSUM
447
#define FNET_CFG_UDP_CHECKSUM (1)
448
#endif
449
450
/**************************************************************************/
457
#ifndef FNET_CFG_RAW
458
#define FNET_CFG_RAW (1)
459
#endif
460
461
462
/*****************************************************************************
463
* TCP/IP stack parameters.
464
******************************************************************************/
465
466
/**************************************************************************/
476
#ifndef FNET_CFG_MULTITHREADING
477
#define FNET_CFG_MULTITHREADING (0)
478
#endif
479
480
/**************************************************************************/
485
#ifndef FNET_CFG_SOCKET_MAX
486
#define FNET_CFG_SOCKET_MAX (12U)
487
#endif
488
489
/**************************************************************************/
496
#ifndef FNET_CFG_SOCKET_BSD_NAMES
497
#define FNET_CFG_SOCKET_BSD_NAMES (1)
498
#endif
499
500
/**************************************************************************/
511
#ifndef FNET_CFG_SOCKET_CALLBACK_ON_RX
512
#define FNET_CFG_SOCKET_CALLBACK_ON_RX (0U)
513
#endif
514
515
/**************************************************************************/
540
#ifndef FNET_CFG_SOCKET_TCP_MSS
541
#define FNET_CFG_SOCKET_TCP_MSS (0u)
542
#endif
543
544
/**************************************************************************/
551
#ifndef FNET_CFG_SOCKET_TCP_TX_BUF_SIZE
552
#define FNET_CFG_SOCKET_TCP_TX_BUF_SIZE (2U * 1024U)
553
#endif
554
555
/**************************************************************************/
562
#ifndef FNET_CFG_SOCKET_TCP_RX_BUF_SIZE
563
#define FNET_CFG_SOCKET_TCP_RX_BUF_SIZE (2U * 1024U)
564
#endif
565
566
/**************************************************************************/
573
#ifndef FNET_CFG_SOCKET_UDP_TX_BUF_SIZE
574
#define FNET_CFG_SOCKET_UDP_TX_BUF_SIZE (2U * 1024U)
575
#endif
576
577
/**************************************************************************/
584
#ifndef FNET_CFG_SOCKET_UDP_RX_BUF_SIZE
585
#define FNET_CFG_SOCKET_UDP_RX_BUF_SIZE (2U * 1024U)
586
#endif
587
588
/**************************************************************************/
595
#ifndef FNET_CFG_SOCKET_RAW_TX_BUF_SIZE
596
#define FNET_CFG_SOCKET_RAW_TX_BUF_SIZE (2U * 1024U)
597
#endif
598
599
/**************************************************************************/
606
#ifndef FNET_CFG_SOCKET_RAW_RX_BUF_SIZE
607
#define FNET_CFG_SOCKET_RAW_RX_BUF_SIZE (2U * 1024U)
608
#endif
609
610
/**************************************************************************/
617
#ifndef FNET_CFG_IP_MAX_PACKET
618
#define FNET_CFG_IP_MAX_PACKET (10U*1024U)
619
#endif
620
621
/**************************************************************************/
631
#ifndef FNET_CFG_TIMER_ALT
632
#define FNET_CFG_TIMER_ALT (0)
633
#endif
634
635
/**************************************************************************/
645
#ifndef FNET_CFG_TIME
646
#define FNET_CFG_TIME (0)
647
#endif
648
649
/**************************************************************************/
656
#ifndef FNET_CFG_ASSERT
657
#define FNET_CFG_ASSERT (0U)
658
#endif
659
660
/*****************************************************************************
661
* Function Overload
662
*****************************************************************************/
663
#ifndef FNET_CFG_OVERLOAD_CHECKSUM_LOW
664
#define FNET_CFG_OVERLOAD_CHECKSUM_LOW (0)
665
#endif
666
667
/**************************************************************************/
679
#ifndef FNET_CFG_OVERLOAD_MEMCPY
680
#define FNET_CFG_OVERLOAD_MEMCPY (0)
681
#endif
682
683
/* IPv4 and/or IPv6 must enaqbled.*/
684
#if !FNET_CFG_IP4 && !FNET_CFG_IP6
685
#error "Please enable IPv4 or/and IPv6, by FNET_CFG_IP4 or/and FNET_CFG_IP6."
686
#endif
687
688
/*****************************************************************************
689
* DEBUGING INFO OUTPUT
690
*****************************************************************************/
691
692
/**************************************************************************/
699
#ifndef FNET_CFG_DEBUG
700
#define FNET_CFG_DEBUG (0)
701
#endif
702
703
#ifndef FNET_CFG_DEBUG_AUTOIP
704
#define FNET_CFG_DEBUG_AUTOIP (0)
705
#endif
706
707
#ifndef FNET_CFG_DEBUG_TIMER
/* It will be printed to the UART '!' sign every second. */
708
#define FNET_CFG_DEBUG_TIMER (0)
709
#endif
710
711
#ifndef FNET_CFG_DEBUG_HTTP
712
#define FNET_CFG_DEBUG_HTTP (0)
713
#endif
714
715
#ifndef FNET_CFG_DEBUG_DHCP_CLN
716
#define FNET_CFG_DEBUG_DHCP_CLN (0)
717
#endif
718
719
#ifndef FNET_CFG_DEBUG_DHCP_SRV
720
#define FNET_CFG_DEBUG_DHCP_SRV (0)
721
#endif
722
723
#ifndef FNET_CFG_DEBUG_ARP
724
#define FNET_CFG_DEBUG_ARP (0)
725
#endif
726
727
#ifndef FNET_CFG_DEBUG_MEMPOOL
728
#define FNET_CFG_DEBUG_MEMPOOL (0)
729
#endif
730
731
#ifndef FNET_CFG_DEBUG_TFTP_CLN
732
#define FNET_CFG_DEBUG_TFTP_CLN (0)
733
#endif
734
735
#ifndef FNET_CFG_DEBUG_TFTP_SRV
736
#define FNET_CFG_DEBUG_TFTP_SRV (0)
737
#endif
738
739
#ifndef FNET_CFG_DEBUG_STACK
740
#define FNET_CFG_DEBUG_STACK (0)
741
#endif
742
743
#ifndef FNET_CFG_DEBUG_TELNET
744
#define FNET_CFG_DEBUG_TELNET (0)
745
#endif
746
747
#ifndef FNET_CFG_DEBUG_SHELL
748
#define FNET_CFG_DEBUG_SHELL (0)
749
#endif
750
751
#ifndef FNET_CFG_DEBUG_DNS
752
#define FNET_CFG_DEBUG_DNS (0)
753
#endif
754
755
#ifndef FNET_CFG_DEBUG_DNS
756
#define FNET_CFG_DEBUG_DNS (0)
757
#endif
758
759
#ifndef FNET_CFG_DEBUG_AZURE
760
#define FNET_CFG_DEBUG_AZURE (0)
761
#endif
762
763
#ifndef FNET_CFG_DEBUG_IP6
764
#define FNET_CFG_DEBUG_IP6 (0)
765
#endif
766
767
#ifndef FNET_CFG_DEBUG_LINK
768
#define FNET_CFG_DEBUG_LINK (0)
769
#endif
770
771
#ifndef FNET_CFG_DEBUG_LLMNR
772
#define FNET_CFG_DEBUG_LLMNR (0)
773
#endif
774
775
#ifndef FNET_CFG_DEBUG_MDNS
776
#define FNET_CFG_DEBUG_MDNS (0)
777
#endif
778
779
#ifndef FNET_CFG_DEBUG_PING
780
#define FNET_CFG_DEBUG_PING (0)
781
#endif
782
783
#ifndef FNET_CFG_DEBUG_SNTP
784
#define FNET_CFG_DEBUG_SNTP (0)
785
#endif
786
787
#ifndef FNET_CFG_DEBUG_QCA
788
#define FNET_CFG_DEBUG_QCA (0)
789
#endif
790
791
#ifndef FNET_CFG_DEBUG_ENET
792
#define FNET_CFG_DEBUG_ENET (0)
793
#endif
794
795
#ifndef FNET_CFG_DEBUG_TRACE
796
#define FNET_CFG_DEBUG_TRACE (0)
797
#endif
798
799
#ifndef FNET_CFG_DEBUG_TRACE_IP4
800
#define FNET_CFG_DEBUG_TRACE_IP4 (0)
801
#endif
802
803
#ifndef FNET_CFG_DEBUG_TRACE_ICMP4
804
#define FNET_CFG_DEBUG_TRACE_ICMP4 (0)
805
#endif
806
807
#ifndef FNET_CFG_DEBUG_TRACE_IGMP
808
#define FNET_CFG_DEBUG_TRACE_IGMP (0)
809
#endif
810
811
#ifndef FNET_CFG_DEBUG_TRACE_ETH
812
#define FNET_CFG_DEBUG_TRACE_ETH (0)
813
#endif
814
815
#ifndef FNET_CFG_DEBUG_TRACE_ARP
816
#define FNET_CFG_DEBUG_TRACE_ARP (0)
817
#endif
818
819
#ifndef FNET_CFG_DEBUG_TRACE_UDP
820
#define FNET_CFG_DEBUG_TRACE_UDP (0)
821
#endif
822
823
#ifndef FNET_CFG_DEBUG_TRACE_TCP
824
#define FNET_CFG_DEBUG_TRACE_TCP (0)
825
#endif
826
827
/******************************************************************************
828
* Obsolete configuration parameters
829
******************************************************************************/
830
#ifdef FNET_CFG_ETH_IP4_ADDR
831
#error "FNET_CFG_ETH_IP4_ADDR parameter is obsolete. It is user application parameter now."
832
#endif
833
#ifdef FNET_CFG_ETH_IP4_MASK
834
#error "FNET_CFG_ETH_IP4_MASK parameter is obsolete. It is user application parameter now."
835
#endif
836
#ifdef FNET_CFG_ETH_IP4_GW
837
#error "FNET_CFG_ETH_IP4_GW parameter is obsolete. It is user application parameter now."
838
#endif
839
#ifdef FNET_CFG_ETH_IP4_DNS
840
#error "FNET_CFG_ETH_IP4_DNS parameter is obsolete. It is user application parameter now."
841
#endif
842
#ifdef FNET_CFG_ETH_MAC_ADDR
843
#error "FNET_CFG_ETH_MAC_ADDR parameter is obsolete. It is user application parameter now."
844
#endif
845
#ifdef FNET_CFG_ETH
846
#error "FNET_CFG_ETH parameter is obsolete."
847
#endif
848
#ifdef FNET_CFG_ETH_MTU
849
#error "FNET_CFG_ETH_MTU parameter is obsolete."
850
#endif
851
#ifdef FNET_CFG_ETH0_IP4_ADDR
852
#error "FNET_CFG_ETH0_IP4_ADDR parameter is obsolete. It is user application parameter now."
853
#endif
854
#ifdef FNET_CFG_ETH0_IP4_MASK
855
#error "FNET_CFG_ETH0_IP4_MASK parameter is obsolete. It is user application parameter now."
856
#endif
857
#ifdef FNET_CFG_ETH0_IP4_GW
858
#error "FNET_CFG_ETH0_IP4_GW parameter is obsolete. It is user application parameter now."
859
#endif
860
#ifdef FNET_CFG_ETH0_IP4_DNS
861
#error "FNET_CFG_ETH0_IP4_DNS parameter is obsolete. It is user application parameter now."
862
#endif
863
#ifdef FNET_CFG_ETH1_IP4_ADDR
864
#error "FNET_CFG_ETH1_IP4_ADDR parameter is obsolete. It is user application parameter now."
865
#endif
866
#ifdef FNET_CFG_ETH1_IP4_MASK
867
#error "FNET_CFG_ETH1_IP4_MASK parameter is obsolete. It is user application parameter now."
868
#endif
869
#ifdef FNET_CFG_ETH1_IP4_GW
870
#error "FNET_CFG_ETH1_IP4_GW parameter is obsolete. It is user application parameter now."
871
#endif
872
#ifdef FNET_CFG_ETH1_IP4_DNS
873
#error "FNET_CFG_ETH1_IP4_DNS parameter is obsolete. It is user application parameter now."
874
#endif
875
#ifdef FNET_CFG_DEFAULT_IF
876
#error "FNET_CFG_DEFAULT_IF parameter is obsolete. It is user application parameter now."
877
#endif
878
#ifdef FNET_CFG_HEAP_SIZE
879
#error "FNET_CFG_HEAP_SIZE parameter is obsolete. It is user application parameter now."
880
#endif
881
884
#endif
© 2005-2020 by Andrej Butok.
http://fnet.sourceforge.net