UbixOS
2.0
|
Macros | |
#define | LWIP_CALLBACK_API 1 |
#define | LWIP_EVENT_API 0 |
#define | LWIP_TCP 1 |
#define | LWIP_TCP_TIMESTAMPS 0 |
#define | LWIP_WND_SCALE 0 |
#define | TCP_CALCULATE_EFF_SEND_MSS 1 |
#define | TCP_DEFAULT_LISTEN_BACKLOG 0xff |
#define | TCP_LISTEN_BACKLOG 0 |
#define | TCP_MAXRTX 12 |
#define | TCP_MSS 536 |
#define | TCP_OOSEQ_MAX_BYTES 0 |
#define | TCP_OOSEQ_MAX_PBUFS 0 |
#define | TCP_OVERSIZE TCP_MSS |
#define | TCP_QUEUE_OOSEQ (LWIP_TCP) |
#define | TCP_RCV_SCALE 0 |
#define | TCP_SND_BUF (2 * TCP_MSS) |
#define | TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) |
#define | TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) |
#define | TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) |
#define | TCP_SYNMAXRTX 6 |
#define | TCP_TTL (IP_DEFAULT_TTL) |
#define | TCP_WND (4 * TCP_MSS) |
#define | TCP_WND_UPDATE_THRESHOLD LWIP_MIN((TCP_WND / 4), (TCP_MSS * 4)) |
#define LWIP_EVENT_API 0 |
LWIP_EVENT_API and LWIP_CALLBACK_API: Only one of these should be set to 1. LWIP_EVENT_API==1: The user defines lwip_tcp_event() to receive all events (accept, sent, etc) that happen in the system. LWIP_CALLBACK_API==1: The PCB callback function is called directly for the event. This is the default.
#define LWIP_TCP_TIMESTAMPS 0 |
#define LWIP_WND_SCALE 0 |
LWIP_WND_SCALE and TCP_RCV_SCALE: Set LWIP_WND_SCALE to 1 to enable window scaling. Set TCP_RCV_SCALE to the desired scaling factor (shift count in the range of [0..14]). When LWIP_WND_SCALE is enabled but TCP_RCV_SCALE is 0, we can use a large send window while having a small receive window only.
#define TCP_CALCULATE_EFF_SEND_MSS 1 |
TCP_CALCULATE_EFF_SEND_MSS: "The maximum size of a segment that TCP really sends, the 'effective send MSS,' MUST be the smaller of the send MSS (which reflects the available reassembly buffer size at the remote host) and the largest size permitted by the IP layer" (RFC 1122) Setting this to 1 enables code that checks TCP_MSS against the MTU of the netif used for a connection and limits the MSS if it would be too big otherwise.
#define TCP_DEFAULT_LISTEN_BACKLOG 0xff |
#define TCP_LISTEN_BACKLOG 0 |
#define TCP_MAXRTX 12 |
#define TCP_MSS 536 |
TCP_MSS: TCP Maximum segment size. (default is 536, a conservative default, you might want to increase this.) For the receive side, this MSS is advertised to the remote side when opening a connection. For the transmit size, this MSS sets an upper limit on the MSS advertised by the remote host.
#define TCP_OOSEQ_MAX_BYTES 0 |
#define TCP_OOSEQ_MAX_PBUFS 0 |
#define TCP_OVERSIZE TCP_MSS |
TCP_OVERSIZE: The maximum number of bytes that tcp_write may allocate ahead of time in an attempt to create shorter pbuf chains for transmission. The meaningful range is 0 to TCP_MSS. Some suggested values are:
0: Disable oversized allocation. Each tcp_write() allocates a new pbuf (old behaviour). 1: Allocate size-aligned pbufs with minimal excess. Use this if your scatter-gather DMA requires aligned fragments. 128: Limit the pbuf/memory overhead to 20%. TCP_MSS: Try to create unfragmented TCP packets. TCP_MSS/4: Try to create 4 fragments or less per TCP packet.
#define TCP_QUEUE_OOSEQ (LWIP_TCP) |
#define TCP_SND_BUF (2 * TCP_MSS) |
#define TCP_SND_QUEUELEN ((4 * (TCP_SND_BUF) + (TCP_MSS - 1))/(TCP_MSS)) |
#define TCP_SNDLOWAT LWIP_MIN(LWIP_MAX(((TCP_SND_BUF)/2), (2 * TCP_MSS) + 1), (TCP_SND_BUF) - 1) |
#define TCP_SNDQUEUELOWAT LWIP_MAX(((TCP_SND_QUEUELEN)/2), 5) |
#define TCP_SYNMAXRTX 6 |
#define TCP_TTL (IP_DEFAULT_TTL) |
#define TCP_WND (4 * TCP_MSS) |