X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlibmemory%2Fsocket_client.c;h=7082d8ba7e075b0872013f9f1ff7c25f609aad0b;hb=9b7e8acf792cced80e6775bc5668d9db415cdb46;hp=8d9d7cefc0ddccb9cdb769bb29ef31ac3f79fe3e;hpb=5220a26af059d7578abcbad2aea158b32cdb22b9;p=vpp.git diff --git a/src/vlibmemory/socket_client.c b/src/vlibmemory/socket_client.c index 8d9d7cefc0d..7082d8ba7e0 100644 --- a/src/vlibmemory/socket_client.c +++ b/src/vlibmemory/socket_client.c @@ -19,6 +19,7 @@ #include #define __USE_GNU +#define _GNU_SOURCE #include #include @@ -35,6 +36,10 @@ #include #undef vl_endianfun +#define vl_calcsizefun +#include +#undef vl_calcsizefun + /* instantiate all the print functions we know about */ #define vl_print(handle, ...) clib_warning (__VA_ARGS__) #define vl_printfun @@ -133,7 +138,7 @@ vl_socket_client_read_internal (socket_client_main_t * scm, int wait) if (vec_len (scm->socket_rx_buffer) >= data_len + sizeof (*mbp)) { - vl_msg_api_socket_handler ((void *) (mbp->data)); + vl_msg_api_socket_handler ((void *) (mbp->data), data_len); if (vec_len (scm->socket_rx_buffer) == data_len + sizeof (*mbp)) _vec_len (scm->socket_rx_buffer) = 0; @@ -431,13 +436,12 @@ void vl_sock_client_install_message_handlers (void) { -#define _(N,n) \ - vl_msg_api_set_handlers(VL_API_##N, #n, \ - vl_api_##n##_t_handler, \ - noop_handler, \ - vl_api_##n##_t_endian, \ - vl_api_##n##_t_print, \ - sizeof(vl_api_##n##_t), 1); +#define _(N, n) \ + vl_msg_api_set_handlers ( \ + VL_API_##N, #n, vl_api_##n##_t_handler, noop_handler, \ + vl_api_##n##_t_endian, vl_api_##n##_t_print, sizeof (vl_api_##n##_t), 0, \ + vl_api_##n##_t_print_json, vl_api_##n##_t_tojson, \ + vl_api_##n##_t_fromjson, vl_api_##n##_t_calc_size); foreach_sock_client_api_msg; #undef _ } @@ -461,7 +465,7 @@ vl_socket_client_connect_internal (socket_client_main_t * scm, sock = &scm->client_socket; sock->config = socket_path; - sock->flags = CLIB_SOCKET_F_IS_CLIENT | CLIB_SOCKET_F_NON_BLOCKING_CONNECT; + sock->flags = CLIB_SOCKET_F_IS_CLIENT; if ((error = clib_socket_init (sock))) {