lwIP 2.0.0  lwIP 2.0.0
LightweightIPstack

Modules

 ARP
 
 ICMP
 
 DHCP
 
 AUTOIP
 
 IGMP
 

Macros

#define LWIP_IPV4   1
 
#define IP_FORWARD   0
 
#define IP_REASSEMBLY   1
 
#define IP_FRAG   1
 
#define IP_OPTIONS_ALLOWED   1
 
#define IP_REASS_MAXAGE   3
 
#define IP_REASS_MAX_PBUFS   10
 
#define IP_FRAG_USES_STATIC_BUF   0
 
#define IP_FRAG_MAX_MTU   1500
 
#define IP_DEFAULT_TTL   255
 
#define IP_SOF_BROADCAST   0
 
#define IP_SOF_BROADCAST_RECV   0
 
#define IP_FORWARD_ALLOW_TX_ON_RX_NETIF   0
 
#define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS   0
 

Detailed Description

Macro Definition Documentation

#define IP_DEFAULT_TTL   255

IP_DEFAULT_TTL: Default value for Time-To-Live used by transport layers.

#define IP_FORWARD   0

IP_FORWARD==1: Enables 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.

#define IP_FORWARD_ALLOW_TX_ON_RX_NETIF   0

IP_FORWARD_ALLOW_TX_ON_RX_NETIF==1: allow ip_forward() to send packets back out on the netif where it was received. This should only be used for wireless networks. ATTENTION: When this is 1, make sure your netif driver correctly marks incoming link-layer-broadcast/multicast packets as such using the corresponding pbuf flags!

#define IP_FRAG   1

IP_FRAG==1: Fragment outgoing IP packets if their size exceeds MTU. Note that this option does not affect incoming packet sizes, which can be controlled via IP_REASSEMBLY.

#define IP_FRAG_MAX_MTU   1500

IP_FRAG_MAX_MTU: Assumed max MTU on any interface for IP frag buffer (requires IP_FRAG_USES_STATIC_BUF==1)

#define IP_FRAG_USES_STATIC_BUF   0

IP_FRAG_USES_STATIC_BUF==1: Use a static MTU-sized buffer for IP fragmentation. Otherwise pbufs are allocated and reference the original packet data to be fragmented (or with LWIP_NETIF_TX_SINGLE_PBUF==1, new PBUF_RAM pbufs are used for fragments). ATTENTION: IP_FRAG_USES_STATIC_BUF==1 may not be used for DMA-enabled MACs!

#define IP_OPTIONS_ALLOWED   1

IP_OPTIONS_ALLOWED: Defines the behavior for IP options. IP_OPTIONS_ALLOWED==0: All packets with IP options are dropped. IP_OPTIONS_ALLOWED==1: IP options are allowed (but not parsed).

#define IP_REASS_MAX_PBUFS   10

IP_REASS_MAX_PBUFS: Total maximum amount of pbufs waiting to be reassembled. Since the received pbufs are enqueued, be sure to configure PBUF_POOL_SIZE > IP_REASS_MAX_PBUFS so that the stack is still able to receive packets even if the maximum amount of fragments is enqueued for reassembly!

#define IP_REASS_MAXAGE   3

IP_REASS_MAXAGE: Maximum time (in multiples of IP_TMR_INTERVAL - so seconds, normally) a fragmented IP packet waits for all fragments to arrive. If not all fragments arrived in this time, the whole packet is discarded.

#define IP_REASSEMBLY   1

IP_REASSEMBLY==1: Reassemble incoming fragmented IP packets. Note that this option does not affect outgoing packet sizes, which can be controlled via IP_FRAG.

#define IP_SOF_BROADCAST   0

IP_SOF_BROADCAST=1: Use the SOF_BROADCAST field to enable broadcast filter per pcb on udp and raw send operations. To enable broadcast filter on recv operations, you also have to set IP_SOF_BROADCAST_RECV=1.

#define IP_SOF_BROADCAST_RECV   0

IP_SOF_BROADCAST_RECV (requires IP_SOF_BROADCAST=1) enable the broadcast filter on recv operations.

#define LWIP_IPV4   1

LWIP_IPV4==1: Enable IPv4

#define LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS   0

LWIP_RANDOMIZE_INITIAL_LOCAL_PORTS==1: randomize the local port for the first local TCP/UDP pcb (default==0). This can prevent creating predictable port numbers after booting a device.