description "Lightweight TCP/IP stack"
requires {(CYGPKG_LWIP_ETH == 1) || (CYGPKG_LWIP_SLIP == 1) || (CYGPKG_LWIP_PPP == 1)}
+ cdl_interface CYGPKG_NET_STACK {
+ display "Suitable network stack implementation"
+ description "
+ Normally the interface if declared in the net common
+ package. However LWIP does not use that package
+ so we declare this interface here. Some of the device
+ drivers use it to decide if they should be build."
+ }
+ cdl_interface CYGPKG_NET_STACK_INET {
+ display "Network stack support for IPv4"
+ }
+
+ cdl_interface CYGPKG_NET_STACK_INET6 {
+ display "Network stack support for IPv6"
+ }
+
+ implements CYGPKG_NET_STACK
+ implements CYGPKG_NET_STACK_INET
+
compile core/mem.c \
core/memp.c \
core/netif.c \
ecos/init.c
- cdl_component CYGPKG_LWIP_STATS {
- display "Turn ON/OFF statistics"
+ cdl_option CYGDBG_LWIP_STATS {
+ display "Maintain traffic statistics"
flavor bool
default_value 0
description "
Check this box to turn ON statistics options for lwIP."
}
- cdl_component CYGPKG_LWIP_DEBUG {
- display "Turn ON/OFF debug options"
+ cdl_component CYGDBG_LWIP_DEBUG {
+ display "Support printing debug information"
flavor bool
default_value 0
description "
Check this box to turn ON debug options for lwIP."
- cdl_option CYGPKG_LWIP_DEBUG_TCP {
+ cdl_option CYGDBG_LWIP_DEBUG_TCP {
display "Control TCP debug"
flavor bool
default_value 0
}
- cdl_component CYGPKG_LWIP_ASSERTS {
- display "Turn ON/OFF assertions"
+ cdl_option CYGDBG_LWIP_ASSERTS {
+ display "Enable assertions"
flavor bool
default_value 0
description "
description "
See suboptions to define gateway IP, local IP and netmask."
- cdl_option CYGPKG_LWIP_SERV_ADDR {
+ cdl_option CYGDAT_LWIP_SERV_ADDR {
display "Gateway IP"
flavor data
default_value {"192,168,1,1"}
Gateway's IP address."
}
- cdl_option CYGPKG_LWIP_MY_ADDR {
+
+ cdl_option CYGDAT_LWIP_MY_ADDR {
display "My IP"
flavor data
default_value {"192,168,1,222"}
The IP address for this device."
}
- cdl_option CYGPKG_LWIP_NETMASK {
+
+ cdl_option CYGDAT_LWIP_NETMASK {
display "Netmask"
flavor data
default_value {"255,255,255,0"}
no_define
description "
Tunables for various aspects of memory usage throughout the stack."
-
-
-
- cdl_option CYGPKG_LWIP_MEM_ALIGNMENT {
+
+ cdl_option CYGNUM_LWIP_MEM_ALIGNMENT {
display "Memory alignment"
flavor data
default_value 4
lwIP is compiled. 4 byte alignment -> define MEM_ALIGNMENT to 4,
2 byte alignment -> define MEM_ALIGNMENT to 2."
}
- cdl_option CYGPKG_LWIP_MEM_SIZE {
+ cdl_option CYGNUM_LWIP_MEM_SIZE {
display "Memory size"
flavor data
default_value 4000
description "
MEM_SIZE: the size of the heap memory. If the application will send
- a lot of data that needs to be copied, this should be set high."
-
+ a lot of data that needs to be copied, this should be set high."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_PBUF {
+
+ cdl_option CYGNUM_LWIP_MEMP_NUM_PBUF {
display "Number of memp struct pbufs"
flavor data
default_value 8
should be set high."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_UDP_PCB {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_UDP_PCB {
display "Simultaneous UDP control blocks "
flavor data
default_value 4
per active UDP 'connection'."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_PCB {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_TCP_PCB {
display "Simultaneous active TCP connections "
flavor data
default_value 5
connections."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_PCB_LISTEN {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_TCP_PCB_LISTEN {
display "Listening TCP connections"
flavor data
default_value 8
connections."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_TCP_SEG {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_TCP_SEG {
display "Simultaneous TCP segments queued"
flavor data
default_value 8
segments."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_SYS_TIMEOUT {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_SYS_TIMEOUT {
display "Simultaneous active timeouts"
flavor data
- default_value 3
+ default_value CYGPKG_LWIP_DHCP ? 6 : 4
description "
MEMP_NUM_SYS_TIMEOUT: the number of simulateously active
timeouts."
}
- cdl_component CYGPKG_LWIP_CYGPKG_LWIP_MEM_SEQ_API {
+ cdl_component CYGPKG_LWIP_MEM_SEQ_API {
display "Sequential API settings"
flavor none
no_define
description "
The following four are used only with the sequential API and can be
- set to 0 if the application only will use the raw API."
+ set to 0 if the application only will use the raw API."
- cdl_option CYGPKG_LWIP_MEMP_NUM_NETBUF {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_NETBUF {
display "Struct netbufs"
flavor data
default_value 2
MEMP_NUM_NETBUF: the number of struct netbufs."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_NETCONN {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_NETCONN {
display "Struct netconns"
flavor data
default_value 4
MEMP_NUM_NETCONN: the number of struct netconns."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_APIMSG {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_APIMSG {
display "Struct api_msgs"
flavor data
default_value 8
programs."
}
- cdl_option CYGPKG_LWIP_MEMP_NUM_TCPIP_MSG {
+ cdl_option CYGNUM_LWIP_MEMP_NUM_TCPIP_MSG {
display "Struct tcpip_msgs"
flavor data
default_value 8
Packet buffer related tunings."
- cdl_option CYGPKG_LWIP_PBUF_POOL_SIZE {
+ cdl_option CYGNUM_LWIP_PBUF_POOL_SIZE {
display "PBUF pool size"
flavor data
default_value 60
}
- cdl_option CYGPKG_LWIP_PBUF_POOL_BUFSIZE {
+ cdl_option CYGNUM_LWIP_PBUF_POOL_BUFSIZE {
display "PBUF buffer size"
flavor data
default_value 1024
description "
PBUF_POOL_BUFSIZE: the size of each pbuf in the pbuf pool."
-
- }
- cdl_option CYGPKG_LWIP_PBUF_LINK_HLEN {
+ }
+
+ cdl_option CYGNUM_LWIP_PBUF_LINK_HLEN {
display "Allocation for a link level header"
flavor data
calculated {CYGPKG_LWIP_SLIP || CYGPKG_LWIP_PPP ? 0 : 16}
}
}
- cdl_component CYGPKG_LWIP_TCP_OPTIONS {
- display "TCP"
- flavor none
- no_define
+ cdl_component CYGPKG_LWIP_TCP {
+ display "TCP"
+ flavor bool
+ default_value 1
description "
- Tune the TCP protocol details"
-
- cdl_option CYGPKG_LWIP_TCP {
- display "Activate TCP"
- flavor bool
- default_value 1
- description ""
-
- }
+ Support TCP protocol."
- cdl_option CYGPKG_LWIP_TCPIP_THREAD_PRIORITY {
- display "tcpip thread priority"
- flavor data
- default_value 7
- description "Pririty of the lwIP network thread.This thread handles all API messages and
- network packets."
- }
-
- cdl_option CYGPKG_LWIP_TCP_TTL {
+ cdl_option CYGNUM_LWIP_TCP_TTL {
display "Time To Live"
flavor data
default_value 255
description ""
}
- cdl_option CYGPKG_LWIP_TCP_QUEUE_OOSEQ {
+ cdl_option CYGIMP_LWIP_TCP_QUEUE_OOSEQ {
display "Queue segments"
flavor bool
default_value 1
description "
Controls if TCP should queue segments that arrive out of
- order. Define to 0 if your device is low on memory."
+ order. Disable this option if your device is low on memory."
}
- cdl_option CYGPKG_LWIP_TCP_MSS {
+ cdl_option CYGNUM_LWIP_TCP_MSS {
display "Maximum segment size"
flavor data
default_value 2048
description "
TCP Maximum segment size."
- }
- cdl_option CYGPKG_LWIP_TCP_SND_BUF {
+ }
+
+ cdl_option CYGNUM_LWIP_TCP_SND_BUF {
display "Sender buffer space"
flavor data
default_value 2048
TCP sender buffer space (bytes)."
}
- cdl_option CYGPKG_LWIP_TCP_SND_QUEUELEN {
+ cdl_option CYGNUM_LWIP_TCP_SND_QUEUELEN {
display "Sender pbufs"
flavor data
- calculated "4 * CYGPKG_LWIP_TCP_SND_BUF/CYGPKG_LWIP_TCP_MSS"
+ calculated CYGPKG_LWIP_TCP ? "4 * CYGNUM_LWIP_TCP_SND_BUF/CYGNUM_LWIP_TCP_MSS" : 0
description "
TCP sender buffer space (pbufs). This must be at least = 2 *
TCP_SND_BUF/TCP_MSS for things to work."
}
- cdl_option CYGPKG_LWIP_TCP_WND {
+ cdl_option CYGNUM_LWIP_TCP_WND {
display "Receive window"
flavor data
default_value 4096
TCP receive window."
}
- cdl_option CYGPKG_LWIP_TCP_MAXRTX {
+ cdl_option CYGNUM_LWIP_TCP_MAXRTX {
display "Segment retransmissions"
flavor data
default_value 12
Maximum number of retransmissions of data segments."
}
- cdl_option CYGPKG_LWIP_TCP_SYNMAXRTX {
+ cdl_option CYGNUM_LWIP_TCP_SYNMAXRTX {
display "Syn retransmissions"
flavor data
default_value 4
flavor none
no_define
- cdl_option CYGPKG_LWIP_ARP_TABLE_SIZE {
+ cdl_option CYGNUM_LWIP_ARP_TABLE_SIZE {
display "ARP table size"
flavor data
default_value 10
flavor none
no_define
- cdl_option CYGPKG_LWIP_IP_FORWARD {
- display "IP forwarding"
+ cdl_option CYGFUN_LWIP_IP_FORWARD {
+ display "Support IP forwarding"
flavor bool
default_value 1
description "
- Define IP_FORWARD to 1 if you wish to have the ability to forward
+ Enable this option if you wish to have the ability to forward
IP packets across network interfaces. If you are going to run lwIP
- on a device with only one network interface, define this to 0."
+ on a device with only one network interface, disable this option."
}
- cdl_option CYGPKG_LWIP_IP_OPTIONS {
+ cdl_option CYGFUN_LWIP_IP_OPTIONS {
display "Allow IP options"
flavor bool
default_value 1
description "
- If defined to 1, IP options are allowed (but not parsed). If
- defined to 0, all packets with IP options are dropped."
+ If enabled, IP options are allowed (but not parsed). If
+ disabled, all packets with IP options are dropped."
}
- cdl_option CYGPKG_LWIP_IP_FRAG {
+ cdl_option CYGFUN_LWIP_IP_FRAG {
display "Support IP fragmentation"
flavor bool
default_value 1
"
}
- cdl_option CYGPKG_LWIP_IP_REASS {
+ cdl_option CYGFUN_LWIP_IP_REASS {
display "Support IP reassembly"
flavor bool
default_value 1
flavor none
no_define
- cdl_option CYGPKG_LWIP_ICMP_TTL {
+ cdl_option CYGNUM_LWIP_ICMP_TTL {
display "ICMP Time To Live"
flavor data
default_value 255
}
}
- cdl_component CYGPKG_LWIP_DHCP_OPTIONS {
- display "DHCP"
- flavor none
- no_define
-
-
- cdl_option CYGPKG_LWIP_DHCP {
- display "Activate DHCP"
- flavor bool
- default_value 0
- description "
- Define LWIP_DHCP to 1 if you want DHCP configuration of
- interfaces."
- compile core/dhcp.c
- }
-
-
- cdl_option CYGPKG_LWIP_DHCP_DOES_ARP_CHECK {
+ cdl_component CYGPKG_LWIP_DHCP {
+ display "DHCP"
+ flavor bool
+ requires CYGPKG_LWIP_UDP
+ default_value 0
+ requires { CYGNUM_LWIP_MEMP_NUM_SYS_TIMEOUT >= 6 }
+ description "
+ Provide DHCP support for initializing the IP address of network interfaces."
+ compile core/dhcp.c
+
+ cdl_option CYGOPT_LWIP_DHCP_MANAGEMENT {
+ display "DHCP management"
+ flavor bool
+ default_value 1
+ description "
+ If enabled then the lwIP stack automatically calls dhcp_start(),
+ dhcp_fine_tmr() and dhcp_coarse_tmr(). The DHCP stuff is handled
+ in the TCP/IP thread. If this causes trouble on high traffic loads
+ or if the application need to be aware of the DHCP state then it
+ is better to disable this option. In this case managing the DHCP
+ state in an application aware thread is recommended."
+ }
+
+ cdl_option CYGOPT_LWIP_DHCP_DOES_ARP_CHECK {
display "Check offered address"
flavor bool
- default_value 0
+ default_value 1
description "
- 1 if you want to do an ARP check on the offered address
+ Enable this option if you want to do an ARP check on the offered address
(recommended)."
}
}
- cdl_component CYGPKG_LWIP_LOOPIF {
+ cdl_component CYGFUN_LWIP_LOOPIF {
display "Support loop interface (127.0.0.1)"
flavor bool
default_value 1
description "Ethernet support"
compile netif/etharp.c
- cdl_option CYGPKG_LWIP_ETH_THREAD_PRIORITY {
+ cdl_option CYGNUM_LWIP_ETH_THREAD_PRIORITY {
display "ethernet input thread priority"
flavor data
default_value 6
}
}
+
+ cdl_option CYGNUM_LWIP_NETWORK_THREAD_PRIORITY {
+ display "Network thread priority"
+ flavor data
+ default_value 7
+ description "Priority of the lwIP network thread.This thread handles all API messages and
+ network packets."
+ }
cdl_component CYGPKG_LWIP_SLIP {
display "SLIP"
description "IP over Serial Line"
compile netif/slipif.c ecos/sio.c
- cdl_option CYGPKG_LWIP_SLIPIF_THREAD_PRIORITY {
+ cdl_option CYGNUM_LWIP_SLIPIF_THREAD_PRIORITY {
display "SLIP thread priority"
flavor data
default_value 8
description "Priority of the SLIP input thread"
}
- cdl_option CYGPKG_LWIP_SLIP_DEV {
+ cdl_option CYGDAT_LWIP_SLIP_DEV {
display "Serial device"
flavor data
default_value {"\"/dev/ser0\""}
description "
- Which serial port to use SLIP on."
+ Which serial port to use SLIP on."
}
}
ecos/sio.c
- cdl_option CYGPKG_LWIP_PPP_PAP_AUTH {
+ cdl_option CYGIMP_LWIP_PPP_PAP_AUTH {
display "Support PAP authentication"
flavor bool
default_value 1
compile netif/ppp/pap.c
}
- cdl_option CYGPKG_LWIP_PPP_CHAP_AUTH {
+ cdl_option CYGIMP_LWIP_PPP_CHAP_AUTH {
display "Support CHAP authentication"
flavor bool
default_value 1
compile netif/ppp/chap.c
}
- cdl_option CYGPKG_LWIP_PPP_DEV {
+ cdl_option CYGDAT_LWIP_PPP_DEV {
display "Serial device for PPP"
flavor data
default_value {"\"/dev/ser0\""}
Which serial port to use PPP on."
}
- cdl_option CYGPKG_LWIP_PPP_THREAD_PRIORITY {
+ cdl_option CYGNUM_LWIP_PPP_THREAD_PRIORITY {
display "PPP main thread priority"
flavor data
default_value 8
}
}
- cdl_component CYGPKG_LWIP_UDP_OPTIONS {
+ cdl_component CYGPKG_LWIP_UDP {
display "UDP"
- flavor none
- no_define
-
- cdl_option CYGPKG_LWIP_UDP {
- display "Activate UDP"
- flavor bool
- default_value 1
- description ""
- compile core/udp.c
- }
+ flavor bool
+ default_value 1
+ description "Support UDP protocol."
+ compile core/udp.c
- cdl_option CYGPKG_LWIP_UDP_TTL {
+ cdl_option CYGNUM_LWIP_UDP_TTL {
display "Time To Live"
flavor data
default_value 255
}
}
- cdl_option CYGPKG_LWIP_RAW {
+ cdl_option CYGFUN_LWIP_RAW {
display "Enable RAW socket support"
flavor bool
default_value 1
description ""
compile core/raw.c
}
+
+ cdl_option CYGFUN_LWIP_COMPAT_SOCKETS {
+ display "Provide compatible socket API"
+ flavor bool
+ default_value 1
+ description "
+ The lwIP socket API uses defines to map the lwip socket functions
+ (lwip_accept(), lwip_bind(), lwip_listen()...) to BSD like names
+ (accept(), bind(), listen()...). If this causes trouble or naming
+ conficts for your application, then disable this option"
+ }
cdl_component CYGPKG_LWIP_APP_MEM_OPTIONS {
display "Memory options for apps"