X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=src%2Fvpp-api%2Fclient%2Ftest.c;h=308492d5f119635d379e6f695c08ceed22af1d66;hb=b5c0d35f;hp=020115d90bb33c7aa9da8205354db14361052525;hpb=5fec1e8b2282f4d3d1d02556020254a84c3b6e3d;p=vpp.git diff --git a/src/vpp-api/client/test.c b/src/vpp-api/client/test.c index 020115d90bb..308492d5f11 100644 --- a/src/vpp-api/client/test.c +++ b/src/vpp-api/client/test.c @@ -55,36 +55,49 @@ volatile u16 result_msg_id; #define M_NOALLOC(T,t) \ do { \ result_ready = 0; \ - memset (mp, 0, sizeof (*mp)); \ + clib_memset (mp, 0, sizeof (*mp)); \ mp->_vl_msg_id = ntohs (VL_API_##T); \ mp->client_index = am->my_client_index; \ } while(0); -int -wrap_vac_callback (char *data, int len) +void +wrap_vac_callback (unsigned char *data, int len) { //printf("Callback %d\n", len); result_ready = 1; result_msg_id = ntohs(*((u16 *)data)); - return (0); } -int main (int argc, char ** argv) +static void +test_connect () +{ + static int i; + int rv = vac_connect("vac_client", NULL, wrap_vac_callback, 32 /* rx queue-length*/); + if (rv != 0) { + printf("Connect failed: %d\n", rv); + exit(rv); + } + printf("."); + vac_disconnect(); + i++; +} + +static void +test_messages (void) { - api_main_t * am = &api_main; + api_main_t * am = vlibapi_get_main(); vl_api_show_version_t message; vl_api_show_version_t *mp; int async = 1; - int rv = vac_connect("vac_client", NULL, NULL, 32 /* rx queue-length*/); + int rv = vac_connect("vac_client", NULL, wrap_vac_callback, 32 /* rx queue-length*/); if (rv != 0) { printf("Connect failed: %d\n", rv); exit(rv); } - - struct timeb timer_msec; + struct timeb timer_msec; long long int timestamp_msec_start; /* timestamp in millisecond. */ if (!ftime(&timer_msec)) { timestamp_msec_start = ((long long int) timer_msec.time) * 1000ll + @@ -136,5 +149,15 @@ int main (int argc, char ** argv) no_msgs/(timestamp_msec_end - timestamp_msec_start)); printf("Exiting...\n"); vac_disconnect(); +} + +int main (int argc, char ** argv) +{ + int i; + + for (i = 0; i < 1000; i++) { + test_connect(); + } + test_messages(); exit (0); }