Commit 248aba1d authored by John Fastabend's avatar John Fastabend Committed by Daniel Borkmann

bpf: Selftests, print error in test_sockmap error cases

Its helpful to know the error value if an error occurs.
Signed-off-by: default avatarJohn Fastabend <john.fastabend@gmail.com>
Signed-off-by: default avatarDaniel Borkmann <daniel@iogearbox.net>
Reviewed-by: default avatarJakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/158939724566.15176.12079885932643225626.stgit@john-Precision-5820-Tower
parent 13a5f3ff
...@@ -341,14 +341,18 @@ static int msg_loop_sendpage(int fd, int iov_length, int cnt, ...@@ -341,14 +341,18 @@ static int msg_loop_sendpage(int fd, int iov_length, int cnt,
clock_gettime(CLOCK_MONOTONIC, &s->start); clock_gettime(CLOCK_MONOTONIC, &s->start);
for (i = 0; i < cnt; i++) { for (i = 0; i < cnt; i++) {
int sent = sendfile(fd, fp, NULL, iov_length); int sent;
errno = 0;
sent = sendfile(fd, fp, NULL, iov_length);
if (!drop && sent < 0) { if (!drop && sent < 0) {
perror("send loop error"); perror("sendpage loop error");
fclose(file); fclose(file);
return sent; return sent;
} else if (drop && sent >= 0) { } else if (drop && sent >= 0) {
printf("sendpage loop error expected: %i\n", sent); printf("sendpage loop error expected: %i errno %i\n",
sent, errno);
fclose(file); fclose(file);
return -EIO; return -EIO;
} }
...@@ -460,13 +464,18 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt, ...@@ -460,13 +464,18 @@ static int msg_loop(int fd, int iov_count, int iov_length, int cnt,
if (tx) { if (tx) {
clock_gettime(CLOCK_MONOTONIC, &s->start); clock_gettime(CLOCK_MONOTONIC, &s->start);
for (i = 0; i < cnt; i++) { for (i = 0; i < cnt; i++) {
int sent = sendmsg(fd, &msg, flags); int sent;
errno = 0;
sent = sendmsg(fd, &msg, flags);
if (!drop && sent < 0) { if (!drop && sent < 0) {
perror("send loop error"); perror("sendmsg loop error");
goto out_errno; goto out_errno;
} else if (drop && sent >= 0) { } else if (drop && sent >= 0) {
printf("send loop error expected: %i\n", sent); fprintf(stderr,
"sendmsg loop error expected: %i errno %i\n",
sent, errno);
errno = -EIO; errno = -EIO;
goto out_errno; goto out_errno;
} }
...@@ -690,14 +699,14 @@ static int sendmsg_test(struct sockmap_options *opt) ...@@ -690,14 +699,14 @@ static int sendmsg_test(struct sockmap_options *opt)
if (WIFEXITED(rx_status)) { if (WIFEXITED(rx_status)) {
err = WEXITSTATUS(rx_status); err = WEXITSTATUS(rx_status);
if (err) { if (err) {
fprintf(stderr, "rx thread exited with err %d. ", err); fprintf(stderr, "rx thread exited with err %d.\n", err);
goto out; goto out;
} }
} }
if (WIFEXITED(tx_status)) { if (WIFEXITED(tx_status)) {
err = WEXITSTATUS(tx_status); err = WEXITSTATUS(tx_status);
if (err) if (err)
fprintf(stderr, "tx thread exited with err %d. ", err); fprintf(stderr, "tx thread exited with err %d.\n", err);
} }
out: out:
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment