summaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2020-07-07 17:57:28 -0700
committerFlorin Coras <fcoras@cisco.com>2020-07-07 17:57:59 -0700
commitea7e7087d21151c89056152579e37510234880d6 (patch)
tree4f2ff3a7dc685cd5e048d6c142f1fd1f47ffa434 /src/vnet
parentc78d47b1417706b278dd15098a47d380596442ce (diff)
session: fix ct listener cleanup
Type: fix Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I749f36a7062bf9b073c1b6753436c23ba326a5db
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/session/application_local.c1
-rw-r--r--src/vnet/session/segment_manager.c2
-rw-r--r--src/vnet/session/session_node.c4
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;