This looks good. Thanks for cleaning this up. Chris
On 30/3/2023 7:51 am, Kinsey Moore wrote: > This reworks all BSPs to use a shared lwipopts.h that includes > lwipbspopts.h for per-BSP configuration instead of having lwIP > configuration scattered everywhere for individual BSPs. This also > consolidates the shared portions of ZynqMP BSP-specific configuration > and Xilinx-specific configuration into shared files for reuse. > --- > defs/bsps/arm/tms570_base.json | 1 + > rtemslwip/beaglebone/lwipbspopts.h | 1 + > rtemslwip/beaglebone/lwipopts.h | 276 ----------------------- > rtemslwip/include/legacy_lwipopts.h | 53 +++++ > rtemslwip/include/lwipopts.h | 281 ++++++++++++++++++++++++ > rtemslwip/tms570/lwipbspopts.h | 1 + > rtemslwip/xilinx/xlwipopts.h | 35 +++ > rtemslwip/zynqmp/common_lwipopts.h | 3 + > rtemslwip/zynqmp/lwipopts.h | 128 ----------- > rtemslwip/zynqmp_cfc400x/lwipbspopts.h | 2 +- > rtemslwip/zynqmp_hardware/lwipbspopts.h | 2 +- > rtemslwip/zynqmp_qemu/lwipbspopts.h | 2 +- > uLan/ports/os/lwipopts.h | 272 ----------------------- > 13 files changed, 378 insertions(+), 679 deletions(-) > create mode 100644 rtemslwip/beaglebone/lwipbspopts.h > delete mode 100644 rtemslwip/beaglebone/lwipopts.h > create mode 100644 rtemslwip/include/legacy_lwipopts.h > create mode 100644 rtemslwip/include/lwipopts.h > create mode 100644 rtemslwip/tms570/lwipbspopts.h > create mode 100644 rtemslwip/xilinx/xlwipopts.h > create mode 100644 rtemslwip/zynqmp/common_lwipopts.h > delete mode 100644 rtemslwip/zynqmp/lwipopts.h > delete mode 100644 uLan/ports/os/lwipopts.h > > diff --git a/defs/bsps/arm/tms570_base.json b/defs/bsps/arm/tms570_base.json > index a1d1e24..e618d5c 100644 > --- a/defs/bsps/arm/tms570_base.json > +++ b/defs/bsps/arm/tms570_base.json > @@ -2,6 +2,7 @@ > "header-paths-to-import": [ > "uLan/ports/driver/tms570_emac", > "uLan/ports/os", > + "rtemslwip/tms570", > "cpsw/src/include" > ], > "source-files-to-import": [ > diff --git a/rtemslwip/beaglebone/lwipbspopts.h > b/rtemslwip/beaglebone/lwipbspopts.h > new file mode 100644 > index 0000000..85b08af > --- /dev/null > +++ b/rtemslwip/beaglebone/lwipbspopts.h > @@ -0,0 +1 @@ > +#include <legacy_lwipopts.h> > diff --git a/rtemslwip/beaglebone/lwipopts.h b/rtemslwip/beaglebone/lwipopts.h > deleted file mode 100644 > index 888fae4..0000000 > --- a/rtemslwip/beaglebone/lwipopts.h > +++ /dev/null > @@ -1,276 +0,0 @@ > -#if 0 > -/* > - * Copyright (c) 2001-2003 Swedish Institute of Computer Science. > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > modification, > - * are permitted provided that the following conditions are met: > - * > - * 1. Redistributions of source code must retain the above copyright notice, > - * this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > notice, > - * this list of conditions and the following disclaimer in the > documentation > - * and/or other materials provided with the distribution. > - * 3. The name of the author may not be used to endorse or promote products > - * derived from this software without specific prior written permission. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > IMPLIED > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > NO EVENT > - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, > - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, > PROCUREMENT > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > ARISING > - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY > - * OF SUCH DAMAGE. > - * > - * This file is part of the lwIP TCP/IP stack. > - * > - * Author: Simon Goldschmidt > - * > - */ > -#ifndef LWIP_HDR_LWIPOPTS_H__ > -#define LWIP_HDR_LWIPOPTS_H__ > - > -/* Prevent having to link sys_arch.c (we don't test the API layers in unit > tests) */ > -#define NO_SYS 0 > -#define LWIP_NETCONN 1 > -#define LWIP_SOCKET 1 > -#define LWIP_DNS 1 > - > -#define LWIP_IPV6 1 > -#define LWIP_IPV4 1 > - > -#define LWIP_ETHERNET 1 > -#define LWIP_NETIF_API 1 > -#define LWIP_AUTOIP 1 > -/* Enable DHCP to test it, disable UDP checksum to easier inject packets */ > -#define LWIP_DHCP 1 > -#define LWIP_TIMEVAL_PRIVATE 0 > -#define LWIP_POSIX_SOCKETS_IO_NAMES 1 > -//#define LWIP_COMPAT_SOCKETS 2 > -#ifndef FIONREAD > -#define FIONREAD 1 > -#endif > -#ifndef FIONBIO > -#define FIONBIO 1 > -#endif > -#define THREAD_STACK_SIZE 4096 > - > -#define LWIP_TIMERS 1 > -/* Minimal changes to opt.h required for tcp unit tests: */ > - > -#define MEM_SIZE 16000 > -#define TCP_SND_QUEUELEN 40 > -#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN > -#define TCP_SND_BUF (12 * TCP_MSS) > -#define TCP_WND (10 * TCP_MSS) > -#define LWIP_WND_SCALE 1 > -#define TCP_RCV_SCALE 0 > -#define PBUF_POOL_SIZE 400 // pbuf tests need ~200KByte > - > -/* Minimal changes to opt.h required for etharp unit tests: */ > -#define ETHARP_SUPPORT_STATIC_ENTRIES 1 > - > -#endif /* LWIP_HDR_LWIPOPTS_H__ */ > - > -#endif /* 0 */ > - > -/** > - * \file lwipopts.h - Configuration options for lwIP > - * > - * Copyright (c) 2010 Texas Instruments Incorporated > - */ > -/* > - * Copyright (c) 2001-2004 Swedish Institute of Computer Science. > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > modification, > - * are permitted provided that the following conditions are met: > - * > - * 1. Redistributions of source code must retain the above copyright notice, > - * this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > notice, > - * this list of conditions and the following disclaimer in the > documentation > - * and/or other materials provided with the distribution. > - * 3. The name of the author may not be used to endorse or promote products > - * derived from this software without specific prior written permission. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > IMPLIED > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > NO EVENT > - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, > - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, > PROCUREMENT > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > ARISING > - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY > - * OF SUCH DAMAGE. > - * > - * This file is part of the lwIP TCP/IP stack. > - * > - * Author: Adam Dunkels <a...@sics.se> > - * > - */ > - > -#ifndef __LWIPOPTS_H__ > -#define __LWIPOPTS_H__ > - > -/***************************************************************************** > -** CONFIGURATIONS > -*****************************************************************************/ > - > -/* > -** The macro CPSW_DUAL_MAC_MODE shall be defined for using CPSW ports in > -** Dual MAC mode. > -*/ > -#define CPSW_DUAL_MAC_MODE > - > -/* > -** The below macro should be defined for using lwIP with cache. For cache > -** enabling, pbuf pool shall be cache line aligned. This is done by using > -** separate pool for each memory. The alignment of pbuf pool to cache line > -** size is done in /ports/cpsw/include/arch/cc.h. > -*/ > -/*#define LWIP_CACHE_ENABLED*/ > - > -#define SOC_CACHELINE_SIZE_BYTES 64 /* Number of bytes in > - a cache line */ > -/* > -** The timeout for DHCP completion. lwIP library will wait for DHCP > -** completion for (LWIP_DHCP_TIMEOUT / 100) seconds. > -*/ > -#define LWIP_DHCP_TIMEOUT 1000 > - > -/* > -** The number of times DHCP is attempted. Each time, the library will wait > -** for (LWIP_DHCP_TIMEOUT / 100) seconds for DHCP completion. > -*/ > -#define NUM_DHCP_TRIES 5 > - > -#define LWIP_ETHERNET 1 > -#define LWIP_ARP 1 > -#define LWIP_DNS 1 > - > -/***************************************************************************** > -** lwIP SPECIFIC DEFINITIONS - To be used by lwIP stack > -*****************************************************************************/ > -#define HOST_TMR_INTERVAL 0 > -#define DYNAMIC_HTTP_HEADERS > - > -/***************************************************************************** > -** Platform specific locking > -*****************************************************************************/ > -#define SYS_LIGHTWEIGHT_PROT 1 > -#define NO_SYS 0 > -#define NO_SYS_NO_TIMERS 0 > - > -/***************************************************************************** > -** Memory Options > -*****************************************************************************/ > -#define MEM_ALIGNMENT 4 > -#define MEM_SIZE (1024 * 1024) /* 4K */ > - > -#define MEMP_NUM_PBUF 96 > -#define MEMP_NUM_TCP_PCB 32 > -#define MEMP_NUM_TCP_SEG 32 > -#define PBUF_POOL_SIZE 512 > -#define MEMP_MEM_MALLOC 1 > -#define MEMP_MEM_INIT 1 > -#define MEMP_OVERFLOW_CHECK 0 > - > -#ifdef LWIP_CACHE_ENABLED > -#define MEMP_SEPARATE_POOLS 1 /* We want the pbuf > - pool cache line > - aligned*/ > -#endif > - > -//#define MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + > (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT) > - > -/***************************************************************************** > -** IP Options > -*****************************************************************************/ > -#define IP_REASSEMBLY 0 > -#define IP_FRAG 0 > -#define LWIP_IPV4 1 > -#define LWIP_IPV6 1 > - > -/***************************************************************************** > -** DHCP Options > -*****************************************************************************/ > -#define LWIP_DHCP 1 > -#define DHCP_DOES_ARP_CHECK 0 > - > -/***************************************************************************** > -** Auto IP Options > -*****************************************************************************/ > -#define LWIP_AUTOIP 1 > -#define LWIP_DHCP_AUTOIP_COOP ((LWIP_DHCP) && (LWIP_AUTOIP)) > - > -/***************************************************************************** > -** TCP Options > -*****************************************************************************/ > -#define TCP_MSS 1500 > -#define TCP_WND (8 * TCP_MSS) > -#define TCP_SND_BUF (8 * TCP_MSS) > -#define TCP_OVERSIZE TCP_MSS > -#define LWIP_TCPIP_CORE_LOCKING 1 > - > -/***************************************************************************** > -** PBUF Options > -*****************************************************************************/ > -#define PBUF_LINK_HLEN 14 > -#define PBUF_POOL_BUFSIZE 1520 /* + size of struct pbuf > - shall be cache line > - aligned be enabled */ > -#define ETH_PAD_SIZE 0 > -#define LWIP_NETCONN 1 > - > -/***************************************************************************** > -** Socket Options > -*****************************************************************************/ > -#define LWIP_SOCKET 1 > -#define SO_REUSE 1 > - > -/***************************************************************************** > -** Debugging options > -*****************************************************************************/ > -#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_OFF > -#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON | LWIP_DBG_TRACE \ > - |LWIP_DBG_STATE | LWIP_DBG_FRESH) > -#define DHCP_DEBUG LWIP_DBG_OFF > -#define NETIF_DEBUG LWIP_DBG_OFF > -#define IP_DEBUG LWIP_DBG_OFF > -#define UDP_DEBUG LWIP_DBG_OFF > -#define ETHARP_DEBUG LWIP_DBG_OFF > -#define SYS_DEBUG LWIP_DBG_OFF > -#define RAW_DEBUG LWIP_DBG_OFF > -#define MEM_DEBUG LWIP_DBG_OFF > -#define MEMP_DEBUG LWIP_DBG_OFF > -#define PBUF_DEBUG LWIP_DBG_OFF > -#define TCPIP_DEBUG LWIP_DBG_OFF > -#define APP_DEBUG LWIP_DBG_OFF > -#define SOCKETS_DEBUG LWIP_DBG_OFF > -#define LWIP_STATS 0 > -#define LWIP_STATS_DISPLAY 0 > -#define LWIP_STATS_POSIX 0 > -#define LWIP_DNS_API_DEFINE_ERRORS 1 > - > - > - > -/** > - * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. > - * (only used if you use sockets.c) > - */ > -#define LWIP_COMPAT_SOCKETS 1 > - > - #define LWIP_TIMEVAL_PRIVATE 0 > - > - #define LWIP_RAW 0 > - > -#define tskIDLE_PRIORITY RTEMS_MAXIMUM_PRIORITY > -#define portTICK_RATE_MS (rtems_clock_get_ticks_per_second() * 1000) > -#define vTaskDelay(x) sys_arch_delay(x) > - > -#endif /* __LWIPOPTS_H__ */ > diff --git a/rtemslwip/include/legacy_lwipopts.h > b/rtemslwip/include/legacy_lwipopts.h > new file mode 100644 > index 0000000..322b87d > --- /dev/null > +++ b/rtemslwip/include/legacy_lwipopts.h > @@ -0,0 +1,53 @@ > +/* > + * Copyright (C) 2023 On-Line Applications Research Corporation (OAR) > + * Written by Kinsey Moore <kinsey.mo...@oarcorp.com> > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS > IS" > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > + * POSSIBILITY OF SUCH DAMAGE. > + */ > + > +/* > + * The options here are pruned down, but roughly equivalent to the original > set > + * of options configured for the BeagleBone and TMS570 BSPs originally pulled > + * from the uLan repository. > + */ > + > +#ifndef __LEGACY_LWIPOPTS_H__ > +#define __LEGACY_LWIPOPTS_H__ > + > +#define CPSW_DUAL_MAC_MODE > + > +#define NUM_DHCP_TRIES 5 > + > +#define LWIP_ETHERNET 1 > + > +#define LWIP_TCPIP_CORE_LOCKING 1 > + > +/***************************************************************************** > +** Memory Options > +*****************************************************************************/ > +#define MEM_ALIGNMENT 4 > +#define MEM_SIZE (1024 * 1024) /* 4K */ > +#define MEMP_NUM_TCP_SEG 32 > +#define MEMP_MEM_MALLOC 1 > +#define MEMP_MEM_INIT 1 > + > +#endif /* __LEGACY_LWIPOPTS_H__ */ > diff --git a/rtemslwip/include/lwipopts.h b/rtemslwip/include/lwipopts.h > new file mode 100644 > index 0000000..157cce8 > --- /dev/null > +++ b/rtemslwip/include/lwipopts.h > @@ -0,0 +1,281 @@ > +/* > + * Copyright (C) 2023 On-Line Applications Research Corporation (OAR) > + * Written by Kinsey Moore <kinsey.mo...@oarcorp.com> > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS > IS" > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > + * POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#ifndef __LWIPOPTS_H__ > +#define __LWIPOPTS_H__ > + > +/* Critical items that all BSPs must use for full functionality */ > +#define SYS_LIGHTWEIGHT_PROT 1 > +#define NO_SYS 0 > +#define LWIP_SOCKET 1 > +#define SO_REUSE 1 > +#define LWIP_COMPAT_SOCKETS 1 > +#define LWIP_NETCONN 1 > +#define LWIP_NETIF_LOOPBACK 1 /* Required for socketpair implementation */ > +#define LWIP_NETIF_API 1 > +#define LWIP_TIMEVAL_PRIVATE 0 > +#define LWIP_CALLBACK_API 1 > +#define NO_SYS_NO_TIMERS 1 > +#define LWIP_COMPAT_MUTEX 0 > +#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1 > + > +#include <lwipbspopts.h> > + > +/* Sane defaults that the configuration or BSP can override */ > + > +#ifndef ARP_QUEUEING > +#define ARP_QUEUEING 1 > +#endif > + > +#ifndef ARP_TABLE_SIZE > +#define ARP_TABLE_SIZE 10 > +#endif > + > +#ifndef CHECKSUM_CHECK_IP > +#define CHECKSUM_CHECK_IP 1 > +#endif > + > +#ifndef CHECKSUM_CHECK_TCP > +#define CHECKSUM_CHECK_TCP 1 > +#endif > + > +#ifndef CHECKSUM_CHECK_UDP > +#define CHECKSUM_CHECK_UDP 1 > +#endif > + > +#ifndef CHECKSUM_GEN_IP > +#define CHECKSUM_GEN_IP 1 > +#endif > + > +#ifndef CHECKSUM_GEN_TCP > +#define CHECKSUM_GEN_TCP 1 > +#endif > + > +#ifndef CHECKSUM_GEN_UDP > +#define CHECKSUM_GEN_UDP 1 > +#endif > + > +#ifndef CONFIG_LINKSPEED_AUTODETECT > +#define CONFIG_LINKSPEED_AUTODETECT 1 > +#endif > + > +#ifndef DEFAULT_ACCEPTMBOX_SIZE > +#define DEFAULT_ACCEPTMBOX_SIZE 5 > +#endif > + > +#ifndef DEFAULT_TCP_RECVMBOX_SIZE > +#define DEFAULT_TCP_RECVMBOX_SIZE 20 > +#endif > + > +#ifndef DEFAULT_UDP_RECVMBOX_SIZE > +#define DEFAULT_UDP_RECVMBOX_SIZE 20 > +#endif > + > +#ifndef DHCP_DOES_ARP_CHECK > +#define DHCP_DOES_ARP_CHECK 1 > +#endif > + > +#ifndef ICMP_TTL > +#define ICMP_TTL 255 > +#endif > + > +#ifndef IP_DEFAULT_TTL > +#define IP_DEFAULT_TTL 255 > +#endif > + > +#ifndef IP_FORWARD > +#define IP_FORWARD 0 > +#endif > + > +#ifndef IP_FRAG > +#define IP_FRAG 1 > +#endif > + > +#ifndef IP_FRAG_MAX_MTU > +#define IP_FRAG_MAX_MTU 1500 > +#endif > + > +#ifndef IP_OPTIONS > +#define IP_OPTIONS 1 > +#endif > + > +#ifndef IP_OPTIONS_ALLOWED > +#define IP_OPTIONS_ALLOWED 0 > +#endif > + > +#ifndef IP_REASS_BUFSIZE > +#define IP_REASS_BUFSIZE 5760 > +#endif > + > +#ifndef IP_REASSEMBLY > +#define IP_REASSEMBLY 1 > +#endif > + > +#ifndef LWIP_ARP > +#define LWIP_ARP 1 > +#endif > + > +#ifndef LWIP_AUTOIP > +#define LWIP_AUTOIP 1 > +#endif > + > +#ifndef LWIP_CHKSUM_ALGORITHM > +#define LWIP_CHKSUM_ALGORITHM 3 > +#endif > + > +#ifndef LWIP_DHCP > +#define LWIP_DHCP 1 > +#endif > + > +#ifndef LWIP_DHCP_AUTOIP_COOP > +#define LWIP_DHCP_AUTOIP_COOP ((LWIP_DHCP) && (LWIP_AUTOIP)) > +#endif > + > +#ifndef LWIP_DNS > +#define LWIP_DNS 1 > +#endif > + > +#ifndef LWIP_IPV4 > +#define LWIP_IPV4 1 > +#endif > + > +#ifndef LWIP_IPV6 > +#define LWIP_IPV6 1 > +#endif > + > +#ifndef LWIP_TCP > +#define LWIP_TCP 1 > +#endif > + > +#ifndef LWIP_UDP > +#define LWIP_UDP 1 > +#endif > + > +#ifndef MEMP_NUM_FRAG_PBUF > +#define MEMP_NUM_FRAG_PBUF 256 > +#endif > + > +#ifndef MEMP_NUM_NETCONN > +#define MEMP_NUM_NETCONN 16 > +#endif > + > +#ifndef MEMP_NUM_PBUF > +#define MEMP_NUM_PBUF 96 > +#endif > + > +#ifndef MEMP_NUM_TCP_PCB > +#define MEMP_NUM_TCP_PCB 32 > +#endif > + > +#ifndef MEMP_NUM_TCP_PCB_LISTEN > +#define MEMP_NUM_TCP_PCB_LISTEN 8 > +#endif > + > +#ifndef MEMP_NUM_TCP_SEG > +#define MEMP_NUM_TCP_SEG 256 > +#endif > + > +#ifndef MEMP_NUM_UDP_PCB > +#define MEMP_NUM_UDP_PCB 16 > +#endif > + > +#ifndef MEMP_SEPARATE_POOLS > +#define MEMP_SEPARATE_POOLS 1 > +#endif > + > +#ifndef MEM_SIZE > +#define MEM_SIZE 2 * 1024 * 1024 > +#endif > + > +#ifndef PBUF_LINK_HLEN > +#define PBUF_LINK_HLEN 16 > +#endif > + > +#ifndef PBUF_POOL_BUFSIZE > +#define PBUF_POOL_BUFSIZE 1600 > +#endif > + > +#ifndef PBUF_POOL_SIZE > +#define PBUF_POOL_SIZE 512 > +#endif > + > +#ifndef TCP_FAST_INTERVAL > +#define TCP_FAST_INTERVAL 250 > +#endif > + > +#ifndef TCPIP_MBOX_SIZE > +#define TCPIP_MBOX_SIZE 20 > +#endif > + > +#ifndef TCP_MAXRTX > +#define TCP_MAXRTX 12 > +#endif > + > +#ifndef TCP_MSS > +#define TCP_MSS 1576 > +#endif > + > +#ifndef TCP_OVERSIZE > +#define TCP_OVERSIZE TCP_MSS > +#endif > + > +#ifndef TCP_QUEUE_OOSEQ > +#define TCP_QUEUE_OOSEQ 1 > +#endif > + > +#ifndef TCP_SLOW_INTERVAL > +#define TCP_SLOW_INTERVAL 500 > +#endif > + > +#ifndef TCP_SND_BUF > +#define TCP_SND_BUF (8 * TCP_MSS) > +#endif > + > +#ifndef TCP_SND_QUEUELEN > +#define TCP_SND_QUEUELEN 16 * TCP_SND_BUF / TCP_MSS > +#endif > + > +#ifndef TCP_SYNMAXRTX > +#define TCP_SYNMAXRTX 4 > +#endif > + > +#ifndef TCP_TMR_INTERVAL > +#define TCP_TMR_INTERVAL 250 > +#endif > + > +#ifndef TCP_TTL > +#define TCP_TTL 255 > +#endif > + > +#ifndef TCP_WND > +#define TCP_WND (8 * TCP_MSS) > +#endif > + > +#ifndef UDP_TTL > +#define UDP_TTL 255 > +#endif > + > +#endif /* __LWIPOPTS_H__ */ > diff --git a/rtemslwip/tms570/lwipbspopts.h b/rtemslwip/tms570/lwipbspopts.h > new file mode 100644 > index 0000000..85b08af > --- /dev/null > +++ b/rtemslwip/tms570/lwipbspopts.h > @@ -0,0 +1 @@ > +#include <legacy_lwipopts.h> > diff --git a/rtemslwip/xilinx/xlwipopts.h b/rtemslwip/xilinx/xlwipopts.h > new file mode 100644 > index 0000000..d915c3c > --- /dev/null > +++ b/rtemslwip/xilinx/xlwipopts.h > @@ -0,0 +1,35 @@ > +/* > + * Copyright (C) 2023 On-Line Applications Research Corporation (OAR) > + * Written by Kinsey Moore <kinsey.mo...@oarcorp.com> > + * > + * Redistribution and use in source and binary forms, with or without > + * modification, are permitted provided that the following conditions > + * are met: > + * 1. Redistributions of source code must retain the above copyright > + * notice, this list of conditions and the following disclaimer. > + * 2. Redistributions in binary form must reproduce the above copyright > + * notice, this list of conditions and the following disclaimer in the > + * documentation and/or other materials provided with the distribution. > + * > + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS > IS" > + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > + * POSSIBILITY OF SUCH DAMAGE. > + */ > + > +#ifndef __XLWIPOPTS_H__ > +#define __XLWIPOPTS_H__ > + > +/* These macros allow RTEMS to pretend to be FreeRTOS for Xilinx drivers */ > +#define tskIDLE_PRIORITY RTEMS_MAXIMUM_PRIORITY > +#define portTICK_RATE_MS (rtems_clock_get_ticks_per_second() * 1000) > +#define vTaskDelay(x) sys_arch_delay(x) > + > +#endif /* __XLWIPOPTS_H__ */ > diff --git a/rtemslwip/zynqmp/common_lwipopts.h > b/rtemslwip/zynqmp/common_lwipopts.h > new file mode 100644 > index 0000000..8b7d870 > --- /dev/null > +++ b/rtemslwip/zynqmp/common_lwipopts.h > @@ -0,0 +1,3 @@ > +#include <xparameters_ps.h> > +#include <xlwipopts.h> > +#define MEM_ALIGNMENT 64 > diff --git a/rtemslwip/zynqmp/lwipopts.h b/rtemslwip/zynqmp/lwipopts.h > deleted file mode 100644 > index feabe73..0000000 > --- a/rtemslwip/zynqmp/lwipopts.h > +++ /dev/null > @@ -1,128 +0,0 @@ > -/* > - * Copyright (C) 2022 On-Line Applications Research Corporation (OAR) > - * Written by Kinsey Moore <kinsey.mo...@oarcorp.com> > - * > - * Redistribution and use in source and binary forms, with or without > - * modification, are permitted provided that the following conditions > - * are met: > - * 1. Redistributions of source code must retain the above copyright > - * notice, this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > - * notice, this list of conditions and the following disclaimer in the > - * documentation and/or other materials provided with the distribution. > - * > - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS > IS" > - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE > - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE > - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR > - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF > - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS > - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > - * POSSIBILITY OF SUCH DAMAGE. > - */ > - > -#ifndef __LWIPOPTS_H__ > -#define __LWIPOPTS_H__ > - > -#define SYS_LIGHTWEIGHT_PROT 1 > - > -#define NO_SYS 0 > -#define LWIP_SOCKET 1 > -#define SO_REUSE 1 > -#define LWIP_COMPAT_SOCKETS 1 > -#define LWIP_NETCONN 1 > - > -#define LWIP_ARP 1 > -#define LWIP_NETIF_API 1 > -/* Required for socketpair implementation */ > -#define LWIP_NETIF_LOOPBACK 1 > -#define LWIP_IPV6 1 > -#define LWIP_IPV4 1 > -#define LWIP_TIMEVAL_PRIVATE 0 > -#define LWIP_DNS 1 > - > -#define LWIP_CALLBACK_API 1 > - > -#define MEM_ALIGNMENT 64 > -#define MEM_SIZE 2 * 1024 * 1024 > -#define MEMP_NUM_PBUF 32 > -#define MEMP_NUM_NETCONN 16 > -#define MEMP_NUM_UDP_PCB 16 > -#define MEMP_NUM_TCP_PCB 32 > -#define MEMP_NUM_TCP_PCB_LISTEN 8 > -#define MEMP_NUM_TCP_SEG 256 > - > -#define PBUF_POOL_SIZE 256 > -#define PBUF_POOL_BUFSIZE 1600 > -#define PBUF_LINK_HLEN 16 > - > -#define ARP_TABLE_SIZE 10 > -#define ARP_QUEUEING 1 > - > -#define ICMP_TTL 255 > - > -#define IP_OPTIONS 1 > -#define IP_FORWARD 0 > -#define IP_REASSEMBLY 1 > -#define IP_FRAG 1 > -#define IP_REASS_BUFSIZE 5760 > -#define IP_FRAG_MAX_MTU 1500 > -#define IP_DEFAULT_TTL 255 > -#define LWIP_CHKSUM_ALGORITHM 3 > - > -#define LWIP_UDP 1 > -#define UDP_TTL 255 > - > -#define LWIP_TCP 1 > -#define TCP_MSS 1576 > -#define TCP_SND_BUF 16 * 1024 > -#define TCP_WND 6 * 1024 > -#define TCP_TTL 255 > -#define TCP_MAXRTX 12 > -#define TCP_SYNMAXRTX 4 > -#define TCP_QUEUE_OOSEQ 1 > -#define TCP_SND_QUEUELEN 16 * TCP_SND_BUF / TCP_MSS > -#define CHECKSUM_GEN_TCP 1 > -#define CHECKSUM_GEN_UDP 1 > -#define CHECKSUM_GEN_IP 1 > -#define CHECKSUM_CHECK_TCP 1 > -#define CHECKSUM_CHECK_UDP 1 > -#define CHECKSUM_CHECK_IP 1 > - > -#define TCP_TMR_INTERVAL 250 > -#define TCP_FAST_INTERVAL 250 > -#define TCP_SLOW_INTERVAL 500 > - > -#define NO_SYS_NO_TIMERS 1 > -#define MEMP_SEPARATE_POOLS 1 > -#define MEMP_NUM_FRAG_PBUF 256 > -#define IP_OPTIONS_ALLOWED 0 > -#define TCP_OVERSIZE TCP_MSS > -#define LWIP_COMPAT_MUTEX 0 > -#define LWIP_ALLOW_MEM_FREE_FROM_OTHER_CONTEXT 1 > - > -#define LWIP_DHCP 1 > -#define DHCP_DOES_ARP_CHECK 1 > - > -#define DBG_TYPES_ON DBG_LEVEL_WARNING > - > -#define LWIP_STATS 0 > -#define LWIP_STATS_DISPLAY 0 > -#define LWIP_STATS_POSIX 0 > - > -#define CONFIG_LINKSPEED_AUTODETECT 1 > -#define TCPIP_MBOX_SIZE 20 > -#define DEFAULT_TCP_RECVMBOX_SIZE 20 > -#define DEFAULT_UDP_RECVMBOX_SIZE 20 > -#define DEFAULT_ACCEPTMBOX_SIZE 5 > - > -#define tskIDLE_PRIORITY RTEMS_MAXIMUM_PRIORITY > -#define portTICK_RATE_MS ( rtems_clock_get_ticks_per_second() * 1000 ) > -#define vTaskDelay( x ) sys_arch_delay( x ) > - > -#include <lwipbspopts.h> > - > -#endif /* __LWIPOPTS_H__ */ > diff --git a/rtemslwip/zynqmp_cfc400x/lwipbspopts.h > b/rtemslwip/zynqmp_cfc400x/lwipbspopts.h > index 00f8077..b119b7d 100644 > --- a/rtemslwip/zynqmp_cfc400x/lwipbspopts.h > +++ b/rtemslwip/zynqmp_cfc400x/lwipbspopts.h > @@ -27,7 +27,7 @@ > #ifndef RTEMSLWIP_LWIPBSPOPTS_H > #define RTEMSLWIP_LWIPBSPOPTS_H > > -#include <xparameters_ps.h> > +#include <common_lwipopts.h> > > /* Use SGMII mode for all interfaces on the CFC-400X */ > #define ZYNQMP_USE_SGMII > diff --git a/rtemslwip/zynqmp_hardware/lwipbspopts.h > b/rtemslwip/zynqmp_hardware/lwipbspopts.h > index a3acc19..143e302 100644 > --- a/rtemslwip/zynqmp_hardware/lwipbspopts.h > +++ b/rtemslwip/zynqmp_hardware/lwipbspopts.h > @@ -1 +1 @@ > -#include <xparameters_ps.h> > +#include <common_lwipopts.h> > diff --git a/rtemslwip/zynqmp_qemu/lwipbspopts.h > b/rtemslwip/zynqmp_qemu/lwipbspopts.h > index a3acc19..143e302 100644 > --- a/rtemslwip/zynqmp_qemu/lwipbspopts.h > +++ b/rtemslwip/zynqmp_qemu/lwipbspopts.h > @@ -1 +1 @@ > -#include <xparameters_ps.h> > +#include <common_lwipopts.h> > diff --git a/uLan/ports/os/lwipopts.h b/uLan/ports/os/lwipopts.h > deleted file mode 100644 > index 6e4287a..0000000 > --- a/uLan/ports/os/lwipopts.h > +++ /dev/null > @@ -1,272 +0,0 @@ > -#if 0 > -/* > - * Copyright (c) 2001-2003 Swedish Institute of Computer Science. > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > modification, > - * are permitted provided that the following conditions are met: > - * > - * 1. Redistributions of source code must retain the above copyright notice, > - * this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > notice, > - * this list of conditions and the following disclaimer in the > documentation > - * and/or other materials provided with the distribution. > - * 3. The name of the author may not be used to endorse or promote products > - * derived from this software without specific prior written permission. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > IMPLIED > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > NO EVENT > - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, > - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, > PROCUREMENT > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > ARISING > - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY > - * OF SUCH DAMAGE. > - * > - * This file is part of the lwIP TCP/IP stack. > - * > - * Author: Simon Goldschmidt > - * > - */ > -#ifndef LWIP_HDR_LWIPOPTS_H__ > -#define LWIP_HDR_LWIPOPTS_H__ > - > -/* Prevent having to link sys_arch.c (we don't test the API layers in unit > tests) */ > -#define NO_SYS 0 > -#define LWIP_NETCONN 1 > -#define LWIP_SOCKET 1 > -#define LWIP_DNS 1 > - > -#define LWIP_IPV6 1 > -#define LWIP_IPV4 1 > - > -#define LWIP_ETHERNET 1 > -#define LWIP_NETIF_API 1 > -#define LWIP_AUTOIP 1 > -/* Enable DHCP to test it, disable UDP checksum to easier inject packets */ > -#define LWIP_DHCP 1 > -#define LWIP_TIMEVAL_PRIVATE 0 > -#define LWIP_POSIX_SOCKETS_IO_NAMES 1 > -//#define LWIP_COMPAT_SOCKETS 2 > -#ifndef FIONREAD > -#define FIONREAD 1 > -#endif > -#ifndef FIONBIO > -#define FIONBIO 1 > -#endif > -#define THREAD_STACK_SIZE 4096 > - > -#define LWIP_TIMERS 1 > -/* Minimal changes to opt.h required for tcp unit tests: */ > - > -#define MEM_SIZE 16000 > -#define TCP_SND_QUEUELEN 40 > -#define MEMP_NUM_TCP_SEG TCP_SND_QUEUELEN > -#define TCP_SND_BUF (12 * TCP_MSS) > -#define TCP_WND (10 * TCP_MSS) > -#define LWIP_WND_SCALE 1 > -#define TCP_RCV_SCALE 0 > -#define PBUF_POOL_SIZE 400 // pbuf tests need ~200KByte > - > -/* Minimal changes to opt.h required for etharp unit tests: */ > -#define ETHARP_SUPPORT_STATIC_ENTRIES 1 > - > -#endif /* LWIP_HDR_LWIPOPTS_H__ */ > - > -#endif /* 0 */ > - > -/** > - * \file lwipopts.h - Configuration options for lwIP > - * > - * Copyright (c) 2010 Texas Instruments Incorporated > - */ > -/* > - * Copyright (c) 2001-2004 Swedish Institute of Computer Science. > - * All rights reserved. > - * > - * Redistribution and use in source and binary forms, with or without > modification, > - * are permitted provided that the following conditions are met: > - * > - * 1. Redistributions of source code must retain the above copyright notice, > - * this list of conditions and the following disclaimer. > - * 2. Redistributions in binary form must reproduce the above copyright > notice, > - * this list of conditions and the following disclaimer in the > documentation > - * and/or other materials provided with the distribution. > - * 3. The name of the author may not be used to endorse or promote products > - * derived from this software without specific prior written permission. > - * > - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR > IMPLIED > - * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF > - * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN > NO EVENT > - * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, > - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, > PROCUREMENT > - * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR > BUSINESS > - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > ARISING > - * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE > POSSIBILITY > - * OF SUCH DAMAGE. > - * > - * This file is part of the lwIP TCP/IP stack. > - * > - * Author: Adam Dunkels <a...@sics.se> > - * > - */ > - > -#ifndef __LWIPOPTS_H__ > -#define __LWIPOPTS_H__ > - > -/***************************************************************************** > -** CONFIGURATIONS > -*****************************************************************************/ > - > -/* > -** The macro CPSW_DUAL_MAC_MODE shall be defined for using CPSW ports in > -** Dual MAC mode. > -*/ > -#define CPSW_DUAL_MAC_MODE > - > -/* > -** The below macro should be defined for using lwIP with cache. For cache > -** enabling, pbuf pool shall be cache line aligned. This is done by using > -** separate pool for each memory. The alignment of pbuf pool to cache line > -** size is done in /ports/cpsw/include/arch/cc.h. > -*/ > -/*#define LWIP_CACHE_ENABLED*/ > - > -#define SOC_CACHELINE_SIZE_BYTES 64 /* Number of bytes in > - a cache line */ > -/* > -** The timeout for DHCP completion. lwIP library will wait for DHCP > -** completion for (LWIP_DHCP_TIMEOUT / 100) seconds. > -*/ > -#define LWIP_DHCP_TIMEOUT 1000 > - > -/* > -** The number of times DHCP is attempted. Each time, the library will wait > -** for (LWIP_DHCP_TIMEOUT / 100) seconds for DHCP completion. > -*/ > -#define NUM_DHCP_TRIES 5 > - > -#define LWIP_ETHERNET 1 > -#define LWIP_ARP 1 > -#define LWIP_DNS 1 > - > -/***************************************************************************** > -** lwIP SPECIFIC DEFINITIONS - To be used by lwIP stack > -*****************************************************************************/ > -#define HOST_TMR_INTERVAL 0 > -#define DYNAMIC_HTTP_HEADERS > - > -/***************************************************************************** > -** Platform specific locking > -*****************************************************************************/ > -#define SYS_LIGHTWEIGHT_PROT 1 > -#define NO_SYS 0 > -#define NO_SYS_NO_TIMERS 0 > - > -/***************************************************************************** > -** Memory Options > -*****************************************************************************/ > -#define MEM_ALIGNMENT 4 > -#define MEM_SIZE (1024 * 1024) /* 4K */ > - > -#define MEMP_NUM_PBUF 96 > -#define MEMP_NUM_TCP_PCB 32 > -#define MEMP_NUM_TCP_SEG 32 > -#define PBUF_POOL_SIZE 512 > -#define MEMP_MEM_MALLOC 1 > -#define MEMP_MEM_INIT 1 > -#define MEMP_OVERFLOW_CHECK 0 > - > -#ifdef LWIP_CACHE_ENABLED > -#define MEMP_SEPARATE_POOLS 1 /* We want the pbuf > - pool cache line > - aligned*/ > -#endif > - > -//#define MEMP_NUM_SYS_TIMEOUT (LWIP_TCP + IP_REASSEMBLY + LWIP_ARP + > (2*LWIP_DHCP) + LWIP_AUTOIP + LWIP_IGMP + LWIP_DNS + PPP_SUPPORT) > - > -/***************************************************************************** > -** IP Options > -*****************************************************************************/ > -#define IP_REASSEMBLY 0 > -#define IP_FRAG 0 > -#define LWIP_IPV4 1 > -#define LWIP_IPV6 1 > - > -/***************************************************************************** > -** DHCP Options > -*****************************************************************************/ > -#define LWIP_DHCP 1 > -#define DHCP_DOES_ARP_CHECK 0 > - > -/***************************************************************************** > -** Auto IP Options > -*****************************************************************************/ > -#define LWIP_AUTOIP 1 > -#define LWIP_DHCP_AUTOIP_COOP ((LWIP_DHCP) && (LWIP_AUTOIP)) > - > -/***************************************************************************** > -** TCP Options > -*****************************************************************************/ > -#define TCP_MSS 1500 > -#define TCP_WND (8 * TCP_MSS) > -#define TCP_SND_BUF (8 * TCP_MSS) > -#define TCP_OVERSIZE TCP_MSS > -#define LWIP_TCPIP_CORE_LOCKING 1 > - > -/***************************************************************************** > -** PBUF Options > -*****************************************************************************/ > -#define PBUF_LINK_HLEN 14 > -#define PBUF_POOL_BUFSIZE 1520 /* + size of struct pbuf > - shall be cache line > - aligned be enabled */ > -#define ETH_PAD_SIZE 0 > -#define LWIP_NETCONN 1 > - > -/***************************************************************************** > -** Socket Options > -*****************************************************************************/ > -#define LWIP_SOCKET 1 > -#define SO_REUSE 1 > - > -/***************************************************************************** > -** Debugging options > -*****************************************************************************/ > -#define LWIP_DBG_MIN_LEVEL LWIP_DBG_LEVEL_OFF > -#define LWIP_DBG_TYPES_ON (LWIP_DBG_ON | LWIP_DBG_TRACE \ > - |LWIP_DBG_STATE | LWIP_DBG_FRESH) > -#define DHCP_DEBUG LWIP_DBG_OFF > -#define NETIF_DEBUG LWIP_DBG_OFF > -#define IP_DEBUG LWIP_DBG_OFF > -#define UDP_DEBUG LWIP_DBG_OFF > -#define ETHARP_DEBUG LWIP_DBG_OFF > -#define SYS_DEBUG LWIP_DBG_OFF > -#define RAW_DEBUG LWIP_DBG_OFF > -#define MEM_DEBUG LWIP_DBG_OFF > -#define MEMP_DEBUG LWIP_DBG_OFF > -#define PBUF_DEBUG LWIP_DBG_OFF > -#define TCPIP_DEBUG LWIP_DBG_OFF > -#define APP_DEBUG LWIP_DBG_OFF > -#define SOCKETS_DEBUG LWIP_DBG_OFF > -#define LWIP_STATS 0 > -#define LWIP_STATS_DISPLAY 0 > -#define LWIP_STATS_POSIX 0 > -#define LWIP_DNS_API_DEFINE_ERRORS 1 > - > - > - > -/** > - * LWIP_COMPAT_SOCKETS==1: Enable BSD-style sockets functions names. > - * (only used if you use sockets.c) > - */ > -#define LWIP_COMPAT_SOCKETS 0 > - > - #define LWIP_TIMEVAL_PRIVATE 0 > - > - #define LWIP_RAW 0 > - > -#endif /* __LWIPOPTS_H__ */ _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel