95 lines
3.0 KiB
C
95 lines
3.0 KiB
C
/**
|
|
* @file lwipopts.h
|
|
* @brief lwIP Configuration for NexusOS Membrane
|
|
*/
|
|
|
|
#ifndef LWIP_LWIPOPTS_H
|
|
#define LWIP_LWIPOPTS_H
|
|
|
|
// --- LwIP Debug Constants (Needed before opt.h defines them) ---
|
|
#define LWIP_DBG_ON 0x80U
|
|
#define LWIP_DBG_OFF 0x00U
|
|
#define LWIP_DBG_TRACE 0x40U
|
|
#define LWIP_DBG_STATE 0x20U
|
|
#define LWIP_DBG_FRESH 0x10U
|
|
#define LWIP_DBG_HALT 0x08U
|
|
|
|
#define NO_SYS 1
|
|
#define LWIP_SOCKET 0
|
|
#define LWIP_NETCONN 0
|
|
|
|
// DHCP Support
|
|
#define LWIP_DHCP 1
|
|
#define LWIP_ACD 0
|
|
#define LWIP_DHCP_DOES_ACD_CHECK 0
|
|
#define LWIP_AUTOIP 0
|
|
#define LWIP_UDP 1
|
|
#define LWIP_NETIF_HOSTNAME 1
|
|
#define LWIP_RAW 1
|
|
|
|
// DNS & TCP
|
|
#define LWIP_DNS 1
|
|
#define DNS_TABLE_SIZE 4
|
|
#define DNS_MAX_NAME_LENGTH 256
|
|
#define LWIP_TCP 1
|
|
#define TCP_MSS 1460
|
|
#define TCP_WND (4 * TCP_MSS)
|
|
#define TCP_SND_BUF (4 * TCP_MSS)
|
|
|
|
// Performance & Memory
|
|
#define MEM_ALIGNMENT 8
|
|
#define MEM_SIZE (128 * 1024)
|
|
#define MEMP_NUM_PBUF 32
|
|
#define MEMP_NUM_UDP_PCB 16 // Increased from 8 (DNS needs 1, DHCP needs 1, safety margin)
|
|
#define MEMP_NUM_TCP_PCB 8
|
|
#define PBUF_POOL_SIZE 64
|
|
#define MEMP_NUM_SYS_TIMEOUT 16
|
|
|
|
// Network Interface
|
|
#define LWIP_ETHERNET 1
|
|
#define LWIP_ARP 1
|
|
#define LWIP_TIMERS 1
|
|
#define ETHARP_SUPPORT_VLAN 0
|
|
|
|
// Checksum Configuration
|
|
// CHECK disabled (don't validate incoming - helps debug)
|
|
// GEN enabled (QEMU user-mode networking requires valid checksums)
|
|
#define CHECKSUM_CHECK_UDP 0
|
|
#define CHECKSUM_CHECK_TCP 0
|
|
#define CHECKSUM_CHECK_IP 0
|
|
#define CHECKSUM_CHECK_ICMP 0
|
|
#define CHECKSUM_GEN_UDP 1
|
|
#define CHECKSUM_GEN_TCP 1
|
|
#define CHECKSUM_GEN_IP 1
|
|
#define CHECKSUM_GEN_ICMP 1
|
|
|
|
// Loopback Support
|
|
#define LWIP_HAVE_LOOPIF 1
|
|
#define LWIP_NETIF_LOOPBACK 1
|
|
#define LWIP_LOOPBACK_MAX_PBUFS 8
|
|
|
|
// Debugging (Loud Mode)
|
|
#define LWIP_DEBUG 1
|
|
#define LWIP_PLATFORM_DIAG(x) lwip_platform_diag x
|
|
|
|
#define DHCP_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE | LWIP_DBG_STATE)
|
|
#define UDP_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
#define NETIF_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE | LWIP_DBG_STATE)
|
|
#define IP_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
#define ICMP_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
//#define MEM_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
//#define MEMP_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
//#define PBUF_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
#define ETHERNET_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
#define ETHARP_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE)
|
|
#define DNS_DEBUG (LWIP_DBG_ON | LWIP_DBG_TRACE | LWIP_DBG_STATE)
|
|
|
|
#define LWIP_DBG_MIN_LEVEL 0
|
|
#define LWIP_DBG_TYPES_ON 0xFFU
|
|
|
|
// Endianness
|
|
#undef BYTE_ORDER
|
|
#define BYTE_ORDER 1234
|
|
|
|
#endif
|