BeRTOS
|
Configuration file for the lwIP TCP/IP stack module. More...
Go to the source code of this file.
Defines | |
#define | SYS_LIGHTWEIGHT_PROT 1 |
SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain critical regions during buffer allocation, deallocation and memory allocation and deallocation. | |
#define | NO_SYS 0 |
NO_SYS==1: Provides VERY minimal functionality. | |
#define | MEMCPY(dst, src, len) memcpy(dst,src,len) |
MEMCPY: override this if you have a faster implementation at hand than the one included in your C library. | |
#define | SMEMCPY(dst, src, len) memcpy(dst,src,len) |
SMEMCPY: override this with care! Some compilers (e.g. | |
#define | MEM_LIBC_MALLOC 0 |
MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library instead of the lwip internal allocator. | |
#define | MEMP_MEM_MALLOC 0 |
Use mem_malloc/mem_free instead of the lwip pool allocator. | |
#define | MEM_ALIGNMENT 4 |
MEM_ALIGNMENT: should be set to the alignment of the CPU. | |
#define | MEM_SIZE 1600 |
The size of the lwIP heap memory. | |
#define | MEMP_OVERFLOW_CHECK 0 |
Dynamic pool memory overflow protection check level. | |
#define | MEMP_SANITY_CHECK 0 |
Run a sanity check after each memp_free(). | |
#define | MEM_USE_POOLS 0 |
MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set of memory pools of various sizes. | |
#define | MEM_USE_POOLS_TRY_BIGGER_POOL 0 |
MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more reliable. | |
#define | MEMP_USE_CUSTOM_POOLS 0 |
MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h that defines additional pools beyond the "standard" ones required by lwIP. | |
#define | LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 |
Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from interrupt context (or another context that doesn't allow waiting for a semaphore). | |
#define | MEMP_NUM_PBUF 16 |
MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF). | |
#define | MEMP_NUM_RAW_PCB 4 |
MEMP_NUM_RAW_PCB: Number of raw connection PCBs (requires the LWIP_RAW option) | |
#define | MEMP_NUM_UDP_PCB 4 |
MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks. | |
#define | MEMP_NUM_TCP_PCB 5 |
MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections. | |
#define | MEMP_NUM_TCP_PCB_LISTEN 8 |
MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. | |
#define | MEMP_NUM_TCP_SEG 16 |
MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. | |
#define | MEMP_NUM_REASSDATA 5 |
MEMP_NUM_REASSDATA: the number of simultaneously IP packets queued for reassembly (whole packets, not fragments!) | |
#define | MEMP_NUM_ARP_QUEUE 30 |
MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing packets (pbufs) that are waiting for an ARP request (to resolve their destination address) to finish. | |
#define | MEMP_NUM_IGMP_GROUP 8 |
MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces can be members et the same time (one per netif - allsystems group -, plus one per netif membership). | |
#define | MEMP_NUM_SYS_TIMEOUT 8 |
MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts. | |
#define | MEMP_NUM_NETBUF 2 |
MEMP_NUM_NETBUF: the number of struct netbufs. | |
#define | MEMP_NUM_NETCONN 4 |
MEMP_NUM_NETCONN: the number of struct netconns. | |
#define | MEMP_NUM_TCPIP_MSG_API 8 |
MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used for callback/timeout API communication. | |
#define | MEMP_NUM_TCPIP_MSG_INPKT 8 |
MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used for incoming packets. | |
#define | PBUF_POOL_SIZE 16 |
PBUF_POOL_SIZE: the number of buffers in the pbuf pool. | |
#define | LWIP_ARP 1 |
LWIP_ARP==1: Enable ARP functionality. | |
#define | ARP_TABLE_SIZE 10 |
ARP_TABLE_SIZE: Number of active MAC-IP address pairs cached. | |
#define | ARP_QUEUEING 1 |
ARP_QUEUEING==1: Outgoing packets are queued during hardware address resolution. | |
#define | ETHARP_TRUST_IP_MAC 1 |
ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be updated with the source MAC and IP addresses supplied in the packet. | |
#define | ETHARP_SUPPORT_VLAN 0 |
ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header. | |
#define | IP_FORWARD 0 |
IP_FORWARD==1: Enables the ability to forward IP packets across network interfaces. | |
#define | IP_OPTIONS_ALLOWED 1 |
IP_OPTIONS_ALLOWED: Defines the behavior for IP options. | |
#define | IP_REASSEMBLY 1 |
Reassemble incoming fragmented IP packets. | |
#define | IP_FRAG 1 |
Fragment outgoing IP packets if their size exceeds MTU. | |
#define | IP_REASS_MAXAGE 3 |
IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) a fragmented IP packet waits for all fragments to arrive. | |
#define | IP_REASS_MAX_PBUFS 10 |
IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. | |
#define | IP_FRAG_USES_STATIC_BUF 1 |
IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP fragmentation. | |
#define | IP_FRAG_MAX_MTU 1500 |
IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer (requires IP_FRAG_USES_STATIC_BUF==1) | |
#define | IP_DEFAULT_TTL 255 |
IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers. | |
#define | IP_SOF_BROADCAST 0 |
IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast filter per pcb on udp and raw send operations. | |
#define | IP_SOF_BROADCAST_RECV 0 |
IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast filter on recv operations. | |
#define | LWIP_ICMP 1 |
Enable ICMP module inside the IP stack. | |
#define | ICMP_TTL (IP_DEFAULT_TTL) |
ICMP_TTL: Default value for Time-To-Live used by ICMP packets. | |
#define | LWIP_BROADCAST_PING 0 |
LWIP_BROADCAST_PING==1: respond to broadcast pings (default is unicast only) | |
#define | LWIP_MULTICAST_PING 0 |
LWIP_MULTICAST_PING==1: respond to multicast pings (default is unicast only) | |
#define | LWIP_RAW 1 |
Enable application layer to hook into the IP layer itself. | |
#define | RAW_TTL (IP_DEFAULT_TTL) |
LWIP_RAW==1: Enable application layer to hook into the IP layer itself. | |
#define | LWIP_DHCP 1 |
Enable DHCP module. | |
#define | DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP)) |
DHCP_DOES_ARP_CHECK==1: Do an ARP check on the offered address. | |
#define | LWIP_AUTOIP 0 |
LWIP_AUTOIP==1: Enable AUTOIP module. | |
#define | LWIP_DHCP_AUTOIP_COOP 0 |
LWIP_DHCP_AUTOIP_COOP==1: Allow DHCP and AUTOIP to be both enabled on the same interface at the same time. | |
#define | LWIP_DHCP_AUTOIP_COOP_TRIES 9 |
LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes that should be sent before falling back on AUTOIP. | |
#define | LWIP_SNMP 0 |
Turn on SNMP module. | |
#define | SNMP_CONCURRENT_REQUESTS 1 |
SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will allow. | |
#define | SNMP_TRAP_DESTINATIONS 1 |
SNMP_TRAP_DESTINATIONS: Number of trap destinations. | |
#define | SNMP_PRIVATE_MIB 0 |
SNMP_PRIVATE_MIB: | |
#define | SNMP_SAFE_REQUESTS 1 |
Only allow SNMP write actions that are 'safe' (e.g. | |
#define | LWIP_IGMP 0 |
Turn on IGMP module. | |
#define | LWIP_DNS 0 |
Turn on DNS module. | |
#define | DNS_TABLE_SIZE 4 |
DNS maximum number of entries to maintain locally. | |
#define | DNS_MAX_NAME_LENGTH 256 |
DNS maximum host name length supported in the name table. | |
#define | DNS_MAX_SERVERS 2 |
The maximum of DNS servers. | |
#define | DNS_DOES_NAME_CHECK 1 |
DNS do a name checking between the query and the response. | |
#define | DNS_USES_STATIC_BUF 1 |
DNS use a local buffer if DNS_USES_STATIC_BUF=0, a static one if DNS_USES_STATIC_BUF=1, or a dynamic one if DNS_USES_STATIC_BUF=2. | |
#define | DNS_MSG_SIZE 512 |
DNS message max. | |
#define | DNS_LOCAL_HOSTLIST 0 |
DNS_LOCAL_HOSTLIST: Implements a local host-to-address list. | |
#define | DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 |
If this is turned on, the local host-list can be dynamically changed at runtime. | |
#define | LWIP_UDP 1 |
Turn on UDP. | |
#define | LWIP_UDPLITE 0 |
LWIP_UDPLITE==1: Turn on UDP-Lite. | |
#define | UDP_TTL (IP_DEFAULT_TTL) |
UDP_TTL: Default Time-To-Live value. | |
#define | LWIP_NETBUF_RECVINFO 0 |
LWIP_NETBUF_RECVINFO==1: append destination addr and port to every netbuf. | |
#define | LWIP_TCP 1 |
Turn on TCP. | |
#define | TCP_TTL (IP_DEFAULT_TTL) |
TCP_TTL: Default Time-To-Live value. | |
#define | TCP_WND (4 * TCP_MSS) |
TCP_WND: The size of a TCP window. | |
#define | TCP_MAXRTX 12 |
TCP_MAXRTX: Maximum number of retransmissions of data segments. | |
#define | TCP_SYNMAXRTX 6 |
TCP_SYNMAXRTX: Maximum number of retransmissions of SYN segments. | |
#define | TCP_QUEUE_OOSEQ (LWIP_TCP) |
TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order. | |
#define | TCP_MSS 536 |
TCP_MSS: TCP Maximum segment size. | |
#define | TCP_CALCULATE_EFF_SEND_MSS 1 |
TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which reflects the available reassembly buffer size at the remote host) and the largest size permitted by the IP layer" (RFC 1122) Setting this to 1 enables code that checks TCP_MSS against the MTU of the netif used for a connection and limits the MSS if it would be too big otherwise. | |
#define | TCP_SND_BUF (2 * TCP_MSS) |
TCP_SND_BUF: TCP sender buffer space (bytes). | |
#define | TCP_SND_QUEUELEN (4 * (TCP_SND_BUF)/(TCP_MSS)) |
TCP_SND_QUEUELEN: TCP sender buffer space (pbufs). | |
#define | TCP_SNDLOWAT ((TCP_SND_BUF)/2) |
TCP_SNDLOWAT: TCP writable space (bytes). | |
#define | TCP_LISTEN_BACKLOG 0 |
TCP_LISTEN_BACKLOG: Enable the backlog option for tcp listen pcb. | |
#define | TCP_DEFAULT_LISTEN_BACKLOG 0xff |
The maximum allowed backlog for TCP listen netconns. | |
#define | LWIP_TCP_TIMESTAMPS 0 |
LWIP_TCP_TIMESTAMPS==1: support the TCP timestamp option. | |
#define | TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4) |
TCP_WND_UPDATE_THRESHOLD: difference in window to trigger an explicit window update. | |
#define | PBUF_LINK_HLEN 14 |
PBUF_LINK_HLEN: the number of bytes that should be allocated for a link level header. | |
#define | PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN) |
PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool. | |
#define | LWIP_NETIF_HOSTNAME 1 |
Use DHCP_OPTION_HOSTNAME with netif's hostname field. | |
#define | LWIP_NETIF_API 0 |
Support netif api (in netifapi.c) | |
#define | LWIP_NETIF_STATUS_CALLBACK 0 |
LWIP_NETIF_STATUS_CALLBACK==1: Support a callback function whenever an interface changes its up/down status (i.e., due to DHCP IP acquistion) | |
#define | LWIP_NETIF_LINK_CALLBACK 0 |
LWIP_NETIF_LINK_CALLBACK==1: Support a callback function from an interface whenever the link changes (i.e., link down) | |
#define | LWIP_NETIF_HWADDRHINT 0 |
LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g. | |
#define | LWIP_NETIF_LOOPBACK 0 |
LWIP_NETIF_LOOPBACK==1: Support sending packets with a destination IP address equal to the netif IP address, looping them back up the stack. | |
#define | LWIP_LOOPBACK_MAX_PBUFS 0 |
LWIP_LOOPBACK_MAX_PBUFS: Maximum number of pbufs on queue for loopback sending for each netif (0 = disabled) | |
#define | LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) |
LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in the system, as netifs must change how they behave depending on this setting for the LWIP_NETIF_LOOPBACK option to work. | |
#define | LWIP_NETIF_TX_SINGLE_PBUF 0 |
LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data to be sent into one single pbuf. | |
#define | LWIP_HAVE_LOOPIF 0 |
Support loop interface (127.0.0.1) and loopif.c. | |
#define | LWIP_HAVE_SLIPIF 0 |
Support slip interface and slipif.c. | |
#define | TCPIP_THREAD_NAME "tcpip_thread" |
TCPIP_THREAD_NAME: The name assigned to the main tcpip thread. | |
#define | TCPIP_THREAD_STACKSIZE (KERN_MINSTACKSIZE * 3) |
TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread. | |
#define | TCPIP_THREAD_PRIO 0 |
TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread. | |
#define | TCPIP_MBOX_SIZE 0 |
TCPIP_MBOX_SIZE: The mailbox size for the tcpip thread messages The queue size value itself is platform-dependent, but is passed to sys_mbox_new() when tcpip_init is called. | |
#define | SLIPIF_THREAD_NAME "slipif_loop" |
SLIPIF_THREAD_NAME: The name assigned to the slipif_loop thread. | |
#define | SLIPIF_THREAD_STACKSIZE 0 |
SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread. | |
#define | SLIPIF_THREAD_PRIO 1 |
SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread. | |
#define | PPP_THREAD_NAME "pppMain" |
PPP_THREAD_NAME: The name assigned to the pppMain thread. | |
#define | PPP_THREAD_STACKSIZE 0 |
PPP_THREAD_STACKSIZE: The stack size used by the pppMain thread. | |
#define | PPP_THREAD_PRIO 1 |
PPP_THREAD_PRIO: The priority assigned to the pppMain thread. | |
#define | DEFAULT_THREAD_NAME "lwIP" |
DEFAULT_THREAD_NAME: The name assigned to any other lwIP thread. | |
#define | DEFAULT_THREAD_STACKSIZE (KERN_MINSTACKSIZE * 3) |
DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread. | |
#define | DEFAULT_THREAD_PRIO 1 |
DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread. | |
#define | DEFAULT_RAW_RECVMBOX_SIZE 0 |
DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a NETCONN_RAW. | |
#define | DEFAULT_UDP_RECVMBOX_SIZE 0 |
DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a NETCONN_UDP. | |
#define | DEFAULT_TCP_RECVMBOX_SIZE 0 |
DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a NETCONN_TCP. | |
#define | DEFAULT_ACCEPTMBOX_SIZE 0 |
DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections. | |
#define | LWIP_TCPIP_CORE_LOCKING 0 |
LWIP_TCPIP_CORE_LOCKING: (EXPERIMENTAL!) Don't use it if you're not an active lwIP project member. | |
#define | LWIP_NETCONN 1 |
Enable Netconn API (require to use api_lib.c) | |
#define | LWIP_SOCKET 1 |
Enable Socket API (require to use sockets.c) | |
#define | LWIP_COMPAT_SOCKETS 0 |
Enable BSD-style sockets functions names. | |
#define | LWIP_POSIX_SOCKETS_IO_NAMES 0 |
LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names. | |
#define | LWIP_TCP_KEEPALIVE 0 |
LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT options processing. | |
#define | LWIP_SO_RCVTIMEO 0 |
LWIP_SO_RCVTIMEO==1: Enable SO_RCVTIMEO processing. | |
#define | LWIP_SO_RCVBUF 0 |
LWIP_SO_RCVBUF==1: Enable SO_RCVBUF processing. | |
#define | RECV_BUFSIZE_DEFAULT INT_MAX |
If LWIP_SO_RCVBUF is used, this is the default value for recv_bufsize. | |
#define | SO_REUSE 0 |
SO_REUSE==1: Enable SO_REUSEADDR and SO_REUSEPORT options. | |
#define | LWIP_STATS 0 |
LWIP_STATS==1: Enable statistics collection in lwip_stats. | |
#define | PPP_SUPPORT 0 |
Enable PPP. | |
#define | PPPOE_SUPPORT 0 |
Enable PPP Over Ethernet. | |
#define | PPPOS_SUPPORT PPP_SUPPORT |
PPPOS_SUPPORT==1: Enable PPP Over Serial. | |
#define | CHECKSUM_GEN_IP 1 |
CHECKSUM_GEN_IP==1: Generate checksums in software for outgoing IP packets. | |
#define | CHECKSUM_GEN_UDP 1 |
CHECKSUM_GEN_UDP==1: Generate checksums in software for outgoing UDP packets. | |
#define | CHECKSUM_GEN_TCP 1 |
CHECKSUM_GEN_TCP==1: Generate checksums in software for outgoing TCP packets. | |
#define | CHECKSUM_CHECK_IP 1 |
CHECKSUM_CHECK_IP==1: Check checksums in software for incoming IP packets. | |
#define | CHECKSUM_CHECK_UDP 1 |
CHECKSUM_CHECK_UDP==1: Check checksums in software for incoming UDP packets. | |
#define | CHECKSUM_CHECK_TCP 1 |
CHECKSUM_CHECK_TCP==1: Check checksums in software for incoming TCP packets. | |
#define | LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL |
LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is compared against this value. | |
#define | LWIP_DBG_TYPES_ON LWIP_DBG_ON |
LWIP_DBG_TYPES_ON: A mask that can be used to globally enable/disable debug messages of certain types. | |
#define | ETHARP_DEBUG LWIP_DBG_OFF |
ETHARP_DEBUG: Enable debugging in etharp.c. | |
#define | NETIF_DEBUG LWIP_DBG_OFF |
NETIF_DEBUG: Enable debugging in netif.c. | |
#define | PBUF_DEBUG LWIP_DBG_OFF |
PBUF_DEBUG: Enable debugging in pbuf.c. | |
#define | API_LIB_DEBUG LWIP_DBG_OFF |
API_LIB_DEBUG: Enable debugging in api_lib.c. | |
#define | API_MSG_DEBUG LWIP_DBG_OFF |
API_MSG_DEBUG: Enable debugging in api_msg.c. | |
#define | SOCKETS_DEBUG LWIP_DBG_OFF |
SOCKETS_DEBUG: Enable debugging in sockets.c. | |
#define | ICMP_DEBUG LWIP_DBG_OFF |
ICMP_DEBUG: Enable debugging in icmp.c. | |
#define | IGMP_DEBUG LWIP_DBG_OFF |
IGMP_DEBUG: Enable debugging in igmp.c. | |
#define | INET_DEBUG LWIP_DBG_OFF |
INET_DEBUG: Enable debugging in inet.c. | |
#define | IP_DEBUG LWIP_DBG_OFF |
IP_DEBUG: Enable debugging for IP. | |
#define | IP_REASS_DEBUG LWIP_DBG_OFF |
IP_REASS_DEBUG: Enable debugging in ip_frag.c for both frag & reass. | |
#define | RAW_DEBUG LWIP_DBG_OFF |
RAW_DEBUG: Enable debugging in raw.c. | |
#define | MEM_DEBUG LWIP_DBG_OFF |
MEM_DEBUG: Enable debugging in mem.c. | |
#define | MEMP_DEBUG LWIP_DBG_OFF |
MEMP_DEBUG: Enable debugging in memp.c. | |
#define | SYS_DEBUG LWIP_DBG_OFF |
SYS_DEBUG: Enable debugging in sys.c. | |
#define | TCP_DEBUG LWIP_DBG_OFF |
TCP_DEBUG: Enable debugging for TCP. | |
#define | TCP_INPUT_DEBUG LWIP_DBG_OFF |
TCP_INPUT_DEBUG: Enable debugging in tcp_in.c for incoming debug. | |
#define | TCP_FR_DEBUG LWIP_DBG_OFF |
TCP_FR_DEBUG: Enable debugging in tcp_in.c for fast retransmit. | |
#define | TCP_RTO_DEBUG LWIP_DBG_OFF |
TCP_RTO_DEBUG: Enable debugging in TCP for retransmit timeout. | |
#define | TCP_CWND_DEBUG LWIP_DBG_OFF |
TCP_CWND_DEBUG: Enable debugging for TCP congestion window. | |
#define | TCP_WND_DEBUG LWIP_DBG_OFF |
TCP_WND_DEBUG: Enable debugging in tcp_in.c for window updating. | |
#define | TCP_OUTPUT_DEBUG LWIP_DBG_OFF |
TCP_OUTPUT_DEBUG: Enable debugging in tcp_out.c output functions. | |
#define | TCP_RST_DEBUG LWIP_DBG_OFF |
TCP_RST_DEBUG: Enable debugging for TCP with the RST message. | |
#define | TCP_QLEN_DEBUG LWIP_DBG_OFF |
TCP_QLEN_DEBUG: Enable debugging for TCP queue lengths. | |
#define | UDP_DEBUG LWIP_DBG_OFF |
UDP_DEBUG: Enable debugging in UDP. | |
#define | TCPIP_DEBUG LWIP_DBG_OFF |
TCPIP_DEBUG: Enable debugging in tcpip.c. | |
#define | PPP_DEBUG LWIP_DBG_OFF |
PPP_DEBUG: Enable debugging for PPP. | |
#define | SLIP_DEBUG LWIP_DBG_OFF |
SLIP_DEBUG: Enable debugging in slipif.c. | |
#define | DHCP_DEBUG LWIP_DBG_OFF |
DHCP_DEBUG: Enable debugging in dhcp.c. | |
#define | AUTOIP_DEBUG LWIP_DBG_OFF |
AUTOIP_DEBUG: Enable debugging in autoip.c. | |
#define | SNMP_MSG_DEBUG LWIP_DBG_OFF |
SNMP_MSG_DEBUG: Enable debugging for SNMP messages. | |
#define | SNMP_MIB_DEBUG LWIP_DBG_OFF |
SNMP_MIB_DEBUG: Enable debugging for SNMP MIBs. | |
#define | DNS_DEBUG LWIP_DBG_OFF |
DNS_DEBUG: Enable debugging for DNS. |
Configuration file for the lwIP TCP/IP stack module.
Definition in file cfg_lwip.h.
#define DEFAULT_ACCEPTMBOX_SIZE 0 |
DEFAULT_ACCEPTMBOX_SIZE: The mailbox size for the incoming connections.
The queue size value itself is platform-dependent, but is passed to sys_mbox_new() when the acceptmbox is created.
Definition at line 1175 of file cfg_lwip.h.
#define DEFAULT_RAW_RECVMBOX_SIZE 0 |
DEFAULT_RAW_RECVMBOX_SIZE: The mailbox size for the incoming packets on a NETCONN_RAW.
The queue size value itself is platform-dependent, but is passed to sys_mbox_new() when the recvmbox is created.
Definition at line 1148 of file cfg_lwip.h.
#define DEFAULT_TCP_RECVMBOX_SIZE 0 |
DEFAULT_TCP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a NETCONN_TCP.
The queue size value itself is platform-dependent, but is passed to sys_mbox_new() when the recvmbox is created.
Definition at line 1166 of file cfg_lwip.h.
#define DEFAULT_THREAD_PRIO 1 |
DEFAULT_THREAD_PRIO: The priority assigned to any other lwIP thread.
The priority value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1139 of file cfg_lwip.h.
#define DEFAULT_THREAD_STACKSIZE (KERN_MINSTACKSIZE * 3) |
DEFAULT_THREAD_STACKSIZE: The stack size used by any other lwIP thread.
The stack size value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1130 of file cfg_lwip.h.
#define DEFAULT_UDP_RECVMBOX_SIZE 0 |
DEFAULT_UDP_RECVMBOX_SIZE: The mailbox size for the incoming packets on a NETCONN_UDP.
The queue size value itself is platform-dependent, but is passed to sys_mbox_new() when the recvmbox is created.
Definition at line 1157 of file cfg_lwip.h.
#define DNS_DOES_NAME_CHECK 1 |
DNS do a name checking between the query and the response.
Definition at line 689 of file cfg_lwip.h.
#define DNS_LOCAL_HOSTLIST 0 |
DNS_LOCAL_HOSTLIST: Implements a local host-to-address list.
If enabled, you have to define
#define DNS_LOCAL_HOSTLIST_INIT {{"host1", 0x123}, {"host2", 0x234}}
(an array of structs name/address, where address is an u32_t in network byte order).
Instead, you can also use an external function:
#define DNS_LOOKUP_LOCAL_EXTERN(x) extern u32_t my_lookup_function(const char *name)
that returns the IP address or INADDR_NONE if not found.
Definition at line 719 of file cfg_lwip.h.
#define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 |
If this is turned on, the local host-list can be dynamically changed at runtime.
Definition at line 725 of file cfg_lwip.h.
#define DNS_MAX_NAME_LENGTH 256 |
DNS maximum host name length supported in the name table.
Definition at line 679 of file cfg_lwip.h.
#define DNS_MSG_SIZE 512 |
#define DNS_TABLE_SIZE 4 |
DNS maximum number of entries to maintain locally.
Definition at line 674 of file cfg_lwip.h.
#define DNS_USES_STATIC_BUF 1 |
DNS use a local buffer if DNS_USES_STATIC_BUF=0, a static one if DNS_USES_STATIC_BUF=1, or a dynamic one if DNS_USES_STATIC_BUF=2.
The buffer will be of size DNS_MSG_SIZE
Definition at line 696 of file cfg_lwip.h.
#define ETHARP_SUPPORT_VLAN 0 |
ETHARP_SUPPORT_VLAN==1: support receiving ethernet packets with VLAN header.
Additionally, you can define ETHARP_VLAN_CHECK to an u16_t VLAN ID to check. If ETHARP_VLAN_CHECK is defined, only VLAN-traffic for this VLAN is accepted. If ETHARP_VLAN_CHECK is not defined, all traffic is accepted.
Definition at line 402 of file cfg_lwip.h.
#define ETHARP_TRUST_IP_MAC 1 |
ETHARP_TRUST_IP_MAC==1: Incoming IP packets cause the ARP table to be updated with the source MAC and IP addresses supplied in the packet.
You may want to disable this if you do not trust LAN peers to have the correct addresses, or as a limited approach to attempt to handle spoofing. If disabled, lwIP will need to make a new ARP request if the peer is not already in the ARP table, adding a little latency.
Definition at line 392 of file cfg_lwip.h.
#define IP_FORWARD 0 |
IP_FORWARD==1: Enables the ability to forward IP packets across network interfaces.
If you are going to run lwIP on a device with only one network interface, define this to 0.
Definition at line 416 of file cfg_lwip.h.
#define IP_FRAG_USES_STATIC_BUF 1 |
IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP fragmentation.
Otherwise pbufs are allocated and reference the original packet data to be fragmented.
Definition at line 467 of file cfg_lwip.h.
#define IP_OPTIONS_ALLOWED 1 |
IP_OPTIONS_ALLOWED: Defines the behavior for IP options.
IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped. IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).
Definition at line 425 of file cfg_lwip.h.
#define IP_REASS_MAX_PBUFS 10 |
IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled.
Since the received pbufs are enqueued, be sure to configure PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive packets even if the maximum amount of fragments is enqueued for reassembly!
Definition at line 458 of file cfg_lwip.h.
#define IP_REASS_MAXAGE 3 |
IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) a fragmented IP packet waits for all fragments to arrive.
If not all fragments arrived in this time, the whole packet is discarded.
Definition at line 448 of file cfg_lwip.h.
#define IP_SOF_BROADCAST 0 |
IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast filter per pcb on udp and raw send operations.
To enable broadcast filter on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1.
Definition at line 491 of file cfg_lwip.h.
#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 |
Set this to 1 if you want to free PBUF_RAM pbufs (or call mem_free()) from interrupt context (or another context that doesn't allow waiting for a semaphore).
If set to 1, mem_malloc will be protected by a semaphore and SYS_ARCH_PROTECT, while mem_free will only use SYS_ARCH_PROTECT. mem_malloc SYS_ARCH_UNPROTECTs with each loop so that mem_free can run.
ATTENTION: As you can see from the above description, this leads to dis-/ enabling interrupts often, which can be slow! Also, on low memory, mem_malloc can need longer.
If you don't want that, at least for NO_SYS=0, you can still use the following functions to enqueue a deallocation call which then runs in the tcpip_thread context:
Definition at line 221 of file cfg_lwip.h.
#define LWIP_COMPAT_SOCKETS 0 |
Enable BSD-style sockets functions names.
NOTE: do not change this!!!
Definition at line 1223 of file cfg_lwip.h.
#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL |
LWIP_DBG_MIN_LEVEL: After masking, the value of the debug is compared against this value.
If it is smaller, then debugging messages are written.
Definition at line 1617 of file cfg_lwip.h.
#define LWIP_DHCP 1 |
#define LWIP_DHCP_AUTOIP_COOP_TRIES 9 |
LWIP_DHCP_AUTOIP_COOP_TRIES: Set to the number of DHCP DISCOVER probes that should be sent before falling back on AUTOIP.
This can be set as low as 1 to get an AutoIP address very quickly, but you should be prepared to handle a changing IP address when DHCP overrides AutoIP.
Definition at line 601 of file cfg_lwip.h.
#define LWIP_DNS 0 |
Turn on DNS module.
UDP must be available for DNS transport.
Definition at line 670 of file cfg_lwip.h.
#define LWIP_HAVE_LOOPIF 0 |
Support loop interface (127.0.0.1) and loopif.c.
Definition at line 1014 of file cfg_lwip.h.
#define LWIP_HAVE_SLIPIF 0 |
Support slip interface and slipif.c.
Definition at line 1026 of file cfg_lwip.h.
#define LWIP_NETCONN 1 |
Enable Netconn API (require to use api_lib.c)
Definition at line 1196 of file cfg_lwip.h.
#define LWIP_NETIF_API 0 |
Support netif api (in netifapi.c)
Definition at line 929 of file cfg_lwip.h.
#define LWIP_NETIF_HWADDRHINT 0 |
LWIP_NETIF_HWADDRHINT==1: Cache link-layer-address hints (e.g.
table indices) in struct netif. TCP and UDP can make use of this to prevent scanning the ARP table for every sent packet. While this is faster for big ARP tables or many concurrent connections, it might be counterproductive if you have a tiny ARP table or if there never are concurrent connections.
Definition at line 955 of file cfg_lwip.h.
#define LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) |
LWIP_NETIF_LOOPBACK_MULTITHREADING: Indicates whether threading is enabled in the system, as netifs must change how they behave depending on this setting for the LWIP_NETIF_LOOPBACK option to work.
Setting this is needed to avoid reentering non-reentrant functions like tcp_input(). LWIP_NETIF_LOOPBACK_MULTITHREADING==1: Indicates that the user is using a multithreaded environment like tcpip.c. In this case, netif->input() is called directly. LWIP_NETIF_LOOPBACK_MULTITHREADING==0: Indicates a polling (or NO_SYS) setup. The packets are put on a list and netif_poll() must be called in the main application loop.
Definition at line 988 of file cfg_lwip.h.
#define LWIP_NETIF_TX_SINGLE_PBUF 0 |
LWIP_NETIF_TX_SINGLE_PBUF: if this is set to 1, lwIP tries to put all data to be sent into one single pbuf.
This is for compatibility with DMA-enabled MACs that do not support scatter-gather. Beware that this might involve CPU-memcpy before transmitting that would not be needed without this flag! Use this only if you need to!
Definition at line 1001 of file cfg_lwip.h.
#define LWIP_POSIX_SOCKETS_IO_NAMES 0 |
LWIP_POSIX_SOCKETS_IO_NAMES==1: Enable POSIX-style sockets functions names.
Disable this option if you use a POSIX operating system that uses the same names (read, write & close). (only used if you use sockets.c)
Definition at line 1232 of file cfg_lwip.h.
#define LWIP_SNMP 0 |
#define LWIP_SOCKET 1 |
Enable Socket API (require to use sockets.c)
Definition at line 1208 of file cfg_lwip.h.
#define LWIP_TCP_KEEPALIVE 0 |
LWIP_TCP_KEEPALIVE==1: Enable TCP_KEEPIDLE, TCP_KEEPINTVL and TCP_KEEPCNT options processing.
Note that TCP_KEEPIDLE and TCP_KEEPINTVL have to be set in seconds. (does not require sockets.c, and will affect tcp.c)
Definition at line 1241 of file cfg_lwip.h.
#define LWIP_UDPLITE 0 |
#define MEM_ALIGNMENT 4 |
MEM_ALIGNMENT: should be set to the alignment of the CPU.
* 4 byte alignment -> #define MEM_ALIGNMENT 4 * 2 byte alignment -> #define MEM_ALIGNMENT 2 *
Definition at line 142 of file cfg_lwip.h.
#define MEM_LIBC_MALLOC 0 |
MEM_LIBC_MALLOC==1: Use malloc/free/realloc provided by your C-library instead of the lwip internal allocator.
Can save code size if you already use it.
Definition at line 122 of file cfg_lwip.h.
#define MEM_SIZE 1600 |
The size of the lwIP heap memory.
If the application will send a lot of data that needs to be copied, this should be set high.
Definition at line 153 of file cfg_lwip.h.
#define MEM_USE_POOLS 0 |
MEM_USE_POOLS==1: Use an alternative to malloc() by allocating from a set of memory pools of various sizes.
When mem_malloc is called, an element of the smallest pool that can provide the length needed is returned. To use this, MEMP_USE_CUSTOM_POOLS also has to be enabled.
Definition at line 181 of file cfg_lwip.h.
#define MEM_USE_POOLS_TRY_BIGGER_POOL 0 |
MEM_USE_POOLS_TRY_BIGGER_POOL==1: if one malloc-pool is empty, try the next bigger pool - WARNING: THIS MIGHT WASTE MEMORY but it can make a system more reliable.
Definition at line 189 of file cfg_lwip.h.
#define MEMP_NUM_ARP_QUEUE 30 |
MEMP_NUM_ARP_QUEUE: the number of simulateously queued outgoing packets (pbufs) that are waiting for an ARP request (to resolve their destination address) to finish.
(requires the ARP_QUEUEING option)
Definition at line 294 of file cfg_lwip.h.
#define MEMP_NUM_IGMP_GROUP 8 |
MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces can be members et the same time (one per netif - allsystems group -, plus one per netif membership).
(requires the LWIP_IGMP option)
Definition at line 304 of file cfg_lwip.h.
#define MEMP_NUM_NETBUF 2 |
MEMP_NUM_NETBUF: the number of struct netbufs.
(only needed if you use the sequential API, like api_lib.c)
Definition at line 320 of file cfg_lwip.h.
#define MEMP_NUM_NETCONN 4 |
MEMP_NUM_NETCONN: the number of struct netconns.
(only needed if you use the sequential API, like api_lib.c)
Definition at line 328 of file cfg_lwip.h.
#define MEMP_NUM_PBUF 16 |
MEMP_NUM_PBUF: the number of memp struct pbufs (used for PBUF_ROM and PBUF_REF).
If the application sends a lot of data out of ROM (or other static memory), this should be set high.
Definition at line 235 of file cfg_lwip.h.
#define MEMP_NUM_SYS_TIMEOUT 8 |
MEMP_NUM_SYS_TIMEOUT: the number of simulateously active timeouts.
(requires NO_SYS==0)
Definition at line 312 of file cfg_lwip.h.
#define MEMP_NUM_TCP_PCB 5 |
MEMP_NUM_TCP_PCB: the number of simulatenously active TCP connections.
(requires the LWIP_TCP option)
Definition at line 260 of file cfg_lwip.h.
#define MEMP_NUM_TCP_PCB_LISTEN 8 |
MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections.
(requires the LWIP_TCP option)
Definition at line 268 of file cfg_lwip.h.
#define MEMP_NUM_TCP_SEG 16 |
MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments.
(requires the LWIP_TCP option)
Definition at line 276 of file cfg_lwip.h.
#define MEMP_NUM_TCPIP_MSG_API 8 |
MEMP_NUM_TCPIP_MSG_API: the number of struct tcpip_msg, which are used for callback/timeout API communication.
(only needed if you use tcpip.c)
Definition at line 337 of file cfg_lwip.h.
#define MEMP_NUM_TCPIP_MSG_INPKT 8 |
MEMP_NUM_TCPIP_MSG_INPKT: the number of struct tcpip_msg, which are used for incoming packets.
(only needed if you use tcpip.c)
Definition at line 346 of file cfg_lwip.h.
#define MEMP_NUM_UDP_PCB 4 |
MEMP_NUM_UDP_PCB: the number of UDP protocol control blocks.
One per active UDP "connection". (requires the LWIP_UDP option)
Definition at line 252 of file cfg_lwip.h.
#define MEMP_OVERFLOW_CHECK 0 |
Dynamic pool memory overflow protection check level.
MEMP_OVERFLOW_CHECK == 0 no checking MEMP_OVERFLOW_CHECK == 1 checks each element when it is freed MEMP_OVERFLOW_CHECK >= 2 checks each element in every pool every time memp_malloc() or memp_free() is called (useful but slow!)
Definition at line 165 of file cfg_lwip.h.
#define MEMP_USE_CUSTOM_POOLS 0 |
MEMP_USE_CUSTOM_POOLS==1: whether to include a user file lwippools.h that defines additional pools beyond the "standard" ones required by lwIP.
If you set this to 1, you must have lwippools.h in your inlude path somewhere.
Definition at line 199 of file cfg_lwip.h.
#define NO_SYS 0 |
NO_SYS==1: Provides VERY minimal functionality.
Otherwise, use lwIP facilities.
Definition at line 92 of file cfg_lwip.h.
#define PBUF_LINK_HLEN 14 |
PBUF_LINK_HLEN: the number of bytes that should be allocated for a link level header.
The default is 14, the standard value for Ethernet.
Definition at line 900 of file cfg_lwip.h.
#define PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN) |
PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool.
The default is designed to accomodate single full size TCP frame in one pbuf, including TCP_MSS, IP header, and link header.
Definition at line 909 of file cfg_lwip.h.
#define PPP_THREAD_PRIO 1 |
PPP_THREAD_PRIO: The priority assigned to the pppMain thread.
The priority value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1114 of file cfg_lwip.h.
#define PPP_THREAD_STACKSIZE 0 |
PPP_THREAD_STACKSIZE: The stack size used by the pppMain thread.
The stack size value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1105 of file cfg_lwip.h.
#define SLIPIF_THREAD_PRIO 1 |
SLIPIF_THREAD_PRIO: The priority assigned to the slipif_loop thread.
The priority value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1089 of file cfg_lwip.h.
#define SLIPIF_THREAD_STACKSIZE 0 |
SLIP_THREAD_STACKSIZE: The stack size used by the slipif_loop thread.
The stack size value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1080 of file cfg_lwip.h.
#define SMEMCPY | ( | dst, | |
src, | |||
len | |||
) | memcpy(dst,src,len) |
SMEMCPY: override this with care! Some compilers (e.g.
gcc) can inline a call to memcpy() if the length is known at compile time and is small.
Definition at line 108 of file cfg_lwip.h.
#define SNMP_CONCURRENT_REQUESTS 1 |
SNMP_CONCURRENT_REQUESTS: Number of concurrent requests the module will allow.
At least one request buffer is required.
Definition at line 621 of file cfg_lwip.h.
#define SNMP_SAFE_REQUESTS 1 |
Only allow SNMP write actions that are 'safe' (e.g.
disabeling netifs is not a safe action and disabled when SNMP_SAFE_REQUESTS = 1). Unsafe requests are disabled by default!
Definition at line 645 of file cfg_lwip.h.
#define SNMP_TRAP_DESTINATIONS 1 |
SNMP_TRAP_DESTINATIONS: Number of trap destinations.
At least one trap destination is required
Definition at line 629 of file cfg_lwip.h.
#define SO_REUSE 0 |
SO_REUSE==1: Enable SO_REUSEADDR and SO_REUSEPORT options.
DO NOT USE!
Definition at line 1269 of file cfg_lwip.h.
#define TCP_DEFAULT_LISTEN_BACKLOG 0xff |
The maximum allowed backlog for TCP listen netconns.
This backlog is used unless another is explicitly specified. 0xff is the maximum (u8_t).
Definition at line 871 of file cfg_lwip.h.
#define TCP_MSS 536 |
TCP_MSS: TCP Maximum segment size.
(default is 536, a conservative default, you might want to increase this.) For the receive side, this MSS is advertised to the remote side when opening a connection. For the transmit size, this MSS sets an upper limit on the MSS advertised by the remote host.
Definition at line 818 of file cfg_lwip.h.
#define TCP_QUEUE_OOSEQ (LWIP_TCP) |
TCP_QUEUE_OOSEQ==1: TCP will queue segments that arrive out of order.
Define to 0 if your device is low on memory.
Definition at line 807 of file cfg_lwip.h.
#define TCP_SND_QUEUELEN (4 * (TCP_SND_BUF)/(TCP_MSS)) |
TCP_SND_QUEUELEN: TCP sender buffer space (pbufs).
This must be at least as much as (2 * TCP_SND_BUF/TCP_MSS) for things to work.
Definition at line 846 of file cfg_lwip.h.
#define TCP_SNDLOWAT ((TCP_SND_BUF)/2) |
TCP_SNDLOWAT: TCP writable space (bytes).
This must be less than or equal to TCP_SND_BUF. It is the amount of space which must be available in the TCP snd_buf for select to return writable.
Definition at line 855 of file cfg_lwip.h.
#define TCP_WND (4 * TCP_MSS) |
TCP_WND: The size of a TCP window.
This must be at least (2 * TCP_MSS) for things to work well
Definition at line 785 of file cfg_lwip.h.
#define TCPIP_THREAD_PRIO 0 |
TCPIP_THREAD_PRIO: The priority assigned to the main tcpip thread.
The priority value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1055 of file cfg_lwip.h.
#define TCPIP_THREAD_STACKSIZE (KERN_MINSTACKSIZE * 3) |
TCPIP_THREAD_STACKSIZE: The stack size used by the main tcpip thread.
The stack size value itself is platform-dependent, but is passed to sys_thread_new() when the thread is created.
Definition at line 1046 of file cfg_lwip.h.