next up previous contents
Next: tcp_rcv() Up: TCP Input Previous: tcp_conn_request()

tcp_ack()

The tcp_ack() function is called whenever a segment with an ACK arrives.

The first small change is after the ACK is deemed to be valid. Since we no longer have to send our SYN, we can switch off the TF_SENDSYN flag.

Two state additions are required.

In the check for the state LAST_ACK, the check for LAST_ACK* is also required.

In the check for SYN_RECV, the check for ESTABLISHED* is also made. In this situation, we are receiving the final ack of a 3-Way Handshake and can move into the ESTABLISHED state. A number of changes are made for T/TCP processing:

Appendix A.2.5 contains the code modifications to this function.



Mark Stacey
Thu Apr 30 12:26:11 IST 1998