summaryrefslogtreecommitdiffstats
path: root/src/vnet/session/session.c
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2019-04-03 17:52:43 -0700
committerDamjan Marion <dmarion@me.com>2019-04-05 07:51:41 +0000
commit6416e6274d0817a347d5b54bc61b4f1b617ff363 (patch)
treed5cc8ad2ff1ea68d0656087e34c3d1407c23f874 /src/vnet/session/session.c
parent8509aa29e389bb57a7224d1ace0c55ba64db427b (diff)
tcp: do not delete session on establish pop
Also: - force reset if wait close pops in fin-wait-1 with unsent data - adds more event logging. Change-Id: I4ddada046214fa71e17514cdec57b3026f84a283 Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet/session/session.c')
-rw-r--r--src/vnet/session/session.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/vnet/session/session.c b/src/vnet/session/session.c
index f637d625616..9dc35238795 100644
--- a/src/vnet/session/session.c
+++ b/src/vnet/session/session.c
@@ -174,9 +174,15 @@ session_alloc (u32 thread_index)
void
session_free (session_t * s)
{
- pool_put (session_main.wrk[s->thread_index].sessions, s);
if (CLIB_DEBUG)
- clib_memset (s, 0xFA, sizeof (*s));
+ {
+ u8 thread_index = s->thread_index;
+ clib_memset (s, 0xFA, sizeof (*s));
+ pool_put (session_main.wrk[thread_index].sessions, s);
+ return;
+ }
+ SESSION_EVT_DBG (SESSION_EVT_FREE, s);
+ pool_put (session_main.wrk[s->thread_index].sessions, s);
}
void