lwIP  2.1.0
Lightweight IP stack
Internal memory pools

Macros

#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_ALTCP_PCB   MEMP_NUM_TCP_PCB
 
#define MEMP_NUM_REASSDATA   5
 
#define MEMP_NUM_FRAG_PBUF   15
 
#define MEMP_NUM_ARP_QUEUE   30
 
#define MEMP_NUM_IGMP_GROUP   8
 
#define LWIP_NUM_SYS_TIMEOUT_INTERNAL   (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_NUM_TIMEOUTS + (LWIP_IPV6 * (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD)))
 
#define MEMP_NUM_SYS_TIMEOUT   LWIP_NUM_SYS_TIMEOUT_INTERNAL
 
#define MEMP_NUM_NETBUF   2
 
#define MEMP_NUM_NETCONN   4
 
#define MEMP_NUM_SELECT_CB   4
 
#define MEMP_NUM_TCPIP_MSG_API   8
 
#define MEMP_NUM_TCPIP_MSG_INPKT   8
 
#define MEMP_NUM_NETDB   1
 
#define MEMP_NUM_LOCALHOSTLIST   1
 
#define PBUF_POOL_SIZE   16
 
#define MEMP_NUM_API_MSG   MEMP_NUM_TCPIP_MSG_API
 
#define MEMP_NUM_DNS_API_MSG   MEMP_NUM_TCPIP_MSG_API
 
#define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA   MEMP_NUM_TCPIP_MSG_API
 
#define MEMP_NUM_NETIFAPI_MSG   MEMP_NUM_TCPIP_MSG_API
 

Detailed Description

Macro Definition Documentation

◆ LWIP_NUM_SYS_TIMEOUT_INTERNAL

#define LWIP_NUM_SYS_TIMEOUT_INTERNAL   (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_NUM_TIMEOUTS + (LWIP_IPV6 * (1 + LWIP_IPV6_REASS + LWIP_IPV6_MLD)))

The number of sys timeouts used by the core stack (not apps) The default number of timeouts is calculated here for all enabled modules.

◆ MEMP_NUM_ALTCP_PCB

#define MEMP_NUM_ALTCP_PCB   MEMP_NUM_TCP_PCB

MEMP_NUM_ALTCP_PCB: the number of simultaneously active altcp layer pcbs. (requires the LWIP_ALTCP option) Connections with multiple layers require more than one altcp_pcb (e.g. TLS over TCP requires 2 altcp_pcbs, one for TLS and one for TCP).

◆ MEMP_NUM_API_MSG

#define MEMP_NUM_API_MSG   MEMP_NUM_TCPIP_MSG_API

MEMP_NUM_API_MSG: the number of concurrently active calls to various socket, netconn, and tcpip functions

◆ MEMP_NUM_ARP_QUEUE

#define MEMP_NUM_ARP_QUEUE   30

MEMP_NUM_ARP_QUEUE: the number of simultaneously queued outgoing packets (pbufs) that are waiting for an ARP request (to resolve their destination address) to finish. (requires the ARP_QUEUEING option)

◆ MEMP_NUM_DNS_API_MSG

#define MEMP_NUM_DNS_API_MSG   MEMP_NUM_TCPIP_MSG_API

MEMP_NUM_DNS_API_MSG: the number of concurrently active calls to netconn_gethostbyname

◆ MEMP_NUM_FRAG_PBUF

#define MEMP_NUM_FRAG_PBUF   15

MEMP_NUM_FRAG_PBUF: the number of IP fragments simultaneously sent (fragments, not whole packets!). This is only used with LWIP_NETIF_TX_SINGLE_PBUF==0 and only has to be > 1 with DMA-enabled MACs where the packet is not yet sent when netif->output returns.

◆ MEMP_NUM_IGMP_GROUP

#define MEMP_NUM_IGMP_GROUP   8

MEMP_NUM_IGMP_GROUP: The number of multicast groups whose network interfaces can be members at the same time (one per netif - allsystems group -, plus one per netif membership). (requires the LWIP_IGMP option)

◆ MEMP_NUM_LOCALHOSTLIST

#define MEMP_NUM_LOCALHOSTLIST   1

MEMP_NUM_LOCALHOSTLIST: the number of host entries in the local host list if DNS_LOCAL_HOSTLIST_IS_DYNAMIC==1.

◆ MEMP_NUM_NETBUF

#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)

◆ MEMP_NUM_NETCONN

#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)

◆ MEMP_NUM_NETDB

#define MEMP_NUM_NETDB   1

MEMP_NUM_NETDB: the number of concurrently running lwip_addrinfo() calls (before freeing the corresponding memory using lwip_freeaddrinfo()).

◆ MEMP_NUM_NETIFAPI_MSG

#define MEMP_NUM_NETIFAPI_MSG   MEMP_NUM_TCPIP_MSG_API

MEMP_NUM_NETIFAPI_MSG: the number of concurrently active calls to the netifapi functions

◆ MEMP_NUM_PBUF

#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.

◆ MEMP_NUM_RAW_PCB

#define MEMP_NUM_RAW_PCB   4

MEMP_NUM_RAW_PCB: Number of raw connection PCBs (requires the LWIP_RAW option)

◆ MEMP_NUM_REASSDATA

#define MEMP_NUM_REASSDATA   5

MEMP_NUM_REASSDATA: the number of IP packets simultaneously queued for reassembly (whole packets, not fragments!)

◆ MEMP_NUM_SELECT_CB

#define MEMP_NUM_SELECT_CB   4

MEMP_NUM_SELECT_CB: the number of struct lwip_select_cb. (Only needed if you have LWIP_MPU_COMPATIBLE==1 and use the socket API. In that case, you need one per thread calling lwip_select.)

◆ MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA

#define MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA   MEMP_NUM_TCPIP_MSG_API

MEMP_NUM_SOCKET_SETGETSOCKOPT_DATA: the number of concurrently active calls to getsockopt/setsockopt

◆ MEMP_NUM_SYS_TIMEOUT

#define MEMP_NUM_SYS_TIMEOUT   LWIP_NUM_SYS_TIMEOUT_INTERNAL

MEMP_NUM_SYS_TIMEOUT: the number of simultaneously active timeouts. The default number of timeouts is calculated here for all enabled modules. The formula expects settings to be either '0' or '1'.

◆ MEMP_NUM_TCP_PCB

#define MEMP_NUM_TCP_PCB   5

MEMP_NUM_TCP_PCB: the number of simultaneously active TCP connections. (requires the LWIP_TCP option)

◆ MEMP_NUM_TCP_PCB_LISTEN

#define MEMP_NUM_TCP_PCB_LISTEN   8

MEMP_NUM_TCP_PCB_LISTEN: the number of listening TCP connections. (requires the LWIP_TCP option)

◆ MEMP_NUM_TCP_SEG

#define MEMP_NUM_TCP_SEG   16

MEMP_NUM_TCP_SEG: the number of simultaneously queued TCP segments. (requires the LWIP_TCP option)

◆ MEMP_NUM_TCPIP_MSG_API

#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)

◆ MEMP_NUM_TCPIP_MSG_INPKT

#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)

◆ MEMP_NUM_UDP_PCB

#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)

◆ PBUF_POOL_SIZE

#define PBUF_POOL_SIZE   16

PBUF_POOL_SIZE: the number of buffers in the pbuf pool.