TCP_FIN_WAIT2
case TCP_FIN_WAIT2:
tcp_set_state(sk, TCP_FIN_WAIT2);
if (sk->sk_state == TCP_FIN_WAIT2 && tcp_sk(sk)->linger2 < 0 &&
/* TCP_FIN_WAIT2 */ TCP_FIN_WAIT2,
case TCP_FIN_WAIT2:
case TCP_FIN_WAIT2:
case TCP_FIN_WAIT2:
TCPF_FIN_WAIT2 = (1 << TCP_FIN_WAIT2),
EM(TCP_FIN_WAIT2) \
EM( TCP_FIN_WAIT2, "FIN_WAIT2" ) \
BUILD_BUG_ON((int)BPF_TCP_FIN_WAIT2 != (int)TCP_FIN_WAIT2);
[TCP_FIN_WAIT2] = TCP_FIN_WAIT2,
if (sk->sk_state == TCP_FIN_WAIT2) {
tcp_time_wait(sk, TCP_FIN_WAIT2, tmo);
case TCP_FIN_WAIT2:
tcp_set_state(sk, TCP_FIN_WAIT2);
tcp_time_wait(sk, TCP_FIN_WAIT2, tmo);
case TCP_FIN_WAIT2:
if (READ_ONCE(tw->tw_substate) == TCP_FIN_WAIT2)
if (READ_ONCE(tw->tw_substate) == TCP_FIN_WAIT2) {
if (sk->sk_state == TCP_FIN_WAIT2 && sock_flag(sk, SOCK_DEAD)) {
tcp_time_wait(sk, TCP_FIN_WAIT2, tmo);
[TCP_FIN_WAIT2] = TCP_FIN_WAIT2,
mptcp_set_state(sk, TCP_FIN_WAIT2);
case TCP_FIN_WAIT2:
case TCP_FIN_WAIT2: