diff options
author | Dave Wallace <dwallacelf@gmail.com> | 2017-11-11 22:45:38 -0500 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2017-11-11 22:45:38 -0500 |
commit | 3bd43b88ff094c185ba59197c3c9dde7edc7c316 (patch) | |
tree | 311779eae4811d045f33de00070e85d46208fb3f /src/vcl/vppcom.c | |
parent | 0cdd5bd05bbb78c28a6995eff1d80eeabb9d6fd1 (diff) |
VCL: clean up disconnect_session debug output.
- Run VPP in xfce4-terminal in VCL unit tests.
Change-Id: Iba6a870617a811261de0a54fa38cdb5109ae1d07
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
Diffstat (limited to 'src/vcl/vppcom.c')
-rw-r--r-- | src/vcl/vppcom.c | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/src/vcl/vppcom.c b/src/vcl/vppcom.c index a46bfe2d8db..09ebe26813f 100644 --- a/src/vcl/vppcom.c +++ b/src/vcl/vppcom.c @@ -599,33 +599,44 @@ vl_api_disconnect_session_reply_t_handler (vl_api_disconnect_session_reply_t * mp) { uword *p; + u32 session_index = ~0; p = hash_get (vcm->session_index_by_vpp_handles, mp->handle); if (p) { session_t *session = 0; int rv; + + session_index = p[0]; + hash_unset (vcm->session_index_by_vpp_handles, mp->handle); clib_spinlock_lock (&vcm->sessions_lockp); - rv = vppcom_session_at_index (p[0], &session); + rv = vppcom_session_at_index (session_index, &session); if (PREDICT_FALSE (rv)) { if (VPPCOM_DEBUG > 1) - clib_warning ("[%d] invalid session, sid (%u) has been closed!", - getpid (), p[0]); + clib_warning ("[%d] invalid session, sid %u has been closed!", + getpid (), session_index); + } + else + { + if (VPPCOM_DEBUG > 1) + clib_warning ("[%d] vpp handle 0x%llx, sid %u disconnected!", + getpid (), mp->handle, session_index); + + session->state = STATE_DISCONNECT; } - hash_unset (vcm->session_index_by_vpp_handles, mp->handle); - session->state = STATE_DISCONNECT; clib_spinlock_unlock (&vcm->sessions_lockp); } else { if (VPPCOM_DEBUG > 1) - clib_warning ("[%d] couldn't find session key %llx", getpid (), - mp->handle); + clib_warning ("[%d] couldn't find session: unknown vpp handle 0x%llx", + getpid (), mp->handle); } if (mp->retval) - clib_warning ("[%d] disconnect_session failed: %U", getpid (), + clib_warning ("[%d] disconnect_session vpp handle 0x%llx, sid %u " + "failed: %U", getpid (), mp->handle, session_index, format_api_error, ntohl (mp->retval)); } @@ -680,8 +691,8 @@ vl_api_disconnect_session_t_handler (vl_api_disconnect_session_t * mp) } else { - clib_warning ("[%d] couldn't find session key %llx", getpid (), - mp->handle); + clib_warning ("[%d] couldn't find session: unknonwn vpp handle 0x%llx", + getpid (), mp->handle); rv = -11; } @@ -721,8 +732,8 @@ vl_api_reset_session_t_handler (vl_api_reset_session_t * mp) } else { - clib_warning ("[%d] couldn't find session key %llx", getpid (), - mp->handle); + clib_warning ("[%d] couldn't find session: unknown vpp handle 0x%llx", + getpid (), mp->handle); rv = -11; } @@ -811,10 +822,10 @@ vl_api_connect_session_reply_t_handler (vl_api_connect_session_reply_t * mp) hash_set (vcm->session_index_by_vpp_handles, mp->handle, session_index); if (VPPCOM_DEBUG > 1) - clib_warning ("[%d] client sid %d\n" + clib_warning ("[%d] client sid %d, vpp handle 0x%llx\n" " session_rx_fifo %p, refcnt %d\n" " session_tx_fifo %p, refcnt %d", - getpid (), session_index, + getpid (), session_index, mp->handle, session->server_rx_fifo, session->server_rx_fifo->refcnt, session->server_tx_fifo, session->server_tx_fifo->refcnt); |