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>
This commit is contained in:

committed by
Daniel Borkmann

parent
a5a3a828cd
commit
435f90a338
19
tools/testing/selftests/bpf/test_tcpnotify.h
Normal file
19
tools/testing/selftests/bpf/test_tcpnotify.h
Normal file
@@ -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
|
Reference in New Issue
Block a user