From ea7e7087d21151c89056152579e37510234880d6 Mon Sep 17 00:00:00 2001 From: Florin Coras Date: Tue, 7 Jul 2020 17:57:28 -0700 Subject: session: fix ct listener cleanup Type: fix Signed-off-by: Florin Coras Change-Id: I749f36a7062bf9b073c1b6753436c23ba326a5db --- src/vnet/session/application_local.c | 1 + src/vnet/session/segment_manager.c | 2 +- src/vnet/session/session_node.c | 4 +--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/vnet/session/application_local.c b/src/vnet/session/application_local.c index 927bf91a040..e3325932cfc 100644 --- a/src/vnet/session/application_local.c +++ b/src/vnet/session/application_local.c @@ -86,6 +86,7 @@ ct_session_endpoint (session_t * ll, session_endpoint_t * sep) sep->transport_proto = ct->actual_tp; sep->port = ct->c_lcl_port; sep->is_ip4 = ct->c_is_ip4; + ip_copy (&sep->ip, &ct->c_lcl_ip, ct->c_is_ip4); } int diff --git a/src/vnet/session/segment_manager.c b/src/vnet/session/segment_manager.c index 4c4f0b4b3cf..caaf67f8915 100644 --- a/src/vnet/session/segment_manager.c +++ b/src/vnet/session/segment_manager.c @@ -194,7 +194,7 @@ segment_manager_del_segment (segment_manager_t * sm, fifo_segment_t * fs) { clib_valloc_free (&smm->va_allocator, fs->ssvm.requested_va); - if (sm->app_wrk_index != SEGMENT_MANAGER_INVALID_APP_INDEX) + if (!segment_manager_app_detached (sm)) { app_worker_t *app_wrk; u64 segment_handle; diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c index d49fa1e1ba6..738f0b90124 100644 --- a/src/vnet/session/session_node.c +++ b/src/vnet/session/session_node.c @@ -49,9 +49,7 @@ session_mq_listen_handler (void *data) clib_memset (a, 0, sizeof (*a)); a->sep.is_ip4 = mp->is_ip4; - clib_memcpy_fast (&a->sep.ip, &mp->ip, sizeof (mp->ip)); - if (mp->is_ip4) - ip46_address_mask_ip4 (&a->sep.ip); + ip_copy (&a->sep.ip, &mp->ip, mp->is_ip4); a->sep.port = mp->port; a->sep.fib_index = mp->vrf; a->sep.sw_if_index = ENDPOINT_INVALID_INDEX; -- cgit 1.2.3-korg