|
iPXE
|
A TCP connection. More...
Data Fields | |
| struct refcnt | refcnt |
| Reference counter. | |
| struct list_head | list |
| List of TCP connections. | |
| unsigned int | flags |
| Flags. | |
| struct interface | xfer |
| Data transfer interface. | |
| struct sockaddr_tcpip | peer |
| Remote socket address. | |
| unsigned int | local_port |
| Local port. | |
| size_t | mss |
| Maximum segment size. | |
| unsigned int | tcp_state |
| Current TCP state. | |
| unsigned int | prev_tcp_state |
| Previous TCP state. | |
| uint32_t | snd_seq |
| Current sequence number. | |
| uint32_t | snd_sent |
| Unacknowledged sequence count. | |
| uint32_t | snd_win |
| Send window. | |
| uint32_t | rcv_ack |
| Current acknowledgement number. | |
| uint32_t | rcv_win |
| Receive window. | |
| uint32_t | ts_val |
| Received timestamp value. | |
| uint32_t | ts_recent |
| Most recent received timestamp that advanced the window. | |
| uint8_t | snd_win_scale |
| Send window scale. | |
| uint8_t | rcv_win_scale |
| Receive window scale. | |
| struct tcp_sack_block | sack [TCP_SACK_MAX] |
| Selective acknowledgement list (in host-endian order) | |
| struct list_head | tx_queue |
| Transmit queue. | |
| struct list_head | rx_queue |
| Receive queue. | |
| struct process | process |
| Transmission process. | |
| struct retry_timer | timer |
| Retransmission timer. | |
| struct retry_timer | keepalive |
| Keepalive timer. | |
| struct retry_timer | wait |
| Shutdown (TIME_WAIT) timer. | |
| struct pending_operation | pending_flags |
| Pending operations for SYN and FIN. | |
| struct pending_operation | pending_data |
| Pending operations for transmit queue. | |
| struct refcnt tcp_connection::refcnt |
| struct list_head tcp_connection::list |
List of TCP connections.
Definition at line 38 of file tcp.c.
Referenced by tcp_close(), tcp_demux(), tcp_first_unclosed(), tcp_first_unfinished(), tcp_open(), and tcp_shutdown().
| unsigned int tcp_connection::flags |
Flags.
Definition at line 41 of file tcp.c.
Referenced by tcp_close(), tcp_first_unclosed(), tcp_keepalive_expired(), tcp_rx(), tcp_rx_ack(), tcp_rx_seq(), tcp_rx_syn(), and tcp_xmit_sack().
| struct interface tcp_connection::xfer |
Data transfer interface.
Definition at line 44 of file tcp.c.
Referenced by tcp_close(), tcp_open(), tcp_rx(), tcp_rx_data(), and tcp_xmit_sack().
| struct sockaddr_tcpip tcp_connection::peer |
Remote socket address.
Definition at line 47 of file tcp.c.
Referenced by tcp_open(), and tcp_xmit_sack().
| unsigned int tcp_connection::local_port |
Local port.
Definition at line 49 of file tcp.c.
Referenced by tcp_demux(), tcp_open(), and tcp_xmit_sack().
| size_t tcp_connection::mss |
Maximum segment size.
Definition at line 51 of file tcp.c.
Referenced by tcp_open(), and tcp_xmit_sack().
| unsigned int tcp_connection::tcp_state |
Current TCP state.
Definition at line 54 of file tcp.c.
Referenced by tcp_close(), tcp_dump_state(), tcp_expired(), tcp_first_unfinished(), tcp_open(), tcp_progress(), tcp_rx(), tcp_rx_ack(), tcp_rx_enqueue(), tcp_rx_fin(), tcp_rx_rst(), tcp_rx_syn(), tcp_shutdown(), tcp_wait_expired(), tcp_xmit_sack(), and tcp_xmit_win().
| unsigned int tcp_connection::prev_tcp_state |
Previous TCP state.
Maintained only for debug messages
Definition at line 59 of file tcp.c.
Referenced by tcp_dump_state(), and tcp_open().
| uint32_t tcp_connection::snd_seq |
Current sequence number.
Equivalent to SND.UNA in RFC 793 terminology.
Definition at line 64 of file tcp.c.
Referenced by tcp_close(), tcp_expired(), tcp_open(), tcp_rx_ack(), tcp_wait_expired(), and tcp_xmit_sack().
| uint32_t tcp_connection::snd_sent |
Unacknowledged sequence count.
Equivalent to (SND.NXT-SND.UNA) in RFC 793 terminology.
Definition at line 69 of file tcp.c.
Referenced by tcp_expired(), tcp_rx_ack(), tcp_wait_expired(), and tcp_xmit_sack().
| uint32_t tcp_connection::snd_win |
Send window.
Equivalent to SND.WND in RFC 793 terminology
Definition at line 74 of file tcp.c.
Referenced by tcp_rx_ack(), and tcp_xmit_win().
| uint32_t tcp_connection::rcv_ack |
Current acknowledgement number.
Equivalent to RCV.NXT in RFC 793 terminology.
Definition at line 79 of file tcp.c.
Referenced by tcp_expired(), tcp_process_rx_queue(), tcp_rx(), tcp_rx_data(), tcp_rx_enqueue(), tcp_rx_fin(), tcp_rx_rst(), tcp_rx_seq(), tcp_rx_syn(), tcp_sack_block(), tcp_wait_expired(), tcp_xmit(), and tcp_xmit_sack().
| uint32_t tcp_connection::rcv_win |
Receive window.
Equivalent to RCV.WND in RFC 793 terminology.
Definition at line 84 of file tcp.c.
Referenced by tcp_rx_enqueue(), tcp_rx_rst(), tcp_rx_seq(), and tcp_xmit_sack().
| uint32_t tcp_connection::ts_val |
Received timestamp value.
Updated when a packet is received; copied to ts_recent when the window is advanced.
Definition at line 90 of file tcp.c.
Referenced by tcp_rx(), and tcp_rx_seq().
| uint32_t tcp_connection::ts_recent |
Most recent received timestamp that advanced the window.
Equivalent to TS.Recent in RFC 1323 terminology.
Definition at line 95 of file tcp.c.
Referenced by tcp_rx_seq(), and tcp_xmit_sack().
| uint8_t tcp_connection::snd_win_scale |
Send window scale.
Equivalent to Snd.Wind.Scale in RFC 1323 terminology
Definition at line 100 of file tcp.c.
Referenced by tcp_rx(), and tcp_rx_syn().
| uint8_t tcp_connection::rcv_win_scale |
Receive window scale.
Equivalent to Rcv.Wind.Scale in RFC 1323 terminology
Definition at line 105 of file tcp.c.
Referenced by tcp_rx_syn(), and tcp_xmit_sack().
| struct tcp_sack_block tcp_connection::sack[TCP_SACK_MAX] |
Selective acknowledgement list (in host-endian order)
Definition at line 108 of file tcp.c.
Referenced by tcp_rx_seq(), tcp_sack(), and tcp_xmit_sack().
| struct list_head tcp_connection::tx_queue |
Transmit queue.
Definition at line 111 of file tcp.c.
Referenced by tcp_close(), tcp_open(), tcp_process_tx_queue(), tcp_rx_ack(), tcp_xfer_deliver(), and tcp_xfer_window().
| struct list_head tcp_connection::rx_queue |
Receive queue.
Definition at line 113 of file tcp.c.
Referenced by tcp_close(), tcp_discard(), tcp_open(), tcp_process_rx_queue(), tcp_rx(), tcp_rx_enqueue(), tcp_sack_block(), and tcp_xmit_sack().
| struct process tcp_connection::process |
Transmission process.
Definition at line 115 of file tcp.c.
Referenced by tcp_close(), tcp_first_unfinished(), tcp_open(), and tcp_rx().
| struct retry_timer tcp_connection::timer |
Retransmission timer.
Definition at line 117 of file tcp.c.
Referenced by tcp_close(), tcp_open(), tcp_rx_ack(), and tcp_xmit_sack().
| struct retry_timer tcp_connection::keepalive |
Keepalive timer.
Definition at line 119 of file tcp.c.
Referenced by tcp_close(), tcp_keepalive_expired(), tcp_open(), and tcp_rx_ack().
| struct retry_timer tcp_connection::wait |
Shutdown (TIME_WAIT) timer.
Definition at line 121 of file tcp.c.
Referenced by tcp_close(), tcp_open(), tcp_rx(), and tcp_wait_expired().
| struct pending_operation tcp_connection::pending_flags |
Pending operations for SYN and FIN.
Definition at line 124 of file tcp.c.
Referenced by tcp_close(), tcp_open(), and tcp_rx_ack().
| struct pending_operation tcp_connection::pending_data |
Pending operations for transmit queue.
Definition at line 126 of file tcp.c.
Referenced by tcp_close(), tcp_process_tx_queue(), and tcp_xfer_deliver().