tcp: accept fin-ack in syn-rcvd state
Change-Id: Ibe57abc7d2a06be80146ce28edf4c60ecda991eb Signed-off-by: Florin Coras <fcoras@cisco.com>
This commit is contained in:

committed by
Marco Varlese

parent
877ad144b6
commit
c01c4451c5
@ -2735,10 +2735,10 @@ tcp46_rcv_process_inline (vlib_main_t * vm, vlib_node_runtime_t * node,
|
||||
case TCP_STATE_SYN_RCVD:
|
||||
/* Send FIN-ACK notify app and enter CLOSE-WAIT */
|
||||
tcp_connection_timers_reset (tc0);
|
||||
tcp_retransmit_timer_set (tc0);
|
||||
tcp_make_fin (tc0, b0);
|
||||
tc0->snd_nxt += 1;
|
||||
tc0->snd_una_max = tc0->snd_nxt;
|
||||
tcp_retransmit_timer_set (tc0);
|
||||
next0 = tcp_next_output (tc0->c_is_ip4);
|
||||
stream_session_disconnect_notify (&tc0->connection);
|
||||
tc0->state = TCP_STATE_CLOSE_WAIT;
|
||||
@ -3442,6 +3442,8 @@ do { \
|
||||
_(SYN_RCVD, TCP_FLAG_ACK, TCP_INPUT_NEXT_RCV_PROCESS, TCP_ERROR_NONE);
|
||||
_(SYN_RCVD, TCP_FLAG_RST, TCP_INPUT_NEXT_RCV_PROCESS, TCP_ERROR_NONE);
|
||||
_(SYN_RCVD, TCP_FLAG_SYN, TCP_INPUT_NEXT_RCV_PROCESS, TCP_ERROR_NONE);
|
||||
_(SYN_RCVD, TCP_FLAG_FIN | TCP_FLAG_ACK, TCP_INPUT_NEXT_RCV_PROCESS,
|
||||
TCP_ERROR_NONE);
|
||||
/* SYN-ACK for a SYN */
|
||||
_(SYN_SENT, TCP_FLAG_SYN | TCP_FLAG_ACK, TCP_INPUT_NEXT_SYN_SENT,
|
||||
TCP_ERROR_NONE);
|
||||
|
Reference in New Issue
Block a user