#include <vlibapi/api.h>
#include <vlibmemory/api.h>
-#include <vlibsocket/api.h>
#include <vpp/app/version.h>
#define TCP_BUILTIN_CLIENT_DBG (0)
/* Crude pacing for call setups */
if ((i % 4) == 0)
vlib_process_suspend (vm, 10e-6);
+ ASSERT (i + 1 >= tm->ready_connections);
+ while (i + 1 - tm->ready_connections > 1000)
+ {
+ vlib_process_suspend (vm, 100e-6);
+ }
}
}
else if (unformat (input, "private-segment-count %d",
&tm->private_segment_count))
;
- else if (unformat (input, "private-segment-size %dm", &tmp))
- tm->private_segment_size = tmp << 20;
- else if (unformat (input, "private-segment-size %dg", &tmp))
- tm->private_segment_size = tmp << 30;
- else if (unformat (input, "private-segment-size %d", &tmp))
- tm->private_segment_size = tmp;
+ else if (unformat (input, "private-segment-size %U",
+ unformat_memory_size, &tmp))
+ {
+ if (tmp >= 0x100000000ULL)
+ return clib_error_return
+ (0, "private segment size %lld (%llu) too large", tmp, tmp);
+ tm->private_segment_size = tmp;
+ }
else if (unformat (input, "preallocate-fifos"))
tm->prealloc_fifos = 1;
else if (unformat (input, "preallocate-sessions"))
VLIB_CLI_COMMAND (test_clients_command, static) =
{
.path = "test tcp clients",
- .short_help = "test tcp clients [nclients %d]"
- "[iterations %d] [bytes %d] [uri tcp://6.0.1.1/1234]",
+ .short_help = "test tcp clients [nclients %d] [[m|g]bytes <bytes>] "
+ "[test-timeout <time>][syn-timeout <time>][no-return][fifo-size <size>]"
+ "[private-segment-count <count>][private-segment-size <bytes>[m|g]]"
+ "[preallocate-fifos][preallocate-sessions][client-batch <batch-size>]"
+ "[uri <tcp://ip/port>]",
.function = test_tcp_clients_command_fn,
.is_mp_safe = 1,
};