Orderly TCP connection lifetime
This figure documents the historical i386 source baseline. Current native x86-64/AArch64 qualification is recorded separately; this is not an ELF64 or native SMP implementation diagram.
Active and passive open converge on ESTABLISHED; each close direction has a different path.
Text equivalent and source references
- An active open reaches SYN_SENT and accepts SYN+ACK; a listener creates a SYN_RECEIVED child and accepts ACK. Both reach ESTABLISHED.
- Local close passes FIN_WAIT_1 and FIN_WAIT_2, while peer-first close passes CLOSE_WAIT and LAST_ACK. Simultaneous close may use CLOSING; TIME_WAIT expires after 200 ticks. Resets, retries and cleanup are omitted; FIN_WAIT_2 also has a bounded timeout.
State machine. Source paths refer to the atlas baseline; the kernel checkout is private.
include/tcp.h · connection state enumkernel/net/tcp.c · tcp_handle_packet, tcp_close, tcp_retransmit_check