next up previous contents
Next: TCP Output Up: Design and Implementation Previous: Routing Table

 

TAO Test

Once a request has been sent and the reply received, the tcp_options() function handles the searching for the CC options. This sets various flags and variables to the CC options. The caller of tcp_options() examines these flags and depending on the state the TCP state machine is in, processes the data.

Referring to figure 6.1 (for definition for state transitions, see table 6.1), consider the situation where the server is in the LISTEN state.When a request is received that uses T/TCP, the tcp_options() function will find a CC option in the header. The SYN flag will also be set in the packet. This indicates to the server that a client is attempting to initiate a connection. This CC option is compared to the CC option currently held in the cache of the receiver. If the received value is higher than the cached value, the TAO test succeeds and the data can be immediately passed onto the user, otherwise, the 3-Way Handshake has to be completed before the data is valid. Appendix A.2.4 contains the code modifications to tcp_conn_request() which handles the bypassing of the 3-Way Handshake.

Once the connection has been established, the CC options are used to validate the segment for that connection, as in section 6.5.



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