rumpk/libs/membrane/include/lwipopts.h

38 lines
1.4 KiB
C

#ifndef LWIP_HDR_LWIPOPTS_MEMBRANE_H
#define LWIP_HDR_LWIPOPTS_MEMBRANE_H
// 1. Run in the App's Thread
#define NO_SYS 1
#define LWIP_TIMERS 1
// 2. Protection (Required for sys_prot_t type definition)
#define SYS_LIGHTWEIGHT_PROT 1
// 3. Memory (Internal Pools)
#define MEM_LIBC_MALLOC 0
#define MEMP_MEM_MALLOC 0
#define MEM_SIZE (256 * 1024) // 256KB Heap for LwIP
#define MEMP_NUM_PBUF 64 // High RX capacity
#define PBUF_POOL_SIZE 128 // Large packet pool
#define MEM_ALIGNMENT 64
// 4. Performance (Fast Path)
#define TCP_MSS 1460
#define TCP_WND (16 * TCP_MSS) // Larger window for high throughput
#define LWIP_TCP_KEEPALIVE 1
// 5. Disable System Features
#define LWIP_NETCONN 0 // We use Raw API
#define LWIP_SOCKET 0 // We implement our own Shim
#define LWIP_STATS 0 // Save cycles
#define LWIP_DHCP 1 // Enable Dynamic Host Configuration
#define LWIP_ICMP 1 // Enable ICMP (Ping)
#define LWIP_DHCP_DOES_ACD_CHECK 0 // Disable Address Conflict Detection
#define LWIP_ACD 0 // Disable ACD module
// Disable all debugs and diagnostics for a clean link
#define LWIP_DEBUG 0
#define LWIP_PLATFORM_DIAG(x) do {} while(0)
#endif