Dependents:   Nucleo

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers net_config.h Source File

net_config.h

00001 /**
00002  * @file net_config.h
00003  * @brief CycloneTCP configuration file
00004  *
00005  * @section License
00006  *
00007  * Copyright (C) 2010-2017 Oryx Embedded SARL. All rights reserved.
00008  *
00009  * This file is part of CycloneTCP Open.
00010  *
00011  * This program is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU General Public License
00013  * as published by the Free Software Foundation; either version 2
00014  * of the License, or (at your option) any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  * GNU General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU General Public License
00022  * along with this program; if not, write to the Free Software Foundation,
00023  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00024  *
00025  * @author Oryx Embedded SARL (www.oryx-embedded.com)
00026  * @version 1.7.6
00027  **/
00028 
00029 #ifndef _NET_CONFIG_H
00030 #define _NET_CONFIG_H
00031 
00032 //Trace level for TCP/IP stack debugging
00033 #define MEM_TRACE_LEVEL          4
00034 #define NIC_TRACE_LEVEL          4
00035 #define ETH_TRACE_LEVEL          2
00036 #define ARP_TRACE_LEVEL          2
00037 #define IP_TRACE_LEVEL           2
00038 #define IPV4_TRACE_LEVEL         2
00039 #define IPV6_TRACE_LEVEL         2
00040 #define ICMP_TRACE_LEVEL         2
00041 #define IGMP_TRACE_LEVEL         2
00042 #define ICMPV6_TRACE_LEVEL       2
00043 #define MLD_TRACE_LEVEL          2
00044 #define NDP_TRACE_LEVEL          2
00045 #define UDP_TRACE_LEVEL          2
00046 #define TCP_TRACE_LEVEL          2
00047 #define SOCKET_TRACE_LEVEL       2
00048 #define RAW_SOCKET_TRACE_LEVEL   2
00049 #define BSD_SOCKET_TRACE_LEVEL   2
00050 #define WEB_SOCKET_TRACE_LEVEL   2
00051 #define SLAAC_TRACE_LEVEL        4
00052 #define DHCP_TRACE_LEVEL         4
00053 #define DHCPV6_TRACE_LEVEL       4
00054 #define DNS_TRACE_LEVEL          4
00055 #define MDNS_TRACE_LEVEL         4
00056 #define NBNS_TRACE_LEVEL         2
00057 #define LLMNR_TRACE_LEVEL        4
00058 #define FTP_TRACE_LEVEL          5
00059 #define HTTP_TRACE_LEVEL         4
00060 #define MQTT_TRACE_LEVEL         4
00061 #define SMTP_TRACE_LEVEL         5
00062 #define SNTP_TRACE_LEVEL         4
00063 #define STD_SERVICES_TRACE_LEVEL 5
00064 
00065 //Number of network adapters
00066 #define NET_INTERFACE_COUNT 1
00067 
00068 //Size of the multicast MAC filter
00069 #define MAC_MULTICAST_FILTER_SIZE 12
00070 
00071 //IPv4 support
00072 #define IPV4_SUPPORT ENABLED
00073 //Size of the IPv4 multicast filter
00074 #define IPV4_MULTICAST_FILTER_SIZE 4
00075 
00076 //IPv4 fragmentation support
00077 #define IPV4_FRAG_SUPPORT ENABLED
00078 //Maximum number of fragmented packets the host will accept
00079 //and hold in the reassembly queue simultaneously
00080 #define IPV4_MAX_FRAG_DATAGRAMS 4
00081 //Maximum datagram size the host will accept when reassembling fragments
00082 #define IPV4_MAX_FRAG_DATAGRAM_SIZE 8192
00083 
00084 //Size of ARP cache
00085 #define ARP_CACHE_SIZE 8
00086 //Maximum number of packets waiting for address resolution to complete
00087 #define ARP_MAX_PENDING_PACKETS 2
00088 
00089 //IGMP support
00090 #define IGMP_SUPPORT ENABLED
00091 
00092 //IPv6 support
00093 #define IPV6_SUPPORT ENABLED
00094 //Size of the IPv6 multicast filter
00095 #define IPV6_MULTICAST_FILTER_SIZE 8
00096 
00097 //IPv6 fragmentation support
00098 #define IPV6_FRAG_SUPPORT ENABLED
00099 //Maximum number of fragmented packets the host will accept
00100 //and hold in the reassembly queue simultaneously
00101 #define IPV6_MAX_FRAG_DATAGRAMS 4
00102 //Maximum datagram size the host will accept when reassembling fragments
00103 #define IPV6_MAX_FRAG_DATAGRAM_SIZE 8192
00104 
00105 //MLD support
00106 #define MLD_SUPPORT ENABLED
00107 
00108 //Neighbor cache size
00109 #define NDP_NEIGHBOR_CACHE_SIZE 8
00110 //Destination cache size
00111 #define NDP_DEST_CACHE_SIZE 8
00112 //Maximum number of packets waiting for address resolution to complete
00113 #define NDP_MAX_PENDING_PACKETS 2
00114 
00115 //TCP support
00116 #define TCP_SUPPORT ENABLED
00117 //Default buffer size for transmission
00118 #define TCP_DEFAULT_TX_BUFFER_SIZE (1430*2)
00119 //Default buffer size for reception
00120 #define TCP_DEFAULT_RX_BUFFER_SIZE (1430*2)
00121 //Default SYN queue size for listening sockets
00122 #define TCP_DEFAULT_SYN_QUEUE_SIZE 4
00123 //Maximum number of retransmissions
00124 #define TCP_MAX_RETRIES 5
00125 //Selective acknowledgment support
00126 #define TCP_SACK_SUPPORT DISABLED
00127 
00128 //UDP support
00129 #define UDP_SUPPORT ENABLED
00130 //Receive queue depth for connectionless sockets
00131 #define UDP_RX_QUEUE_SIZE 4
00132 
00133 //Raw socket support
00134 #define RAW_SOCKET_SUPPORT DISABLED
00135 //Receive queue depth for raw sockets
00136 #define RAW_SOCKET_RX_QUEUE_SIZE 4
00137 
00138 //Number of sockets that can be opened simultaneously
00139 #define SOCKET_MAX_COUNT 10
00140 
00141 //WebSocket support
00142 #define WEB_SOCKET_SUPPORT ENABLED
00143 //Support for WebSocket connections over SSL/TLS
00144 #define WEB_SOCKET_TLS_SUPPORT ENABLED
00145 
00146 //MQTT over SSL/TLS
00147 #define MQTT_CLIENT_TLS_SUPPORT ENABLED
00148 //MQTT over WebSocket
00149 #define MQTT_CLIENT_WS_SUPPORT ENABLED
00150 
00151 #endif
00152