aboutsummaryrefslogtreecommitdiffstats
path: root/src/vnet
diff options
context:
space:
mode:
authorFlorin Coras <fcoras@cisco.com>2018-10-04 19:03:05 -0700
committerDave Barach <openvpp@barachs.net>2018-10-05 11:40:58 +0000
commit326b81e30e63a8296df51d85e6514356cd737225 (patch)
treebd5104903cecdd87bbad233adbd76c447b7c7d4c /src/vnet
parentb3f90503313949e23528495ca12a525be7c5ad9f (diff)
session: fix local session tagging and cleanup
Change-Id: I0d42a0c71fea7dd669fb1fe5ded7e6e944245c7d Signed-off-by: Florin Coras <fcoras@cisco.com>
Diffstat (limited to 'src/vnet')
-rw-r--r--src/vnet/session/application.c6
-rw-r--r--src/vnet/session/segment_manager.c4
-rw-r--r--src/vnet/session/session_node.c2
3 files changed, 5 insertions, 7 deletions
diff --git a/src/vnet/session/application.c b/src/vnet/session/application.c
index 61909660ad6..fad3e1c2292 100644
--- a/src/vnet/session/application.c
+++ b/src/vnet/session/application.c
@@ -1626,10 +1626,8 @@ application_local_session_connect (app_worker_t * client_wrk,
segment_manager_segment_reader_unlock (sm);
goto failed;
}
- ls->server_rx_fifo->master_session_index = ls->session_index;
- ls->server_tx_fifo->master_session_index = ls->session_index;
- ls->server_rx_fifo->master_thread_index = ~0;
- ls->server_tx_fifo->master_thread_index = ~0;
+ ls->server_rx_fifo->ct_session_index = ls->session_index;
+ ls->server_tx_fifo->ct_session_index = ls->session_index;
ls->svm_segment_index = seg_index;
ls->listener_index = ll->session_index;
ls->client_wrk_index = client_wrk->wrk_index;
diff --git a/src/vnet/session/segment_manager.c b/src/vnet/session/segment_manager.c
index bf62040271f..8dd72928ec4 100644
--- a/src/vnet/session/segment_manager.c
+++ b/src/vnet/session/segment_manager.c
@@ -366,11 +366,11 @@ segment_manager_del_sessions (segment_manager_t * sm)
*/
while (fifo)
{
- if (fifo->master_thread_index == 255)
+ if (fifo->ct_session_index != SVM_FIFO_INVALID_SESSION_INDEX)
{
svm_fifo_t *next = fifo->next;
application_local_session_disconnect_w_index (sm->app_wrk_index,
- fifo->master_session_index);
+ fifo->ct_session_index);
fifo = next;
continue;
}
diff --git a/src/vnet/session/session_node.c b/src/vnet/session/session_node.c
index 9a954bb127b..281622bcc9b 100644
--- a/src/vnet/session/session_node.c
+++ b/src/vnet/session/session_node.c
@@ -835,7 +835,7 @@ skip_dequeue:
s = session_event_get_session (e, thread_index);
if (PREDICT_FALSE (!s))
{
- clib_warning ("It's dead, Jim!");
+ clib_warning ("session was freed!");
continue;
}