aboutsummaryrefslogtreecommitdiffstats
path: root/src/vcl/vcl_test_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/vcl/vcl_test_client.c')
-rw-r--r--src/vcl/vcl_test_client.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/vcl/vcl_test_client.c b/src/vcl/vcl_test_client.c
index 899d729c47d..c92f0cb754d 100644
--- a/src/vcl/vcl_test_client.c
+++ b/src/vcl/vcl_test_client.c
@@ -314,6 +314,7 @@ vtc_worker_sessions_exit (vcl_test_client_worker_t * wrk)
(void) vcl_test_write (tsock->fd, (uint8_t *) & tsock->cfg,
sizeof (tsock->cfg), &tsock->stats, verbose);
}
+ wrk->n_sessions = 0;
}
static void *
@@ -322,10 +323,10 @@ vtc_worker_loop (void *arg)
vcl_test_client_main_t *vcm = &vcl_client_main;
sock_test_socket_t *ctrl = &vcm->ctrl_socket;
vcl_test_client_worker_t *wrk = arg;
+ uint32_t n_active_sessions, n_bytes;
fd_set _wfdset, *wfdset = &_wfdset;
fd_set _rfdset, *rfdset = &_rfdset;
sock_test_socket_t *tsock;
- uint32_t n_active_sessions;
int i, rv, check_rx = 0;
rv = vtc_worker_init (wrk);
@@ -374,8 +375,11 @@ vtc_worker_loop (void *arg)
if (FD_ISSET (vppcom_session_index (tsock->fd), wfdset)
&& tsock->stats.tx_bytes < tsock->cfg.total_bytes)
{
+ n_bytes = tsock->cfg.txbuf_size;
+ if (tsock->cfg.test == SOCK_TEST_TYPE_ECHO)
+ n_bytes = strlen (ctrl->txbuf) + 1;
rv = vcl_test_write (tsock->fd, (uint8_t *) tsock->txbuf,
- tsock->cfg.txbuf_size, &tsock->stats,
+ n_bytes, &tsock->stats,
tsock->cfg.verbose);
if (rv < 0)
{
@@ -396,7 +400,8 @@ vtc_worker_loop (void *arg)
}
exit:
vtinf ("Worker %d done ...", wrk->wrk_index);
- vtc_accumulate_stats (wrk, ctrl);
+ if (tsock->cfg.test != SOCK_TEST_TYPE_ECHO)
+ vtc_accumulate_stats (wrk, ctrl);
sleep (1);
vtc_worker_sessions_exit (wrk);
if (wrk->wrk_index)
@@ -462,9 +467,11 @@ vtc_echo_client (vcl_test_client_main_t * vcm)
vtc_worker_loop (wrk);
- clock_gettime (CLOCK_REALTIME, &ctrl->stats.stop);
- vtc_accumulate_stats (wrk, ctrl);
- vtc_print_stats (ctrl);
+ /* Not relevant for echo test
+ clock_gettime (CLOCK_REALTIME, &ctrl->stats.stop);
+ vtc_accumulate_stats (wrk, ctrl);
+ vtc_print_stats (ctrl);
+ */
}
static void