lwIP 2.1.1 Lightweight IP stack

Modules | Macros
IPv4
lwIP » Options (lwipopts.h)

## 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 15
#define | IP_REASS_MAX_PBUFS 10
#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

## Detailed Description

## Macro Definition Documentation

## ◆ IP_DEFAULT_TTL

#define IP_DEFAULT_TTL 255

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

## ◆ IP_FORWARD

#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.

## ◆ IP_FORWARD_ALLOW_TX_ON_RX_NETIF

#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!

## ◆ IP_FRAG

#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.

## ◆ IP_OPTIONS_ALLOWED

#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).

## ◆ IP_REASS_MAX_PBUFS

#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! When IPv4 and IPv6 are enabled, this even changes to (PBUF_POOL_SIZE > 2 * IP_REASS_MAX_PBUFS)!

## ◆ IP_REASS_MAXAGE

#define IP_REASS_MAXAGE 15

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.

## ◆ IP_REASSEMBLY

#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.

## ◆ IP_SOF_BROADCAST

#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.

## ◆ IP_SOF_BROADCAST_RECV

#define IP_SOF_BROADCAST_RECV 0

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

## ◆ LWIP_IPV4

#define LWIP_IPV4 1

LWIP_IPV4==1: Enable IPv4