diff options
author | Sowmini Varadhan <sowmini.varadhan@oracle.com> | 2018-11-07 16:12:02 -0800 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2018-11-09 09:40:17 +0100 |
commit | 435f90a338ae42c0d7c0109a1742d1b16bc99bf6 (patch) | |
tree | d9b8382a1b809c45809135400fdeda9d9fe51be9 /tools/testing/selftests/bpf/test_tcpnotify.h | |
parent | a5a3a828cd00788a78da686c57c6d1f66191d8af (diff) |
selftests/bpf: add a test case for sock_ops perf-event notification
This patch provides a tcp_bpf based eBPF sample. The test
- ncat(1) as the TCP client program to connect() to a port
with the intention of triggerring SYN retransmissions: we
first install an iptables DROP rule to make sure ncat SYNs are
resent (instead of aborting instantly after a TCP RST)
- has a bpf kernel module that sends a perf-event notification for
each TCP retransmit, and also tracks the number of such notifications
sent in the global_map
The test passes when the number of event notifications intercepted
in user-space matches the value in the global_map.
Signed-off-by: Sowmini Varadhan <sowmini.varadhan@oracle.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/testing/selftests/bpf/test_tcpnotify.h')
-rw-r--r-- | tools/testing/selftests/bpf/test_tcpnotify.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/test_tcpnotify.h b/tools/testing/selftests/bpf/test_tcpnotify.h new file mode 100644 index 000000000000..8b6cea030bfc --- /dev/null +++ b/tools/testing/selftests/bpf/test_tcpnotify.h @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: GPL-2.0 + +#ifndef _TEST_TCPBPF_H +#define _TEST_TCPBPF_H + +struct tcpnotify_globals { + __u32 total_retrans; + __u32 ncalls; +}; + +struct tcp_notifier { + __u8 type; + __u8 subtype; + __u8 source; + __u8 hash; +}; + +#define TESTPORT 12877 +#endif |