aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSteven Luong <sluong@cisco.com>2023-10-11 14:09:21 -0700
committerFlorin Coras <florin.coras@gmail.com>2023-10-12 18:06:39 +0000
commit947aa8fffcd85563ed0bad620f739e76c6002f50 (patch)
treefdc0d70db9a1e4f144be0191ebdb20ade774eac1 /src
parent733e093e7099552a4609dc5efadf9261df7778d4 (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>
Diffstat (limited to 'src')
-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 */