iPXE
Data Structures | Macros | Functions | Variables
TCP options

Data Structures

struct  tcp_option
 Generic TCP option. More...
 
struct  tcp_mss_option
 TCP MSS option. More...
 
struct  tcp_window_scale_option
 TCP window scale option. More...
 
struct  tcp_window_scale_padded_option
 Padded TCP window scale option (used for sending) More...
 
struct  tcp_sack_permitted_option
 TCP selective acknowledgement permitted option. More...
 
struct  tcp_sack_permitted_padded_option
 Padded TCP selective acknowledgement permitted option (used for sending) More...
 
struct  tcp_sack_option
 TCP selective acknowledgement option. More...
 
struct  tcp_sack_block
 TCP selective acknowledgement block. More...
 
struct  tcp_sack_padded_option
 Padded TCP selective acknowledgement option (used for sending) More...
 
struct  tcp_timestamp_option
 TCP timestamp option. More...
 
struct  tcp_timestamp_padded_option
 Padded TCP timestamp option (used for sending) More...
 
struct  tcp_options
 Parsed TCP options. More...
 

Macros

#define TCP_OPTION_END   0
 End of TCP options list. More...
 
#define TCP_OPTION_NOP   1
 TCP option pad. More...
 
#define TCP_OPTION_MSS   2
 Code for the TCP MSS option. More...
 
#define TCP_OPTION_WS   3
 Code for the TCP window scale option. More...
 
#define TCP_RX_WINDOW_SCALE   9
 Advertised TCP window scale. More...
 
#define TCP_OPTION_SACK_PERMITTED   4
 Code for the TCP selective acknowledgement permitted option. More...
 
#define TCP_SACK_MAX   3
 Maximum number of selective acknowledgement blocks. More...
 
#define TCP_OPTION_SACK   5
 Code for the TCP selective acknowledgement option. More...
 
#define TCP_OPTION_TS   8
 Code for the TCP timestamp option. More...
 

Functions

struct tcp_window_scale_padded_option __attribute ((packed))
 

Variables

struct tcp_sack_permitted_option __attribute
 

Detailed Description

Macro Definition Documentation

◆ TCP_OPTION_END

#define TCP_OPTION_END   0

End of TCP options list.

Definition at line 36 of file tcp.h.

◆ TCP_OPTION_NOP

#define TCP_OPTION_NOP   1

TCP option pad.

Definition at line 39 of file tcp.h.

◆ TCP_OPTION_MSS

#define TCP_OPTION_MSS   2

Code for the TCP MSS option.

Definition at line 55 of file tcp.h.

◆ TCP_OPTION_WS

#define TCP_OPTION_WS   3

Code for the TCP window scale option.

Definition at line 71 of file tcp.h.

◆ TCP_RX_WINDOW_SCALE

#define TCP_RX_WINDOW_SCALE   9

Advertised TCP window scale.

Using a scale factor of 2**9 provides for a maximum window of 32MB, which is sufficient to allow Gigabit-speed transfers with a 200ms RTT. The minimum advertised window is 512 bytes, which is still less than a single packet.

Definition at line 80 of file tcp.h.

◆ TCP_OPTION_SACK_PERMITTED

#define TCP_OPTION_SACK_PERMITTED   4

Code for the TCP selective acknowledgement permitted option.

Definition at line 95 of file tcp.h.

◆ TCP_SACK_MAX

#define TCP_SACK_MAX   3

Maximum number of selective acknowledgement blocks.

This allows for the presence of the TCP timestamp option.

Definition at line 113 of file tcp.h.

◆ TCP_OPTION_SACK

#define TCP_OPTION_SACK   5

Code for the TCP selective acknowledgement option.

Definition at line 122 of file tcp.h.

◆ TCP_OPTION_TS

#define TCP_OPTION_TS   8

Code for the TCP timestamp option.

Definition at line 139 of file tcp.h.

Function Documentation

◆ __attribute()

struct tcp_window_scale_padded_option __attribute ( (packed)  )

Variable Documentation

◆ __attribute

struct tcp_sack_permitted_option __attribute