Skip to content

Commit 23267a9

Browse files
LPhghintel-lab-lkp
authored andcommitted
selftests/bpf: extend BPF_SOCK_OPS_RTT_CB test for srtt and mrtt_us
Because srtt and mrtt_us are added as args in bpf_sock_ops at BPF_SOCK_OPS_RTT_CB, a simple check is added to make sure they are both non-zero. $ ./test_progs -t tcp_rtt torvalds#373 tcp_rtt:OK Summary: 1/0 PASSED, 0 SKIPPED, 0 FAILED Suggested-by: Stanislav Fomichev <sdf@google.com> Signed-off-by: Philo Lu <lulie@linux.alibaba.com>
1 parent c715aac commit 23267a9

File tree

2 files changed

+20
-0
lines changed

2 files changed

+20
-0
lines changed

tools/testing/selftests/bpf/prog_tests/tcp_rtt.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ struct tcp_rtt_storage {
1010
__u32 delivered;
1111
__u32 delivered_ce;
1212
__u32 icsk_retransmits;
13+
14+
__u32 mrtt_us; /* args[0] */
15+
__u32 srtt; /* args[1] */
1316
};
1417

1518
static void send_byte(int fd)
@@ -83,6 +86,17 @@ static int verify_sk(int map_fd, int client_fd, const char *msg, __u32 invoked,
8386
err++;
8487
}
8588

89+
/* Precise values of mrtt and srtt are unavailable, just make sure they are nonzero */
90+
if (val.mrtt_us == 0) {
91+
log_err("%s: unexpected bpf_tcp_sock.args[0] (mrtt_us) %u == 0", msg, val.mrtt_us);
92+
err++;
93+
}
94+
95+
if (val.srtt == 0) {
96+
log_err("%s: unexpected bpf_tcp_sock.args[1] (srtt) %u == 0", msg, val.srtt);
97+
err++;
98+
}
99+
86100
return err;
87101
}
88102

tools/testing/selftests/bpf/progs/tcp_rtt.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ struct tcp_rtt_storage {
1010
__u32 delivered;
1111
__u32 delivered_ce;
1212
__u32 icsk_retransmits;
13+
14+
__u32 mrtt_us; /* args[0] */
15+
__u32 srtt; /* args[1] */
1316
};
1417

1518
struct {
@@ -55,5 +58,8 @@ int _sockops(struct bpf_sock_ops *ctx)
5558
storage->delivered_ce = tcp_sk->delivered_ce;
5659
storage->icsk_retransmits = tcp_sk->icsk_retransmits;
5760

61+
storage->mrtt_us = ctx->args[0];
62+
storage->srtt = ctx->args[1];
63+
5864
return 1;
5965
}

0 commit comments

Comments
 (0)