diff options
author | Steven Luong <sluong@cisco.com> | 2023-10-11 14:09:21 -0700 |
---|---|---|
committer | Andrew Yourtchenko <ayourtch@gmail.com> | 2023-10-25 17:19:29 +0000 |
commit | 946cb7b22b5c2507d7967e7ee095b5ee0d76d8a9 (patch) | |
tree | 501c93b06e4453f26954a3cb87abc87245d3496d | |
parent | 170ab647368dbb82e4ed580f4ab365ac5eec7df5 (diff) |
session: ignore connecting half_open session in session_tx_fifo_dequeue_internal
s->tx_fifo is 0 for the connecting half open session.
Type: fix
Change-Id: I2ba1ae99a2fa4fae1896587f40e0e4fb73c1edcb
Signed-off-by: Steven Luong <sluong@cisco.com>
(cherry picked from commit 947aa8fffcd85563ed0bad620f739e76c6002f50)
-rw-r--r-- | src/vnet/session/session_node.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index 9e20670f364..4e190df1e99 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -1612,7 +1612,9 @@ session_tx_fifo_dequeue_internal (session_worker_t * wrk, clib_llist_index_t ei; u32 n_packets; - if (PREDICT_FALSE (s->session_state >= SESSION_STATE_TRANSPORT_CLOSED)) + if (PREDICT_FALSE ((s->session_state >= SESSION_STATE_TRANSPORT_CLOSED) || + (s->session_state == SESSION_STATE_CONNECTING && + (s->flags & SESSION_F_HALF_OPEN)))) return 0; /* Clear custom-tx flag used to request reschedule for tx */ |