-#undef LWIP_DEBUG
-
-#define ETHARP_DEBUG LWIP_DBG_ON
-#define NETIF_DEBUG LWIP_DBG_ON
-#define PBUF_DEBUG LWIP_DBG_ON
-#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_ON
-#define IP_REASS_DEBUG LWIP_DBG_OFF
-#define RAW_DEBUG LWIP_DBG_OFF
-#define MEM_DEBUG LWIP_DBG_ON
-#define MEMP_DEBUG LWIP_DBG_ON
-#define SYS_DEBUG LWIP_DBG_OFF
-#define TCP_DEBUG LWIP_DBG_ON
-#define TCP_INPUT_DEBUG LWIP_DBG_ON
-#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
+/* For big ones... */
+extern void _memcpy(void *dest, const void *src, int bytes);
+#define MEMCPY(dst,src,len) _memcpy(dst,src,len)
+
+/* Lots of tricks from http://lists.gnu.org/archive/html/lwip-users/2006-11/msg00007.html */
+
+#define MEM_SIZE (128*1024)
+#define TCP_MSS 1460
+#define TCP_WND 24000
+#define TCP_SND_BUF (16 * TCP_MSS)
+#define TCP_SND_QUEUELEN 16
+
+#define MEMP_NUM_PBUF 256
+#define PBUF_POOL_SIZE 128
+#define PBUF_POOL_BUFSIZE 512
+
+#define LWIP_STATS 1
+#define LWIP_STATS_DISPLAY 1
+#define U16_F "d"
+#define U32_F "d"