aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteven Luong <sluong@cisco.com>2023-10-11 14:09:21 -0700
committerAndrew Yourtchenko <ayourtch@gmail.com>2023-10-25 17:19:29 +0000
commit946cb7b22b5c2507d7967e7ee095b5ee0d76d8a9 (patch)
tree501c93b06e4453f26954a3cb87abc87245d3496d
parent170ab647368dbb82e4ed580f4ab365ac5eec7df5 (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.c4
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 */