net: tcp2: Implement FIN_WAIT_1 state
On active close, wait for FIN+ACK and subsequently enter TIME_WAIT state. Signed-off-by: Oleg Zhurakivskyy <oleg.zhurakivskyy@intel.com>
This commit is contained in:
parent
52fca0a8d2
commit
40799bc986
1 changed files with 7 additions and 2 deletions
|
@ -929,13 +929,18 @@ next_state:
|
|||
case TCP_CLOSED:
|
||||
tcp_conn_unref(conn);
|
||||
break;
|
||||
case TCP_CLOSING:
|
||||
case TCP_FIN_WAIT_1:
|
||||
case TCP_FIN_WAIT_2:
|
||||
if (th && FL(&fl, ==, (FIN | ACK), th_seq(th) == conn->ack)) {
|
||||
tcp_send_timer_cancel(conn);
|
||||
next = TCP_TIME_WAIT;
|
||||
}
|
||||
break;
|
||||
case TCP_TIME_WAIT:
|
||||
k_delayed_work_submit(&conn->timewait_timer,
|
||||
K_MSEC(CONFIG_NET_TCP_TIME_WAIT_DELAY));
|
||||
break;
|
||||
case TCP_FIN_WAIT_2:
|
||||
case TCP_CLOSING:
|
||||
default:
|
||||
NET_ASSERT(false, "%s is unimplemented",
|
||||
tcp_state_to_str(conn->state, true));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue