1750 static const unsigned char new_state[16] = { 1751 /* current state: new state: action: */ 1752 /* (Invalid) */ TCP_CLOSE, 1753 /* TCP_ESTABLISHED */ TCP_FIN_WAIT1 | TCP_ACTION_FIN, 1754 /* TCP_SYN_SENT */ TCP_CLOSE, 1755 /* TCP_SYN_RECV */ TCP_FIN_WAIT1 | TCP_ACTION_FIN, 1756 /* TCP_FIN_WAIT1 */ TCP_FIN_WAIT1, 1757 /* TCP_FIN_WAIT2 */ TCP_FIN_WAIT2, 1758 /* TCP_TIME_WAIT */ TCP_CLOSE, 1759 /* TCP_CLOSE */ TCP_CLOSE, 1760 /* TCP_CLOSE_WAIT */ TCP_LAST_ACK | TCP_ACTION_FIN, 1761 /* TCP_LAST_ACK */ TCP_LAST_ACK, 1762 /* TCP_LISTEN */ TCP_CLOSE, 1763 /* TCP_CLOSING */ TCP_CLOSING, 1764 }; Setting states: tcp.c:void tcp_set_state(struct sock *sk, int state) tcp.c:EXPORT_SYMBOL_GPL(tcp_set_state); tcp.c: tcp_set_state(sk, ns); tcp.c: tcp_set_state(sk, TCP_CLOSE); tcp.c: tcp_set_state(sk, TCP_CLOSE); tcp.c: tcp_set_state(sk, TCP_CLOSE); tcp.c: tcp_set_state(sk, TCP_CLOSE); tcp.c: tcp_set_state(sk, TCP_CLOSE); tcp.c: tcp_set_state(sk, TCP_CLOSE); tcp_input.c: tcp_set_state(sk, TCP_CLOSE_WAIT); tcp_input.c: tcp_set_state(sk, TCP_CLOSING); tcp_input.c: tcp_set_state(sk, TCP_ESTABLISHED); tcp_input.c: tcp_set_state(sk, TCP_SYN_RECV); tcp_input.c: tcp_set_state(sk, TCP_ESTABLISHED); tcp_input.c: tcp_set_state(sk, TCP_FIN_WAIT2); tcp_ipv4.c: tcp_set_state(sk, TCP_SYN_SENT); tcp_ipv4.c: tcp_set_state(sk, TCP_CLOSE); |