mirror of
https://github.com/lwip-tcpip/lwip.git
synced 2024-11-16 14:11:02 +00:00
fixed bug #35537: MEMP_NUM_* sanity checks should be disabled with MEMP_MEM_MALLOC==1
This commit is contained in:
parent
162432fe24
commit
8c5edcf564
@ -62,6 +62,10 @@ HISTORY
|
|||||||
|
|
||||||
++ Bugfixes:
|
++ Bugfixes:
|
||||||
|
|
||||||
|
2012-02-15: Simon Goldschmidt
|
||||||
|
* init.c: fixed bug #35537: MEMP_NUM_* sanity checks should be disabled with
|
||||||
|
MEMP_MEM_MALLOC==1
|
||||||
|
|
||||||
2012-02-12: Simon Goldschmidt
|
2012-02-12: Simon Goldschmidt
|
||||||
* tcp.h, tcp_in.c, tcp_out.c: partly fixed bug #25882: TCP hangs on
|
* tcp.h, tcp_in.c, tcp_out.c: partly fixed bug #25882: TCP hangs on
|
||||||
MSS > pcb->snd_wnd (by not creating segments bigger than half the window)
|
MSS > pcb->snd_wnd (by not creating segments bigger than half the window)
|
||||||
|
@ -85,6 +85,7 @@
|
|||||||
#if (!LWIP_UDP && LWIP_DNS)
|
#if (!LWIP_UDP && LWIP_DNS)
|
||||||
#error "If you want to use DNS, you have to define LWIP_UDP=1 in your lwipopts.h"
|
#error "If you want to use DNS, you have to define LWIP_UDP=1 in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
|
#if !MEMP_MEM_MALLOC /* MEMP_NUM_* checks are disabled when not using the pool allocator */
|
||||||
#if (LWIP_ARP && ARP_QUEUEING && (MEMP_NUM_ARP_QUEUE<=0))
|
#if (LWIP_ARP && ARP_QUEUEING && (MEMP_NUM_ARP_QUEUE<=0))
|
||||||
#error "If you want to use ARP Queueing, you have to define MEMP_NUM_ARP_QUEUE>=1 in your lwipopts.h"
|
#error "If you want to use ARP Queueing, you have to define MEMP_NUM_ARP_QUEUE>=1 in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
@ -97,6 +98,20 @@
|
|||||||
#if (LWIP_TCP && (MEMP_NUM_TCP_PCB<=0))
|
#if (LWIP_TCP && (MEMP_NUM_TCP_PCB<=0))
|
||||||
#error "If you want to use TCP, you have to define MEMP_NUM_TCP_PCB>=1 in your lwipopts.h"
|
#error "If you want to use TCP, you have to define MEMP_NUM_TCP_PCB>=1 in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
|
#if (LWIP_IGMP && (MEMP_NUM_IGMP_GROUP<=1))
|
||||||
|
#error "If you want to use IGMP, you have to define MEMP_NUM_IGMP_GROUP>1 in your lwipopts.h"
|
||||||
|
#endif
|
||||||
|
#if ((LWIP_NETCONN || LWIP_SOCKET) && (MEMP_NUM_TCPIP_MSG_API<=0))
|
||||||
|
#error "If you want to use Sequential API, you have to define MEMP_NUM_TCPIP_MSG_API>=1 in your lwipopts.h"
|
||||||
|
#endif
|
||||||
|
/* There must be sufficient timeouts, taking into account requirements of the subsystems. */
|
||||||
|
#if LWIP_TIMERS && (MEMP_NUM_SYS_TIMEOUT < (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT))
|
||||||
|
#error "MEMP_NUM_SYS_TIMEOUT is too low to accomodate all required timeouts"
|
||||||
|
#endif
|
||||||
|
#if (IP_REASSEMBLY && (MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS))
|
||||||
|
#error "MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS doesn't make sense since each struct ip_reassdata must hold 2 pbufs at least!"
|
||||||
|
#endif
|
||||||
|
#endif /* !MEMP_MEM_MALLOC */
|
||||||
#if (LWIP_TCP && (TCP_WND > 0xffff))
|
#if (LWIP_TCP && (TCP_WND > 0xffff))
|
||||||
#error "If you want to use TCP, TCP_WND must fit in an u16_t, so, you have to reduce it in your lwipopts.h"
|
#error "If you want to use TCP, TCP_WND must fit in an u16_t, so, you have to reduce it in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
@ -112,18 +127,12 @@
|
|||||||
#if (LWIP_TCP && TCP_LISTEN_BACKLOG && (TCP_DEFAULT_LISTEN_BACKLOG < 0) || (TCP_DEFAULT_LISTEN_BACKLOG > 0xff))
|
#if (LWIP_TCP && TCP_LISTEN_BACKLOG && (TCP_DEFAULT_LISTEN_BACKLOG < 0) || (TCP_DEFAULT_LISTEN_BACKLOG > 0xff))
|
||||||
#error "If you want to use TCP backlog, TCP_DEFAULT_LISTEN_BACKLOG must fit into an u8_t"
|
#error "If you want to use TCP backlog, TCP_DEFAULT_LISTEN_BACKLOG must fit into an u8_t"
|
||||||
#endif
|
#endif
|
||||||
#if (LWIP_IGMP && (MEMP_NUM_IGMP_GROUP<=1))
|
|
||||||
#error "If you want to use IGMP, you have to define MEMP_NUM_IGMP_GROUP>1 in your lwipopts.h"
|
|
||||||
#endif
|
|
||||||
#if (LWIP_NETIF_API && (NO_SYS==1))
|
#if (LWIP_NETIF_API && (NO_SYS==1))
|
||||||
#error "If you want to use NETIF API, you have to define NO_SYS=0 in your lwipopts.h"
|
#error "If you want to use NETIF API, you have to define NO_SYS=0 in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
#if ((LWIP_SOCKET || LWIP_NETCONN) && (NO_SYS==1))
|
#if ((LWIP_SOCKET || LWIP_NETCONN) && (NO_SYS==1))
|
||||||
#error "If you want to use Sequential API, you have to define NO_SYS=0 in your lwipopts.h"
|
#error "If you want to use Sequential API, you have to define NO_SYS=0 in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
#if ((LWIP_NETCONN || LWIP_SOCKET) && (MEMP_NUM_TCPIP_MSG_API<=0))
|
|
||||||
#error "If you want to use Sequential API, you have to define MEMP_NUM_TCPIP_MSG_API>=1 in your lwipopts.h"
|
|
||||||
#endif
|
|
||||||
#if (!LWIP_NETCONN && LWIP_SOCKET)
|
#if (!LWIP_NETCONN && LWIP_SOCKET)
|
||||||
#error "If you want to use Socket API, you have to define LWIP_NETCONN=1 in your lwipopts.h"
|
#error "If you want to use Socket API, you have to define LWIP_NETCONN=1 in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
@ -145,13 +154,6 @@
|
|||||||
#if (LWIP_TCP && ((LWIP_EVENT_API && LWIP_CALLBACK_API) || (!LWIP_EVENT_API && !LWIP_CALLBACK_API)))
|
#if (LWIP_TCP && ((LWIP_EVENT_API && LWIP_CALLBACK_API) || (!LWIP_EVENT_API && !LWIP_CALLBACK_API)))
|
||||||
#error "One and exactly one of LWIP_EVENT_API and LWIP_CALLBACK_API has to be enabled in your lwipopts.h"
|
#error "One and exactly one of LWIP_EVENT_API and LWIP_CALLBACK_API has to be enabled in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
/* There must be sufficient timeouts, taking into account requirements of the subsystems. */
|
|
||||||
#if LWIP_TIMERS && (MEMP_NUM_SYS_TIMEOUT < (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT))
|
|
||||||
#error "MEMP_NUM_SYS_TIMEOUT is too low to accomodate all required timeouts"
|
|
||||||
#endif
|
|
||||||
#if (IP_REASSEMBLY && (MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS))
|
|
||||||
#error "MEMP_NUM_REASSDATA > IP_REASS_MAX_PBUFS doesn't make sense since each struct ip_reassdata must hold 2 pbufs at least!"
|
|
||||||
#endif
|
|
||||||
#if (MEM_LIBC_MALLOC && MEM_USE_POOLS)
|
#if (MEM_LIBC_MALLOC && MEM_USE_POOLS)
|
||||||
#error "MEM_LIBC_MALLOC and MEM_USE_POOLS may not both be simultaneously enabled in your lwipopts.h"
|
#error "MEM_LIBC_MALLOC and MEM_USE_POOLS may not both be simultaneously enabled in your lwipopts.h"
|
||||||
#endif
|
#endif
|
||||||
@ -241,16 +243,22 @@
|
|||||||
/* MEMP sanity checks */
|
/* MEMP sanity checks */
|
||||||
#if !LWIP_DISABLE_MEMP_SANITY_CHECKS
|
#if !LWIP_DISABLE_MEMP_SANITY_CHECKS
|
||||||
#if LWIP_NETCONN
|
#if LWIP_NETCONN
|
||||||
|
#if MEMP_MEM_MALLOC
|
||||||
|
#if !MEMP_NUM_NETCONN && LWIP_SOCKET
|
||||||
|
#error "lwip_sanity_check: WARNING: MEMP_NUM_NETCONN cannot be 0 when using sockets!"
|
||||||
|
#endif
|
||||||
|
#else /* MEMP_MEM_MALLOC */
|
||||||
#if MEMP_NUM_NETCONN > (MEMP_NUM_TCP_PCB+MEMP_NUM_TCP_PCB_LISTEN+MEMP_NUM_UDP_PCB+MEMP_NUM_RAW_PCB)
|
#if MEMP_NUM_NETCONN > (MEMP_NUM_TCP_PCB+MEMP_NUM_TCP_PCB_LISTEN+MEMP_NUM_UDP_PCB+MEMP_NUM_RAW_PCB)
|
||||||
#error "lwip_sanity_check: WARNING: MEMP_NUM_NETCONN should be less than the sum of MEMP_NUM_{TCP,RAW,UDP}_PCB+MEMP_NUM_TCP_PCB_LISTEN. If you know what you are doing, define LWIP_DISABLE_MEMP_SANITY_CHECKS to 1 to disable this error."
|
#error "lwip_sanity_check: WARNING: MEMP_NUM_NETCONN should be less than the sum of MEMP_NUM_{TCP,RAW,UDP}_PCB+MEMP_NUM_TCP_PCB_LISTEN. If you know what you are doing, define LWIP_DISABLE_MEMP_SANITY_CHECKS to 1 to disable this error."
|
||||||
#endif
|
#endif
|
||||||
|
#endif /* MEMP_MEM_MALLOC */
|
||||||
#endif /* LWIP_NETCONN */
|
#endif /* LWIP_NETCONN */
|
||||||
#endif /* !LWIP_DISABLE_MEMP_SANITY_CHECKS */
|
#endif /* !LWIP_DISABLE_MEMP_SANITY_CHECKS */
|
||||||
|
|
||||||
/* TCP sanity checks */
|
/* TCP sanity checks */
|
||||||
#if !LWIP_DISABLE_TCP_SANITY_CHECKS
|
#if !LWIP_DISABLE_TCP_SANITY_CHECKS
|
||||||
#if LWIP_TCP
|
#if LWIP_TCP
|
||||||
#if MEMP_NUM_TCP_SEG < TCP_SND_QUEUELEN
|
#if !MEMP_MEM_MALLOC && (MEMP_NUM_TCP_SEG < TCP_SND_QUEUELEN)
|
||||||
#error "lwip_sanity_check: WARNING: MEMP_NUM_TCP_SEG should be at least as big as TCP_SND_QUEUELEN. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error."
|
#error "lwip_sanity_check: WARNING: MEMP_NUM_TCP_SEG should be at least as big as TCP_SND_QUEUELEN. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error."
|
||||||
#endif
|
#endif
|
||||||
#if TCP_SND_BUF < (2 * TCP_MSS)
|
#if TCP_SND_BUF < (2 * TCP_MSS)
|
||||||
@ -265,7 +273,7 @@
|
|||||||
#if TCP_SNDQUEUELOWAT >= TCP_SND_QUEUELEN
|
#if TCP_SNDQUEUELOWAT >= TCP_SND_QUEUELEN
|
||||||
#error "lwip_sanity_check: WARNING: TCP_SNDQUEUELOWAT must be less than TCP_SND_QUEUELEN. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error."
|
#error "lwip_sanity_check: WARNING: TCP_SNDQUEUELOWAT must be less than TCP_SND_QUEUELEN. If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error."
|
||||||
#endif
|
#endif
|
||||||
#if TCP_WND > (PBUF_POOL_SIZE * (PBUF_POOL_BUFSIZE - (PBUF_LINK_HLEN + PBUF_IP_HLEN + PBUF_TRANSPORT_HLEN)))
|
#if !MEMP_MEM_MALLOC && (TCP_WND > (PBUF_POOL_SIZE * (PBUF_POOL_BUFSIZE - (PBUF_LINK_HLEN + PBUF_IP_HLEN + PBUF_TRANSPORT_HLEN))))
|
||||||
#error "lwip_sanity_check: WARNING: TCP_WND is larger than space provided by PBUF_POOL_SIZE * (PBUF_POOL_BUFSIZE - protocol headers). If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error."
|
#error "lwip_sanity_check: WARNING: TCP_WND is larger than space provided by PBUF_POOL_SIZE * (PBUF_POOL_BUFSIZE - protocol headers). If you know what you are doing, define LWIP_DISABLE_TCP_SANITY_CHECKS to 1 to disable this error."
|
||||||
#endif
|
#endif
|
||||||
#if TCP_WND < TCP_MSS
|
#if TCP_WND < TCP_MSS
|
||||||
|
Loading…
Reference in New Issue
Block a user