X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fplugins%2Fhs_apps%2Fsapi%2Fvpp_echo_common.c;h=7c58dad99ea657e28b0ed9c1978f3ef561e75c76;hb=7c40a3837a7a256cbb61dfad15be6e910058e4ba;hp=0f6c2ec713526164aa588ded4a2755d8d2250159;hpb=8095b602c79c411999f04ded541db918cf1fabe0;p=vpp.git diff --git a/src/plugins/hs_apps/sapi/vpp_echo_common.c b/src/plugins/hs_apps/sapi/vpp_echo_common.c index 0f6c2ec7135..7c58dad99ea 100644 --- a/src/plugins/hs_apps/sapi/vpp_echo_common.c +++ b/src/plugins/hs_apps/sapi/vpp_echo_common.c @@ -113,30 +113,6 @@ format_ip46_address (u8 * s, va_list * args) format (s, "%U", format_ip6_address, &ip46->ip6); } -uword -unformat_data (unformat_input_t * input, va_list * args) -{ - u64 _a; - u64 *a = va_arg (*args, u64 *); - if (unformat (input, "%lluGb", &_a)) - *a = _a << 30; - else if (unformat (input, "%lluG", &_a)) - *a = _a << 30; - else if (unformat (input, "%lluMb", &_a)) - *a = _a << 20; - else if (unformat (input, "%lluM", &_a)) - *a = _a << 20; - else if (unformat (input, "%lluKb", &_a)) - *a = _a << 10; - else if (unformat (input, "%lluK", &_a)) - *a = _a << 10; - else if (unformat (input, "%llu", a)) - ; - else - return 0; - return 1; -} - u8 * format_api_error (u8 * s, va_list * args) { @@ -166,30 +142,81 @@ init_error_string_table () hash_set (em->error_string_by_error_number, 99, "Misc"); } +u8 * +echo_format_session (u8 * s, va_list * args) +{ + echo_session_t *session = va_arg (*args, echo_session_t *); + + return format (s, "%U 0x%lx S[%u]", echo_format_session_type, + session->session_type, session->vpp_session_handle, + session->session_index); +} + +u8 * +echo_format_session_type (u8 * s, va_list * args) +{ + u32 session_type = va_arg (*args, u32); + switch (session_type) + { + case ECHO_SESSION_TYPE_QUIC: + return format (s, "Qsession"); + case ECHO_SESSION_TYPE_STREAM: + return format (s, "Stream"); + case ECHO_SESSION_TYPE_LISTEN: + return format (s, "Lsession"); + default: + break; + } + return format (s, "BadSession"); +} + +u8 * +echo_format_session_state (u8 * s, va_list * args) +{ + u32 session_state = va_arg (*args, u32); + switch (session_state) + { + case ECHO_SESSION_STATE_INITIAL: + return format (s, "ECHO_SESSION_STATE_INITIAL (%u)", session_state); + case ECHO_SESSION_STATE_READY: + return format (s, "ECHO_SESSION_STATE_READY (%u)", session_state); + case ECHO_SESSION_STATE_AWAIT_CLOSING: + return format (s, "ECHO_SESSION_STATE_AWAIT_CLOSING (%u)", + session_state); + case ECHO_SESSION_STATE_AWAIT_DATA: + return format (s, "ECHO_SESSION_STATE_AWAIT_DATA (%u)", session_state); + case ECHO_SESSION_STATE_CLOSING: + return format (s, "ECHO_SESSION_STATE_CLOSING (%u)", session_state); + case ECHO_SESSION_STATE_CLOSED: + return format (s, "ECHO_SESSION_STATE_CLOSED (%u)", session_state); + default: + break; + } + return format (s, "unknown session state (%u)", session_state); +} + u8 * echo_format_app_state (u8 * s, va_list * args) { u32 state = va_arg (*args, u32); if (state == STATE_START) - return format (s, "STATE_START"); + return format (s, "STATE_START (%u)", state); if (state == STATE_ATTACHED) - return format (s, "STATE_ATTACHED"); + return format (s, "STATE_ATTACHED (%u)", state); if (state == STATE_ATTACHED_NO_CERT) - return format (s, "STATE_ATTACHED_NO_CERT"); - if (state == STATE_ATTACHED_ONE_CERT) - return format (s, "STATE_ATTACHED_ONE_CERT"); + return format (s, "STATE_ATTACHED_NO_CERT (%u)", state); if (state == STATE_LISTEN) - return format (s, "STATE_LISTEN"); + return format (s, "STATE_LISTEN (%u)", state); if (state == STATE_READY) - return format (s, "STATE_READY"); + return format (s, "STATE_READY (%u)", state); if (state == STATE_DATA_DONE) - return format (s, "STATE_DATA_DONE"); + return format (s, "STATE_DATA_DONE (%u)", state); if (state == STATE_DISCONNECTED) - return format (s, "STATE_DISCONNECTED"); + return format (s, "STATE_DISCONNECTED (%u)", state); if (state == STATE_DETACHED) - return format (s, "STATE_DETACHED"); + return format (s, "STATE_DETACHED (%u)", state); else - return format (s, "unknown state"); + return format (s, "unknown state (%u)", state); } uword @@ -434,9 +461,9 @@ u8 * echo_format_crypto_engine (u8 * s, va_list * args) { u32 state = va_arg (*args, u32); - if (state == TLS_ENGINE_MBEDTLS) + if (state == CRYPTO_ENGINE_MBEDTLS) return format (s, "mbedtls"); - if (state == TLS_ENGINE_OPENSSL) + if (state == CRYPTO_ENGINE_OPENSSL) return format (s, "openssl"); if (state == CRYPTO_ENGINE_PICOTLS) return format (s, "picotls"); @@ -451,9 +478,9 @@ echo_unformat_crypto_engine (unformat_input_t * input, va_list * args) { u8 *a = va_arg (*args, u8 *); if (unformat (input, "mbedtls")) - *a = TLS_ENGINE_MBEDTLS; + *a = CRYPTO_ENGINE_MBEDTLS; else if (unformat (input, "openssl")) - *a = TLS_ENGINE_OPENSSL; + *a = CRYPTO_ENGINE_OPENSSL; else if (unformat (input, "picotls")) *a = CRYPTO_ENGINE_PICOTLS; else if (unformat (input, "vpp")) @@ -475,9 +502,15 @@ echo_session_handle_add_del (echo_main_t * em, u64 handle, u32 sid) { clib_spinlock_lock (&em->sid_vpp_handles_lock); if (sid == SESSION_INVALID_INDEX) - hash_unset (em->session_index_by_vpp_handles, handle); + { + ECHO_LOG (2, "hash_unset(0x%lx)", handle); + hash_unset (em->session_index_by_vpp_handles, handle); + } else - hash_set (em->session_index_by_vpp_handles, handle, sid); + { + ECHO_LOG (2, "hash_set(0x%lx) S[%d]", handle, sid); + hash_set (em->session_index_by_vpp_handles, handle, sid); + } clib_spinlock_unlock (&em->sid_vpp_handles_lock); } @@ -525,8 +558,7 @@ echo_get_session_from_handle (echo_main_t * em, u64 handle) clib_spinlock_unlock (&em->sid_vpp_handles_lock); if (!p) { - ECHO_FAIL (ECHO_FAIL_GET_SESSION_FROM_HANDLE, - "unknown handle 0x%lx", handle); + ECHO_LOG (1, "unknown handle 0x%lx", handle); return 0; } return pool_elt_at_index (em->sessions, p[0]);