iPXE
Data Structures | Defines | 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...

Defines

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

Functions

struct
tcp_window_scale_padded_option 
__attribute ((packed))

Variables

struct tcp_sack_permitted_option __attribute

Define Documentation

#define TCP_OPTION_END   0

End of TCP options list.

Definition at line 36 of file tcp.h.

Referenced by tcp_rx_opts().

#define TCP_OPTION_NOP   1

TCP option pad.

Definition at line 39 of file tcp.h.

Referenced by tcp_rx_opts(), and tcp_xmit_sack().

#define TCP_OPTION_MSS   2

Code for the TCP MSS option.

Definition at line 55 of file tcp.h.

Referenced by tcp_rx_opts(), and tcp_xmit_sack().

#define TCP_OPTION_WS   3

Code for the TCP window scale option.

Definition at line 71 of file tcp.h.

Referenced by tcp_rx_opts(), and tcp_xmit_sack().

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

Referenced by tcp_rx_syn(), and tcp_xmit_sack().

#define TCP_OPTION_SACK_PERMITTED   4

Code for the TCP selective acknowledgement permitted option.

Definition at line 95 of file tcp.h.

Referenced by tcp_rx_opts(), and tcp_xmit_sack().

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

Referenced by tcp_rx_seq(), and tcp_sack().

#define TCP_OPTION_SACK   5

Code for the TCP selective acknowledgement option.

Definition at line 122 of file tcp.h.

Referenced by tcp_rx_opts(), and tcp_xmit_sack().

#define TCP_OPTION_TS   8

Code for the TCP timestamp option.

Definition at line 139 of file tcp.h.

Referenced by tcp_rx_opts(), and tcp_xmit_sack().


Function Documentation


Variable Documentation