2019-12-13 18:51:11 +01:00
|
|
|
// SPDX-License-Identifier: GPL-2.0
|
|
|
|
#include <test_progs.h>
|
|
|
|
|
|
|
|
void test_xdp_perf(void)
|
|
|
|
{
|
2022-09-01 22:22:53 +00:00
|
|
|
const char *file = "./xdp_dummy.bpf.o";
|
2019-12-13 18:51:11 +01:00
|
|
|
struct bpf_object *obj;
|
|
|
|
char in[128], out[128];
|
|
|
|
int err, prog_fd;
|
2022-02-02 15:54:20 -08:00
|
|
|
LIBBPF_OPTS(bpf_test_run_opts, topts,
|
|
|
|
.data_in = in,
|
|
|
|
.data_size_in = sizeof(in),
|
|
|
|
.data_out = out,
|
|
|
|
.data_size_out = sizeof(out),
|
|
|
|
.repeat = 1000000,
|
|
|
|
);
|
2019-12-13 18:51:11 +01:00
|
|
|
|
2021-11-03 15:08:44 -07:00
|
|
|
err = bpf_prog_test_load(file, BPF_PROG_TYPE_XDP, &obj, &prog_fd);
|
2019-12-13 18:51:11 +01:00
|
|
|
if (CHECK_FAIL(err))
|
|
|
|
return;
|
|
|
|
|
2022-02-02 15:54:20 -08:00
|
|
|
err = bpf_prog_test_run_opts(prog_fd, &topts);
|
|
|
|
ASSERT_OK(err, "test_run");
|
|
|
|
ASSERT_EQ(topts.retval, XDP_PASS, "test_run retval");
|
|
|
|
ASSERT_EQ(topts.data_size_out, 128, "test_run data_size_out");
|
2019-12-13 18:51:11 +01:00
|
|
|
|
|
|
|
bpf_object__close(obj);
|
|
|
|
}
|