bpf: Selftests, print error in test_sockmap error cases
Its helpful to know the error value if an error occurs. Signed-off-by: John Fastabend <john.fastabend@gmail.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Reviewed-by: Jakub Sitnicki <jakub@cloudflare.com> Link: https://lore.kernel.org/bpf/158939724566.15176.12079885932643225626.stgit@john-Precision-5820-Tower
This commit is contained in:
parent
13a5f3ffd2
commit
248aba1d52
@ -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,
|
|||||||
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)
|
|||||||
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;
|
||||||
|
Loading…
Reference in New Issue
Block a user