|
#define | SYS_LIGHTWEIGHT_PROT 0 |
|
#define | NO_SYS 0 |
|
#define | NO_SYS_NO_TIMERS 0 |
|
#define | MEMCPY(dst, src, len) memcpy(dst,src,len) |
|
#define | SMEMCPY(dst, src, len) memcpy(dst,src,len) |
|
#define | MEM_LIBC_MALLOC 0 |
|
#define | MEMP_MEM_MALLOC 0 |
|
#define | MEM_ALIGNMENT 1 |
|
#define | MEM_SIZE 1600 |
|
#define | MEMP_SEPARATE_POOLS 0 |
|
#define | MEMP_OVERFLOW_CHECK 0 |
|
#define | MEMP_SANITY_CHECK 0 |
|
#define | MEM_USE_POOLS 0 |
|
#define | MEM_USE_POOLS_TRY_BIGGER_POOL 0 |
|
#define | MEMP_USE_CUSTOM_POOLS 0 |
|
#define | LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 0 |
|
#define | MEMP_NUM_PBUF 16 |
|
#define | MEMP_NUM_RAW_PCB 4 |
|
#define | MEMP_NUM_UDP_PCB 4 |
|
#define | MEMP_NUM_TCP_PCB 5 |
|
#define | MEMP_NUM_TCP_PCB_LISTEN 8 |
|
#define | MEMP_NUM_TCP_SEG 16 |
|
#define | MEMP_NUM_REASSDATA 5 |
|
#define | MEMP_NUM_FRAG_PBUF 15 |
|
#define | MEMP_NUM_ARP_QUEUE 30 |
|
#define | MEMP_NUM_IGMP_GROUP 8 |
|
#define | MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT) |
|
#define | MEMP_NUM_NETBUF 2 |
|
#define | MEMP_NUM_NETCONN 4 |
|
#define | MEMP_NUM_TCPIP_MSG_API 8 |
|
#define | MEMP_NUM_TCPIP_MSG_INPKT 8 |
|
#define | MEMP_NUM_SNMP_NODE 50 |
|
#define | MEMP_NUM_SNMP_ROOTNODE 30 |
|
#define | MEMP_NUM_SNMP_VARBIND 2 |
|
#define | MEMP_NUM_SNMP_VALUE 3 |
|
#define | MEMP_NUM_NETDB 1 |
|
#define | MEMP_NUM_LOCALHOSTLIST 1 |
|
#define | MEMP_NUM_PPPOE_INTERFACES 1 |
|
#define | PBUF_POOL_SIZE 16 |
|
#define | LWIP_ARP 1 |
|
#define | ARP_TABLE_SIZE 10 |
|
#define | ARP_QUEUEING 0 |
|
#define | ETHARP_TRUST_IP_MAC 0 |
|
#define | ETHARP_SUPPORT_VLAN 0 |
|
#define | LWIP_ETHERNET (LWIP_ARP || PPPOE_SUPPORT) |
|
#define | ETH_PAD_SIZE 0 |
|
#define | ETHARP_SUPPORT_STATIC_ENTRIES 0 |
|
#define | IP_FORWARD 0 |
|
#define | IP_OPTIONS_ALLOWED 1 |
|
#define | IP_REASSEMBLY 1 |
|
#define | IP_FRAG 1 |
|
#define | IP_REASS_MAXAGE 3 |
|
#define | IP_REASS_MAX_PBUFS 10 |
|
#define | IP_FRAG_USES_STATIC_BUF 0 |
|
#define | IP_DEFAULT_TTL 255 |
|
#define | IP_SOF_BROADCAST 0 |
|
#define | IP_SOF_BROADCAST_RECV 0 |
|
#define | IP_FORWARD_ALLOW_TX_ON_RX_NETIF 0 |
|
#define | LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS 0 |
|
#define | LWIP_ICMP 1 |
|
#define | ICMP_TTL (IP_DEFAULT_TTL) |
|
#define | LWIP_BROADCAST_PING 0 |
|
#define | LWIP_MULTICAST_PING 0 |
|
#define | LWIP_RAW 1 |
|
#define | RAW_TTL (IP_DEFAULT_TTL) |
|
#define | LWIP_DHCP 0 |
|
#define | DHCP_DOES_ARP_CHECK ((LWIP_DHCP) && (LWIP_ARP)) |
|
#define | LWIP_AUTOIP 0 |
|
#define | LWIP_DHCP_AUTOIP_COOP 0 |
|
#define | LWIP_DHCP_AUTOIP_COOP_TRIES 9 |
|
#define | LWIP_SNMP 0 |
|
#define | SNMP_CONCURRENT_REQUESTS 1 |
|
#define | SNMP_TRAP_DESTINATIONS 1 |
|
#define | SNMP_PRIVATE_MIB 0 |
|
#define | SNMP_SAFE_REQUESTS 1 |
|
#define | SNMP_MAX_OCTET_STRING_LEN 127 |
|
#define | SNMP_MAX_TREE_DEPTH 15 |
|
#define | SNMP_MAX_VALUE_SIZE LWIP_MAX((SNMP_MAX_OCTET_STRING_LEN)+1, sizeof(s32_t)*(SNMP_MAX_TREE_DEPTH)) |
|
#define | LWIP_IGMP 0 |
|
#define | LWIP_DNS 0 |
|
#define | DNS_TABLE_SIZE 4 |
|
#define | DNS_MAX_NAME_LENGTH 256 |
|
#define | DNS_MAX_SERVERS 2 |
|
#define | DNS_DOES_NAME_CHECK 1 |
|
#define | DNS_MSG_SIZE 512 |
|
#define | DNS_LOCAL_HOSTLIST 0 |
|
#define | DNS_LOCAL_HOSTLIST_IS_DYNAMIC 0 |
|
#define | LWIP_UDP 1 |
|
#define | LWIP_UDPLITE 0 |
|
#define | UDP_TTL (IP_DEFAULT_TTL) |
|
#define | LWIP_NETBUF_RECVINFO 0 |
|
#define | LWIP_TCP 1 |
|
#define | TCP_TTL (IP_DEFAULT_TTL) |
|
#define | TCP_WND (4 * TCP_MSS) |
|
#define | TCP_MAXRTX 12 |
|
#define | TCP_SYNMAXRTX 6 |
|
#define | TCP_QUEUE_OOSEQ (LWIP_TCP) |
|
#define | TCP_MSS 536 |
|
#define | TCP_CALCULATE_EFF_SEND_MSS 1 |
|
#define | TCP_SND_BUF (2 * TCP_MSS) |
|
#define | TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) |
|
#define | TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) |
|
#define | TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) |
|
#define | TCP_OOSEQ_MAX_BYTES 0 |
|
#define | TCP_OOSEQ_MAX_PBUFS 0 |
|
#define | TCP_LISTEN_BACKLOG 0 |
|
#define | TCP_DEFAULT_LISTEN_BACKLOG 0xff |
|
#define | TCP_OVERSIZE TCP_MSS |
|
#define | LWIP_TCP_TIMESTAMPS 0 |
|
#define | TCP_WND_UPDATE_THRESHOLD (TCP_WND / 4) |
|
#define | LWIP_EVENT_API 0 |
|
#define | LWIP_CALLBACK_API 1 |
|
#define | PBUF_LINK_HLEN (14 + ETH_PAD_SIZE) |
|
#define | PBUF_POOL_BUFSIZE LWIP_MEM_ALIGN_SIZE(TCP_MSS+40+PBUF_LINK_HLEN) |
|
#define | LWIP_NETIF_HOSTNAME 0 |
|
#define | LWIP_NETIF_API 0 |
|
#define | LWIP_NETIF_STATUS_CALLBACK 0 |
|
#define | LWIP_NETIF_LINK_CALLBACK 0 |
|
#define | LWIP_NETIF_REMOVE_CALLBACK 0 |
|
#define | LWIP_NETIF_HWADDRHINT 0 |
|
#define | LWIP_NETIF_LOOPBACK 0 |
|
#define | LWIP_LOOPBACK_MAX_PBUFS 0 |
|
#define | LWIP_NETIF_LOOPBACK_MULTITHREADING (!NO_SYS) |
|
#define | LWIP_NETIF_TX_SINGLE_PBUF 0 |
|
#define | LWIP_HAVE_LOOPIF 0 |
|
#define | LWIP_HAVE_SLIPIF 0 |
|
#define | TCPIP_THREAD_NAME "tcpip_thread" |
|
#define | TCPIP_THREAD_STACKSIZE 0 |
|
#define | TCPIP_THREAD_PRIO 1 |
|
#define | TCPIP_MBOX_SIZE 0 |
|
#define | SLIPIF_THREAD_NAME "slipif_loop" |
|
#define | SLIPIF_THREAD_STACKSIZE 0 |
|
#define | SLIPIF_THREAD_PRIO 1 |
|
#define | PPP_THREAD_NAME "pppInputThread" |
|
#define | PPP_THREAD_STACKSIZE 0 |
|
#define | PPP_THREAD_PRIO 1 |
|
#define | DEFAULT_THREAD_NAME "lwIP" |
|
#define | DEFAULT_THREAD_STACKSIZE 0 |
|
#define | DEFAULT_THREAD_PRIO 1 |
|
#define | DEFAULT_RAW_RECVMBOX_SIZE 0 |
|
#define | DEFAULT_UDP_RECVMBOX_SIZE 0 |
|
#define | DEFAULT_TCP_RECVMBOX_SIZE 0 |
|
#define | DEFAULT_ACCEPTMBOX_SIZE 0 |
|
#define | LWIP_TCPIP_CORE_LOCKING 0 |
|
#define | LWIP_TCPIP_CORE_LOCKING_INPUT 0 |
|
#define | LWIP_NETCONN 1 |
|
#define | LWIP_TCPIP_TIMEOUT 1 |
|
#define | LWIP_SOCKET 1 |
|
#define | LWIP_COMPAT_SOCKETS 1 |
|
#define | LWIP_POSIX_SOCKETS_IO_NAMES 1 |
|
#define | LWIP_TCP_KEEPALIVE 0 |
|
#define | LWIP_SO_SNDTIMEO 0 |
|
#define | LWIP_SO_RCVTIMEO 0 |
|
#define | LWIP_SO_RCVBUF 0 |
|
#define | RECV_BUFSIZE_DEFAULT INT_MAX |
|
#define | SO_REUSE 0 |
|
#define | SO_REUSE_RXTOALL 0 |
|
#define | LWIP_STATS 1 |
|
#define | LWIP_STATS_DISPLAY 0 |
|
#define | LINK_STATS 1 |
|
#define | ETHARP_STATS (LWIP_ARP) |
|
#define | IP_STATS 1 |
|
#define | IPFRAG_STATS (IP_REASSEMBLY || IP_FRAG) |
|
#define | ICMP_STATS 1 |
|
#define | IGMP_STATS (LWIP_IGMP) |
|
#define | UDP_STATS (LWIP_UDP) |
|
#define | TCP_STATS (LWIP_TCP) |
|
#define | MEM_STATS ((MEM_LIBC_MALLOC == 0) && (MEM_USE_POOLS == 0)) |
|
#define | MEMP_STATS (MEMP_MEM_MALLOC == 0) |
|
#define | SYS_STATS (NO_SYS == 0) |
|
#define | PPP_SUPPORT 0 |
|
#define | PPPOE_SUPPORT 0 |
|
#define | PPPOS_SUPPORT PPP_SUPPORT |
|
#define | CHECKSUM_GEN_IP 1 |
|
#define | CHECKSUM_GEN_UDP 1 |
|
#define | CHECKSUM_GEN_TCP 1 |
|
#define | CHECKSUM_GEN_ICMP 1 |
|
#define | CHECKSUM_CHECK_IP 1 |
|
#define | CHECKSUM_CHECK_UDP 1 |
|
#define | CHECKSUM_CHECK_TCP 1 |
|
#define | LWIP_CHECKSUM_ON_COPY 0 |
|
#define | LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_ALL |
|
#define | LWIP_DBG_TYPES_ON LWIP_DBG_ON |
|
#define | ETHARP_DEBUG LWIP_DBG_OFF |
|
#define | NETIF_DEBUG LWIP_DBG_OFF |
|
#define | PBUF_DEBUG LWIP_DBG_OFF |
|
#define | API_LIB_DEBUG LWIP_DBG_OFF |
|
#define | API_MSG_DEBUG LWIP_DBG_OFF |
|
#define | SOCKETS_DEBUG LWIP_DBG_OFF |
|
#define | ICMP_DEBUG LWIP_DBG_OFF |
|
#define | IGMP_DEBUG LWIP_DBG_OFF |
|
#define | INET_DEBUG LWIP_DBG_OFF |
|
#define | IP_DEBUG LWIP_DBG_OFF |
|
#define | IP_REASS_DEBUG LWIP_DBG_OFF |
|
#define | RAW_DEBUG LWIP_DBG_OFF |
|
#define | MEM_DEBUG LWIP_DBG_OFF |
|
#define | MEMP_DEBUG LWIP_DBG_OFF |
|
#define | SYS_DEBUG LWIP_DBG_OFF |
|
#define | TIMERS_DEBUG LWIP_DBG_OFF |
|
#define | TCP_DEBUG LWIP_DBG_OFF |
|
#define | TCP_INPUT_DEBUG LWIP_DBG_OFF |
|
#define | TCP_FR_DEBUG LWIP_DBG_OFF |
|
#define | TCP_RTO_DEBUG LWIP_DBG_OFF |
|
#define | TCP_CWND_DEBUG LWIP_DBG_OFF |
|
#define | TCP_WND_DEBUG LWIP_DBG_OFF |
|
#define | TCP_OUTPUT_DEBUG LWIP_DBG_OFF |
|
#define | TCP_RST_DEBUG LWIP_DBG_OFF |
|
#define | TCP_QLEN_DEBUG LWIP_DBG_OFF |
|
#define | UDP_DEBUG LWIP_DBG_OFF |
|
#define | TCPIP_DEBUG LWIP_DBG_OFF |
|
#define | PPP_DEBUG LWIP_DBG_OFF |
|
#define | SLIP_DEBUG LWIP_DBG_OFF |
|
#define | DHCP_DEBUG LWIP_DBG_OFF |
|
#define | AUTOIP_DEBUG LWIP_DBG_OFF |
|
#define | SNMP_MSG_DEBUG LWIP_DBG_OFF |
|
#define | SNMP_MIB_DEBUG LWIP_DBG_OFF |
|
#define | DNS_DEBUG LWIP_DBG_OFF |
|
lwIP Options Configuration
Definition in file opt.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 857 of file opt.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. Alternatively, define a function/define ETHARP_VLAN_CHECK_FN(eth_hdr, vlan) that returns 1 to accept a packet or 0 to drop a packet.
Definition at line 470 of file opt.h.
#define ETHARP_TRUST_IP_MAC 0 |
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. The peer is in the ARP table if it requested our address before. Also notice that this slows down input processing of every IP packet!
Definition at line 458 of file opt.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:
- pbuf_free_callback(p);
- mem_free_callback(m);
Definition at line 212 of file opt.h.
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 956 of file opt.h.
TCP_OVERSIZE: The maximum number of bytes that tcp_write may allocate ahead of time in an attempt to create shorter pbuf chains for transmission. The meaningful range is 0 to TCP_MSS. Some suggested values are:
0: Disable oversized allocation. Each tcp_write() allocates a new pbuf (old behaviour). 1: Allocate size-aligned pbufs with minimal excess. Use this if your scatter-gather DMA requires aligned fragments. 128: Limit the pbuf/memory overhead to 20%. TCP_MSS: Try to create unfragmented TCP packets. TCP_MSS/4: Try to create 4 fragments or less per TCP packet.
Definition at line 1053 of file opt.h.