Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
misc: strcpy be gone
[vpp.git]
/
src
/
plugins
/
hs_apps
/
vcl
/
vcl_test_client.c
diff --git
a/src/plugins/hs_apps/vcl/vcl_test_client.c
b/src/plugins/hs_apps/vcl/vcl_test_client.c
index
b9bdd6e
..
236cbff
100644
(file)
--- a/
src/plugins/hs_apps/vcl/vcl_test_client.c
+++ b/
src/plugins/hs_apps/vcl/vcl_test_client.c
@@
-123,7
+123,7
@@
vtc_quic_connect_test_sessions (vcl_test_client_worker_t * wrk)
{
vcl_test_client_main_t *vcm = &vcl_client_main;
vcl_test_session_t *ts, *tq;
{
vcl_test_client_main_t *vcm = &vcl_client_main;
vcl_test_session_t *ts, *tq;
- uint32_t i;
+ uint32_t i
, flags, flen
;
int rv;
if (wrk->cfg.num_test_sessions < 1 || wrk->cfg.num_test_sessions_perq < 1)
int rv;
if (wrk->cfg.num_test_sessions < 1 || wrk->cfg.num_test_sessions_perq < 1)
@@
-155,7
+155,7
@@
vtc_quic_connect_test_sessions (vcl_test_client_worker_t * wrk)
for (i = 0; i < wrk->cfg.num_test_qsessions; i++)
{
tq = &wrk->qsessions[i];
for (i = 0; i < wrk->cfg.num_test_qsessions; i++)
{
tq = &wrk->qsessions[i];
- tq->fd = vppcom_session_create (vcm->proto,
1
/* is_nonblocking */ );
+ tq->fd = vppcom_session_create (vcm->proto,
0
/* is_nonblocking */ );
tq->session_index = i;
if (tq->fd < 0)
{
tq->session_index = i;
if (tq->fd < 0)
{
@@
-163,12
+163,16
@@
vtc_quic_connect_test_sessions (vcl_test_client_worker_t * wrk)
return tq->fd;
}
return tq->fd;
}
+ /* Connect is blocking */
rv = vppcom_session_connect (tq->fd, &vcm->server_endpt);
if (rv < 0)
{
vterr ("vppcom_session_connect()", rv);
return rv;
}
rv = vppcom_session_connect (tq->fd, &vcm->server_endpt);
if (rv < 0)
{
vterr ("vppcom_session_connect()", rv);
return rv;
}
+ flags = O_NONBLOCK;
+ flen = sizeof (flags);
+ vppcom_session_attr (tq->fd, VPPCOM_ATTR_SET_FLAGS, &flags, &flen);
vtinf ("Test Qsession %d (fd %d) connected.", i, tq->fd);
}
wrk->n_qsessions = wrk->cfg.num_test_qsessions;
vtinf ("Test Qsession %d (fd %d) connected.", i, tq->fd);
}
wrk->n_qsessions = wrk->cfg.num_test_qsessions;
@@
-223,6
+227,7
@@
vtc_connect_test_sessions (vcl_test_client_worker_t * wrk)
vcl_test_client_main_t *vcm = &vcl_client_main;
vcl_test_session_t *ts;
uint32_t n_test_sessions;
vcl_test_client_main_t *vcm = &vcl_client_main;
vcl_test_session_t *ts;
uint32_t n_test_sessions;
+ uint32_t flags, flen;
int i, rv;
if (vcm->proto == VPPCOM_PROTO_QUIC)
int i, rv;
if (vcm->proto == VPPCOM_PROTO_QUIC)
@@
-253,19
+258,23
@@
vtc_connect_test_sessions (vcl_test_client_worker_t * wrk)
for (i = 0; i < n_test_sessions; i++)
{
ts = &wrk->sessions[i];
for (i = 0; i < n_test_sessions; i++)
{
ts = &wrk->sessions[i];
- ts->fd = vppcom_session_create (vcm->proto,
1
/* is_nonblocking */ );
+ ts->fd = vppcom_session_create (vcm->proto,
0
/* is_nonblocking */ );
if (ts->fd < 0)
{
vterr ("vppcom_session_create()", ts->fd);
return ts->fd;
}
if (ts->fd < 0)
{
vterr ("vppcom_session_create()", ts->fd);
return ts->fd;
}
+ /* Connect is blocking */
rv = vppcom_session_connect (ts->fd, &vcm->server_endpt);
if (rv < 0)
{
vterr ("vppcom_session_connect()", rv);
return rv;
}
rv = vppcom_session_connect (ts->fd, &vcm->server_endpt);
if (rv < 0)
{
vterr ("vppcom_session_connect()", rv);
return rv;
}
+ flags = O_NONBLOCK;
+ flen = sizeof (flags);
+ vppcom_session_attr (ts->fd, VPPCOM_ATTR_SET_FLAGS, &flags, &flen);
vtinf ("Test session %d (fd %d) connected.", i, ts->fd);
}
wrk->n_sessions = n_test_sessions;
vtinf ("Test session %d (fd %d) connected.", i, ts->fd);
}
wrk->n_sessions = n_test_sessions;
@@
-385,7
+394,7
@@
vtc_accumulate_stats (vcl_test_client_worker_t * wrk,
if (ctrl->cfg.verbose > 1)
{
if (ctrl->cfg.verbose > 1)
{
- s
printf (buf
, "CLIENT (fd %d) RESULTS", ts->fd);
+ s
nprintf (buf, sizeof (buf)
, "CLIENT (fd %d) RESULTS", ts->fd);
vcl_test_stats_dump (buf, &ts->stats, show_rx, 1 /* show tx */ ,
ctrl->cfg.verbose);
}
vcl_test_stats_dump (buf, &ts->stats, show_rx, 1 /* show tx */ ,
ctrl->cfg.verbose);
}
@@
-544,10
+553,10
@@
vtc_print_stats (vcl_test_session_t * ctrl)
}
if (is_echo)
}
if (is_echo)
- s
printf (buf
, "Echo");
+ s
nprintf (buf, sizeof (buf)
, "Echo");
else
else
- s
printf (buf
, "%s-directional Stream",
- ctrl->cfg.test == VCL_TEST_TYPE_BI ? "Bi" : "Uni");
+ s
nprintf (buf, sizeof (buf)
, "%s-directional Stream",
+
ctrl->cfg.test == VCL_TEST_TYPE_BI ? "Bi" : "Uni");
}
static void
}
static void
@@
-903,7
+912,7
@@
vtc_process_opts (vcl_test_client_main_t * vcm, int argc, char **argv)
optopt, ctrl->txbuf_size);
print_usage_and_exit ();
}
optopt, ctrl->txbuf_size);
print_usage_and_exit ();
}
- str
cpy (ctrl->txbuf, optarg
);
+ str
ncpy (ctrl->txbuf, optarg, ctrl->txbuf_size
);
ctrl->cfg.test = VCL_TEST_TYPE_ECHO;
break;
ctrl->cfg.test = VCL_TEST_TYPE_ECHO;
break;